Last month a friend signed a 12-month SaaS contract without reading clause 14. It auto-renewed for another year and the early-termination fee was three months of subscription. She is not careless; the clause was just 40 words buried on page 6 of a 9-page agreement.
That is the problem ClauseGuard attacks: the clauses that cost ordinary people the most money are the ones written to be skimmed past.
What ClauseGuard does
ClauseGuard is an offline, zero-dependency contract risk analyzer written in pure Python standard library. You paste contract text in; it flags high-risk clauses, explains each one in plain language, and produces a risk score:
$ python -m clauseguard.cli examples/sample_contract.txt
[HIGH ] Auto-Renewal Trap — contract renews automatically unless cancelled 30 days before expiry
why it hurts: you pay for a full extra cycle if you miss a narrow cancellation window
fix: negotiate a 60-day notice window and a calendar reminder on day 1
[HIGH ] One-Sided Modification — provider may change terms at any time without notice
why it hurts: every protection in this contract can be rewritten unilaterally
fix: require written notice + a termination right if changes are material
[HIGH ] Uncapped Indemnity — you cover all losses, including provider's own negligence
why it hurts: your liability has no ceiling, theirs does
fix: cap indemnity at fees paid in the prior 12 months
[CAUTION] Broad IP Assignment — anything you create on the platform belongs to them
[CAUTION] Personal Guarantee — you personally back the company's obligations
...
==> Risk score: 40/100 (HIGH) — 3 high-risk clauses, 7 cautions
Why offline and zero-dependency?
Two deliberate design choices:
- Contracts are among the most sensitive documents you own — salaries, NDAs, leases, pre-nups. ClauseGuard runs 100% locally. Nothing is uploaded, nothing is logged, no API keys involved.
- A transparent rule engine beats a black box for legal risk. Every finding shows the matched pattern, the reasoning, and the mitigation. You can audit why it fired. A hallucinating LLM summarizer is the wrong tool when the stakes are a signed obligation.
The engine ships with 12 risk detectors covering auto-renewal, unilateral modification, liability caps, broad indemnity, IP assignment, personal guarantees, non-competes, arbitration venue, penalty clauses, and more — each with a plain-language explanation and a negotiation suggestion.
It also generates a self-contained HTML report you can attach to an email before a signing meeting.
Try it
git clone https://github.com/Zhiyilang/clauseguard
cd clauseguard
python -m clauseguard.cli examples/sample_contract.txt --html report.html
No pip install. Python 3.8+. MIT licensed.
What's next
- Multi-language clause patterns (the engine is pattern-table driven)
- DOCX/PDF text extraction
- A "compare two versions" mode that diffs risk scores between contract drafts
Built as part of my open-source AI series. Feedback and PRs welcome — especially more clause patterns from other jurisdictions.
Disclaimer: ClauseGuard is decision support, not legal advice. For anything material, talk to a lawyer.
Top comments (0)