Product
What Elvet does with a document.
Every version is kept whole, read as structure rather than as a page of text, and reduced to facts that each point back at the words they came from. This runs once per document, in this order.
- 01
Documents arrive and are frozen
A document is an identity plus a chain of versions plus an append-only log of what was done to it. Every version keeps its original bytes. Nothing overwrites; a new draft is a new version, and the log says who circulated it and when.
- 02
The text is read as structure
Each version is parsed into its actual shape — clauses, sub-clauses, schedules, signature blocks — not a flat page of text. Every word keeps its position on the page, which is what lets a fact point back at the words later.
- 03
Facts are extracted with their span
Parties, dates, governing law, signatories and obligations are extracted from that structure, each stored with the character range it came from. The model classifies and locates; what the system returns is the document's own words.
- 04
The graph re-derives
Facts become nodes and edges: this party signed that agreement, this amendment amends that clause, this document references that one. The graph is a fold of the logs — drop it, replay them, and it rebuilds identically.
- 05
You search it, or ask it
Search by meaning across every clause in a matter, or filter by extracted fact and combine the filters. Results are documents with the clauses that matched. The in-app agent operates the same routes you click, and asks before it changes anything.
Where it cannot tell, it asks.
Two names that might be one party. A reference to an agreement that is not in the room. Rather than picking the likelier reading, Elvet suspends that decision and puts it to a person — and records the answer, so the same question is never asked twice.