← Contract review, done honestly

Insight · Traceability

The extracted number you can't trace is a liability, not a feature.

An AI that reports a $2M liability cap without showing the clause has not saved your team a review. It has added an item to one.

Your new AI tool reads a 40-page MSA in eleven seconds and reports: liability cap, $2M. Then someone on your team asks the only question that matters. Where does it say that?

Which clause? Aggregate or per claim? Before or after the carve-outs in the indemnity section? Is it even $2M, or did the model fuse a figure from one clause with a term from another? The tool does not say. It offers the number with the same even confidence it offers everything.

A number a lawyer cannot trace to a clause is a number a lawyer cannot sign. So the MSA gets re-read the old way, page by page, and the eleven seconds become a rounding error on the hour that follows. The extraction did not shorten the review. It added a step to it.

The same fieldThe black boxTraced extraction
The value$2M$2,000,000
The sourceunknown§7.2 · p.4, clause quoted and highlighted
When the term isn't in the contractproduces something plausible anywaysays N/A, routes to a person
How it was generatedtuned for fluency (temperature 1)tuned for determinism (temperature 0)
Confidenceuniform, implied, unearnedcalibrated band per field; low goes to review
What sign-off takesre-read all 40 pagesread one highlighted clause
One liability cap, delivered two ways. Only one can be signed off.

Everything in the right column is checkable in seconds. That is not polish. It is the difference between an answer and an opinion.

Trust is the gate. Everything else passes through it.

Extraction is never the end of the line. The cap feeds a risk flag. The renewal date feeds the calendar that decides whether you renegotiate or sleepwalk into another year. The parties, terms, and dollar figures land in the CRM, where sales and finance treat them as facts. If the number at the top of that chain is unverifiable, nothing downstream of it is verifiable either. You have not automated contract review. You have automated the distribution of a guess.

Doubt is inherited: a single untraceable value taints every record and decision downstream of it.

And traceability is only one of a handful of failure modes that stall legal AI projects. They compound. A system that cannot cite its sources is usually also a system that never admits what it does not know, and one that has no idea which fifth of its output a person should check. And when a vendor quotes "95% accurate," the question worth asking is whether that was measured on values alone or on values with correct citations. The second number is always lower, and it is the one that matters.

What traceable extraction actually looks like

Done right, every extracted field arrives with four things, and all four are visible in the record itself:

01

A location

Section and page: §7.2, page 4. Not “the liability section.” A citation you can put a finger on.

02

The exact quote

The clause itself, highlighted in the document, so checking a field is reading, not searching.

03

A calibrated confidence

High means the system earned trust on this field. Low means it is asking for your eyes before you find out the hard way.

04

An honest empty state

N/A when the term is not in the contract. Never a plausible guess dressed up as a finding.

FieldValueWhereConfidence
Liability cap$2,000,000§7.2 · p.4high ▮▮▮
Governing lawDelaware§11.4 · p.9high ▮▮▮
Non-renewal notice period60 days§3.2 · p.2medium ▮▮▯
Data breach notice windowN/A·not stated

Source for: Liability cap

Page 4

7.2 Limitation of Liability. Except as set out in Section 7.3 (Exclusions), each party’s total aggregate liability arising out of or relating to this Agreement shall not exceed $2,000,000. Nothing in this Section 7.2 limits either party’s liability for fraud or willful misconduct.

Verification takes one read. And the clause arrives with its neighbors: the §7.3 carve-out reference is visible in the same breath, which is exactly the context a bare “$2M” hides.

A working fragment of the extraction record. Click a field. The full version, 30 fields on 20 contracts, runs in the demonstration.

Want to see this run on a real contract? See this in the demo →

Why your current tool doesn't do this

A language model is not a search engine over your document. It generates plausible text. When you ask it for a section number, "§7.2" is just more text to generate, and it will produce a wrong-but-plausible citation with exactly the same fluency as a correct one. It is the same failure mode that has gotten lawyers sanctioned over briefs citing cases that do not exist, on a smaller stage.

So citations cannot be requested from the model. They have to be engineered around it. The extraction runs deterministically: temperature zero, because the job calls for a clerk, not a creative writer. The prompt requires the exact quote alongside every value. Then the step that does the real work: a mechanical check confirms the quoted span actually appears in the document, character for character, on the page the model claims. If it does not, the field fails closed. N/A, routed to review, never a guess.

That last check changes the trust model entirely. You are no longer trusting a model's answer. You are verifying the document's own words, and that takes seconds. A system that cites is worth more than a system that is merely fluent, because it turns review from re-reading into spot-checking. Thirty fields at a few seconds each, instead of forty pages again.

What this still does not solve

A real citation can still point at the wrong clause. One of the synthetic contracts in the demonstration states the same term twice with different values, deliberately. A traceable system does not make that mistake impossible. It makes it visible: the conflict surfaces as low confidence and lands in front of a person. The honest version of this technology is not "no errors." It is "no silent errors."

The proof

Click the field. Watch the clause light up.

Step 4 of the working demonstration runs everything above on synthetic contracts: 30 fields per contract, each with section, page, quote, and confidence, and N/A where a term genuinely is not there. Click any field and the source clause highlights in the document beside it.

Twenty synthetic contracts, no sign-up, and the accuracy numbers are published, gaps included.

Prefer to talk first? Book a 20-minute fit call.