Appearance
Running AI Analysis
Analysis is where the pile of PDFs turns into a matrix. You click Analyze, the AI reads the contract, and structured values start landing in the cells. This page walks through what happens under the hood, the controls you have, and the signals to pay attention to once values come back.
How Analysis Works (Short Version)
Contract Analyzer runs a two-pass extraction on every contract.
Pass 1 — structure. The AI reads the whole document and pulls the high-level shape: document type, parties, a section map, and any parent-contract references. Think of it as the AI reading the table of contents and the first page of every section.
Pass 2 — extraction. For each active field in your template, a focused prompt runs against the relevant section from Pass 1. Targeted prompts against the right section beat "find everything at once" on long contracts — accuracy goes up, hallucinations go down.
Every extracted value comes back with four things attached:
- The value itself (short — this is what lands in the matrix cell)
- A confidence score, 0 to 1
- The source page it was found on
- The source text — the verbatim excerpt from the contract
All four are visible in the term drawer. The matrix shows just the value.
The Analyze Button — Three States
The button changes its label based on what's actually possible in the current project state.
- Analyze — runs analysis on a single contract. You'll see this on the Documents list and on the Contract page.
- Analyze All — batch-queues every contract in the project that hasn't been analyzed yet. Skips anything already complete.
- Re-Analyze All — force-queues every contract, including already-complete ones. Use this after changing a template's field instructions or activating a previously-inactive field.
Model Selection
Next to the Analyze button, a dropdown lets you pick which model runs the extraction. Default is Claude Sonnet 4.5. The full list:
- Claude Sonnet 4.5 (default) — best quality for most contracts; reasonable cost.
- Claude Haiku 4.5 — fast and cheap; use for simple or short contracts.
- Gemini 2.5 Pro — Google's highest-quality option; sometimes better on unusual clause structures.
- Gemini 2.5 Flash — cheap, fast, solid quality on typical contracts.
- Gemini 2.0 Flash, Gemini 1.5 Pro, Gemini 1.5 Flash — older-generation Google models; still available if you're comparing providers or running on a tighter budget.
Same extraction schema across all providers — switching models doesn't change what the matrix columns are, only how they get filled in.
Sync vs Async (Transparent to You)
The size of the file decides how it runs, and you don't have to care either way.
- Under 1 MB — analysis runs inline. A progress indicator shows on the contract while it works.
- 1 MB or larger — the job queues to a background worker. You'll get an email when it finishes, and the app updates in-place if you're still on the page.
Same extraction pipeline, same output format. The only thing that changes is where it runs.
Confidence Scores and the 0.7 Threshold
Every extracted value gets a confidence score from 0 to 1. The matrix flags any cell under 0.7 amber. That's your review queue.
Amber doesn't mean wrong — it means the AI wasn't sure. A lot of amber cells resolve to "yes, that's right" when you check the source text. Some resolve to a quick override. Either way, amber is where you spend your review time.
Above 0.7 cells are worth spot-checking, but they don't need line-by-line review.
When the AI Can't Find a Term
If the AI can't locate a field in the contract, it returns not_found rather than guessing. The matrix renders these cells as —.
This is intentional. A field that's genuinely absent from the contract is information — "Silent on assignment" is often the answer you need. The AI refusing to invent a value means the — is trustworthy.
WARNING
Re-Analyze All costs real money. It re-runs every contract in the project with the current model and template — every page, every field, every call. Use it deliberately, after a template change or a meaningful field toggle, not every time you're curious whether the numbers might shift.
Auto-Classification on Upload
You don't pick a document type yourself when you upload. Pass 1 runs automatically at upload time to classify the file against the template's document types (MSA, SOW, NDA, Lease, whatever your template defines). The classification appears as an editable badge on the contract — correct it there if the AI got it wrong.
→ For more detail on the upload flow, see Uploading Contracts.
→ For more detail, see The Analysis Matrix. → For more detail, see Templates & Fields. → For more detail, see Exporting Results.