First-pass contract review is slow and easy to rush
Reviewing third-party paper means reading every page to find the clauses that matter, checking them against standards held in someone's head, and hoping nothing was missed under deadline pressure.
This solution does the first pass in minutes: it extracts key terms, checks them against your playbook, and hands the lawyer a prioritised list of risks and suggested redlines to accept or reject.
Ingest → extract clauses → check playbook → flag & redline
- ✓ Clause extraction
- ✓ Playbook deviation checks
- ✓ Risk scoring & ranking
- ✓ Suggested redlines
- ✓ Missing-clause detection
- ✓ Obligation & date extraction
- ✓ Claude over contract text
- ✓ Your playbook as knowledge base
- ✓ DMS / CLM integration
- ✓ Redline generation
- ✓ Reviewer approval workflow
- ✓ Not legal advice — assistive
- ✓ Every flag cites the clause
- ✓ Lawyer accepts/rejects each
- ✓ Confidence surfaced, not hidden
- ✓ Full review audit trail
Playbook-grounded risk flagging
Each extracted clause is compared to your playbook position; the model must cite the exact contract text for any risk it raises.
from anthropic import Anthropic from playbook import position_for client = Anthropic() def assess(clause: dict) -> dict: want = position_for(clause["type"]) # your standard position prompt = f"""Compare clause to our position. Clause text: {clause['text']} Our playbook position: {want} Return JSON: {{"risk": "low|med|high", "why": str, "cite": str, "redline": str}}. The "cite" MUST be a verbatim span from the clause.""" msg = client.messages.create(model="claude-sonnet-4-20250514", max_tokens=700, temperature=0, messages=[{"role": "user", "content": prompt}]) out = parse_json(msg.content[0].text) assert out["cite"] in clause["text"] # grounded, not invented return out
Give reviewers a running start
Complements Document Drafting and Legal Research in one workflow.