Skip to content

Legal

Contract review

A contract-review assistant that flags the clauses deviating from the firm's standards and links each flag to the exact clause text — so a lawyer reviews by exception, not line by line.

  • LlamaIndex
  • pgvector
  • OpenAI
  • Go
-70%

first-pass review time

clauses linked to source

100%

In short

  • Reviewers see the deviating clauses first, not every clause.
  • Every flag links to the exact clause text and the standard it breaks.
  • The firm's playbook is the source of truth — the model checks against it, it doesn't invent rules.

The engagement

Sector
Legal services
Company shape
Mid-size firm, high contract throughput
Engagement
Review assistant + playbook encoding, ~12 weeks

Anonymised by policy

Every engagement runs under NDA — we protect our clients' confidentiality as a matter of policy, and we'd extend the same discretion to your work. The constraints, the shape, and the outcome here are real; the identity is redacted.

The challenge

Associates opened each contract and read it end to end to find the handful of clauses that mattered — non-standard indemnities, missing limitations, off-market terms. The valuable work was the exceptions, but the time went to re-reading boilerplate.

A generic summariser was worse than nothing: a plausible summary that misses a buried carve-out is a liability. Any tool had to check against the firm's actual standards and point to the exact text, not paraphrase.

The approach

  1. 1
    Encode the playbook

    The firm's clause standards and fallback positions were encoded as the checklist the assistant reviews against — the rules are the firm's, not the model's.

  2. 2
    Retrieve, then compare

    Each clause is matched to its standard via retrieval and compared, so a deviation is grounded in the firm's playbook rather than a guess.

  3. 3
    Flag by exception, cite the text

    The assistant surfaces only clauses that deviate, each linked to the exact contract text and the standard it breaks.

  4. 4
    The lawyer decides

    Every flag is a prompt for review, never an edit — the assistant narrows attention, the lawyer makes the call.

The solution

The assistant parses a contract into clauses, retrieves the matching firm standard for each, and flags the ones that deviate — non-standard, missing, or off-market — with a link to the exact text and the standard it breaks. The lawyer reviews the exceptions instead of the whole document.

Because it checks against the firm's encoded playbook and cites the source clause, a flag is verifiable in a click, and the boilerplate that used to eat the review time is handled by exception.

The system we built

  1. Parsecontract → clauses
  2. Retrieve standardfirm playbook, pgvector
  3. Compareclause vs. standard
  4. Flag + citedeviations only
  5. Lawyer reviewby exception
Abstract by design — the architecture we built, not a client screen. No confidential data is shown.
Illustrative
A flagged clause linked to the exact text and the standard it breaks
Illustrative
How a clause is matched to its firm standard and compared

The results

first-pass review time

-70%

vs. full manual read-through

clauses linked to source

100%

every flag cites the exact text

silent edits

0

the assistant flags, the lawyer decides

Data & safety

Guardrails
The assistant flags for review and never edits a contract; the firm's playbook is the only rule source.
Traceability
Every flag links to the exact clause text and the standard it breaks.
Data handling
Contracts stay within the firm's environment; no document data leaves their systems.

The stack

  • LlamaIndex
  • pgvector
  • OpenAI
  • Go
Capability: RAG & Knowledge Systems

Questions we get

No — it narrows attention to the deviating clauses and cites the source; the lawyer makes every call. It never edits a contract.

The firm's own encoded playbook of clause standards and fallbacks — the model checks against those rules, it doesn't invent them.

Yes — every flag links to the exact clause text and the standard it breaks, so it's checkable in a click.

More selected work

// Let's build

Want an outcome like this on your problem?

Tell us where you are. We reply within a day with a concrete next step.