Skip to main content
AI / LLM

Contract review AI when the stakes are legal

Finding the indemnity clause is solved. Telling you that a document has no indemnity clause is the hard part, and it is the part that matters.

Practitioner Note Drawn from open engineering practice and published literature. No client data, proposal content, or program-office discussion appears here.

Clause extraction demos well because retrieval is a solved problem when the thing exists. Point a competent system at a hundred agreements and it will find the limitation of liability in ninety-eight of them. The interesting question is what it says about the other two.

The asymmetry nobody prices in

A missed clause and a hallucinated clause are both errors, but they fail in opposite directions and the second is far more dangerous. A missed clause gets caught when someone looks. A confidently reported clause that is not in the document gets relied on.

Worse, absence is the finding that actually drives decisions. Counsel does not need to be told the agreement has a governing law provision. They need to know the one document in the stack that does not.

Retrieval systems are built to return something. Absence is the one answer they are structurally reluctant to give.

Why absence is genuinely hard

To say a clause is not present, a system has to establish that it searched the whole document, that it understood the clause in every form it might take, and that what it found nearby is not a variant. Any of those failing produces a false negative, and false negatives in this workflow are silent.

Documents make it harder. Provisions get incorporated by reference to a master agreement. Definitions live in a schedule. An amendment three files away replaces the clause. A system reasoning over one PDF will report absence correctly for that PDF and incorrectly for the deal.

What a trustworthy negative finding requires

  • Complete coverage accounting — which sections were examined, so gaps are visible
  • Resolution of incorporated documents, or an explicit statement that they were not available
  • Reporting of near-misses, so counsel sees the provision the system decided was not the one
  • A distinction between "not present," "present but non-standard," and "could not determine"
  • Evaluation on a set that deliberately includes documents where the clause is genuinely absent

That last item is where most evaluations fail. Test sets are built from documents that have the clauses, because those are easy to label. A tool measured only on positives has no measured performance on the finding that matters most.

Difficulty by the question actually being asked

Is this clause absent?
92%
Which amendment governs?
85%
What is incorporated by reference?
80%
Extracting the obligation, not the clause
66%
Is this provision non-standard?
52%
Is this clause present?
20%

Relative weighting from delivery practice, not a measured statistic — shown to rank where attention belongs.

Obligations are the second-order problem

Extraction gets you clauses. What organizations actually want is obligations: what must be done, by whom, triggered by what, by when. That is a transformation from language into a structure with dates and parties, and it is where generated content quietly enters.

The discipline is the same as elsewhere. Every obligation record carries the span it came from. A notice period of thirty days is either the number in the text or it is a fabrication, and the reviewer must be one click from the sentence.

How to evaluate a tool in an afternoon

Take ten agreements. Remove a clause from three of them, cleanly. Add an amendment that supersedes a clause in one. Then run the tool and check three things: did it find the removals, did it honor the amendment, and did it ever report something that is not in the text.

This takes a few hours and is more informative than any benchmark, because it tests the failure modes that cost money rather than the retrieval that every product does well.

Building a test set that measures absence

The standard evaluation set for clause extraction is assembled by taking agreements, labeling the clauses present, and measuring recall. This measures the easy direction and leaves the important one unmeasured.

A set that measures absence has to be constructed rather than collected, because documents genuinely missing a clause are rarer than documents that have it and harder to find by search.

  • Surgical removals. Take real agreements and cleanly excise a clause, preserving numbering and cross-references so the removal is not detectable by formatting artifacts
  • Genuine absences. Short-form agreements, letter agreements, and purchase orders that legitimately never contained the provision
  • Near-misses. Documents where a related-but-different clause sits where the target would be — a limitation of remedies where a limitation of liability is expected
  • Displaced provisions. The clause exists but lives in an exhibit, a schedule, or an incorporated master agreement
  • Superseded provisions. The clause is present in the base agreement and struck by a later amendment in the same file set

The last two categories are where commercial tools most often fail, and they are also the most common real-world configurations. A tool that scores well on the first three and poorly on the last two will look excellent in evaluation and disappoint in the deal room.

Document set assembly is the unglamorous prerequisite

Most contract review products take a document as input. Most legal questions take a deal as input, and a deal is a base agreement plus amendments plus schedules plus a master agreement plus, frequently, a side letter that changes something material.

Answering "what is the notice period" correctly requires knowing which documents are in scope, in what order they modify each other, and which provisions survive. That is a file assembly and precedence problem that sits entirely outside the model.

Assembly questionConsequence if unhandled
Which documents constitute this agreement?Analysis of a partial file, reported with full confidence
What is the amendment order?A superseded provision reported as operative
What is incorporated by reference?A clause reported absent because it lives in an unavailable master
Which version is executed?Analysis of a draft presented as the signed terms
What is missing from the file?Silence where the honest output is a stated gap

A tool that reports its assembly assumptions — these five documents, in this order, with this master unavailable — is more useful than a more accurate extractor that reports none of them, because the assumptions are where the error usually is.

From clauses to obligations

Extraction produces clauses. What legal and commercial teams actually operate on is obligations: a party, an action, a trigger, a deadline, and a consequence for missing it. Converting one into the other is a structuring problem and it is where generated content most easily enters.

The discipline is the same as elsewhere. Each obligation record carries the span it was derived from. The deadline is either a number in the text or a computation from a stated trigger, and if it is a computation the computation is shown. An obligation whose trigger is defined in a document not in the file set is recorded as unresolved rather than assumed.

Where this pays off is renewal and notice tracking, which is where most avoidable contract losses occur. An organization that can query every agreement expiring in ninety days, with the notice period and the required method, has converted a document archive into an operational asset. That capability is worth more than clause search and is rarely what gets purchased.

Where playbooks fit and where they mislead

Many tools support a playbook: a set of standard positions and acceptable fallbacks, against which incoming drafts are marked up. Used well this is genuinely valuable and removes a large amount of repetitive first-pass work.

Two cautions. First, a deviation flag is only as good as the standard it compares against, and standards drift — a playbook written two years ago will flag positions the organization now accepts routinely. The playbook needs an owner and a review cadence or it becomes noise that reviewers learn to dismiss.

Second, a clean playbook pass is not an approval. The provisions that cause disputes are frequently the ones the playbook does not contemplate, because playbooks are built from past negotiations and novel risk is by definition not in them. A tool that reports "no deviations" has said something narrower than it appears to say, and the interface should make that narrowness visible.

The afternoon evaluation, expanded

The short version given earlier is worth running as a matter of course. The fuller version takes a day and settles the question.

Assemble twenty agreements from your own portfolio. Remove a clause cleanly from four. Add a superseding amendment to two. Place one clause in a schedule rather than the body. Include one deal whose master agreement you deliberately withhold. Then run the tool and score four things: recall on the clauses present, correct absence reporting on the four removals, correct precedence on the two amendments, and — most important — whether it ever asserted a provision that is not in the text.

The fourth number should be zero. Any nonzero value there is not a tuning issue, it is a statement about the architecture, and it tells you where the tool can and cannot be relied on.

Where the value shows up first

Legal teams evaluating these tools usually start with the highest-stakes use case, which is also the one with the least tolerance for error and the longest approval path. That sequencing is understandable and it delays every benefit.

The uses that pay off soonest are the ones where a miss is recoverable and the volume is high: building a searchable obligation register across an existing contract archive, identifying agreements expiring inside a notice window, flagging deviations against a playbook on inbound drafts, and locating every agreement containing a particular provision when a regulation or a dispute makes that suddenly urgent.

None of those replace review. All of them replace searching, which is where a substantial share of legal-operations hours actually go and which no one is defending as skilled work.

Jurisdiction and language complicate the picture

A contract portfolio that spans jurisdictions carries provisions whose meaning depends on governing law, and a clause classifier trained predominantly on one legal tradition will mislabel functionally equivalent provisions from another.

Translation makes it worse rather than better. A translated clause loses the terms of art that carried its legal effect, and analysis performed on the translation produces findings about a document that does not exist. Where multi-language portfolios are in scope, extraction should run on the original with the span preserved in the original, and translation offered as a reading aid rather than as the analysis substrate.

The obligation register is the durable asset

FieldWhy it earns its place
Obligated partyDistinguishes what we owe from what we are owed
TriggerDate-based, event-based, or notice-based — each schedules differently
Deadline and computationThe number, or the arithmetic that produced it, shown
Method requirementNotice provisions frequently fail on delivery method, not timing
ConsequenceAuto-renewal, termination right, penalty — sets the priority
Source spanOne click to the clause; without it nothing above is verifiable

Organizations that build this find the register outlives whatever tool created it, which argues for owning the schema and the export rather than accepting a vendor's internal representation. A register you cannot take with you is a register you are renting.

Frequently asked questions

Are longer context windows solving this?

They help with the single-document case and do nothing for incorporation by reference across a deal file. The problem is document-set assembly, not window size.

Should the model be allowed to say a clause is non-standard?

Yes, provided it also shows the standard it compared against. A non-standard flag without a named baseline is an opinion presented as a finding.

1 business day response

Working on something like this?

We build systems where every figure is executed against the real record, every sentence carries the source it came from, and the system says so when the data does not support an answer.

Start a conversationCapabilitiesRead more insights →
UEI Y2JVCZXT9HP5CAGE 1AYQ0NAICS 541512SAM.GOV ACTIVE