How this works, and what it was tested on
Short version: it is a deterministic pattern matcher, not a model. The same contract always produces the same result, and the result is only ever as good as the wording it matched.
What it actually does
- Splits your text into sentences on
. ! ? ; and line breaks.
- Assigns each sentence to the first matching category from a fixed list, checked in a deliberate order so that a specific category wins over a broad incidental word. A sentence containing both "automatic renewal" and "payment" is categorised as Renewal / Term, not Payment / Fees.
- Pulls out dates and time periods with fixed patterns and copies them verbatim. It does not calculate, convert, or interpret them.
- Drops sentences that match no category and contain no date or period, and de-duplicates repeats.
- Attaches the standard question for each category present.
The seven categories, in matching order
| Order | Category | Triggered by wording such as |
| 1 | Insurance / Compliance | insurance, certificate, compliance, comply |
| 2 | Ownership / IP | intellectual property, copyright, trademark, ownership, work product, license |
| 3 | Confidentiality / Data | confidential, privacy, data, security |
| 4 | Delivery / Performance | deliver, perform, milestone, complete |
| 5 | Payment / Fees | payment, payable, invoice, fee, deposit |
| 6 | Renewal / Term | automatic renewal, auto-renew, renews, term |
| 7 | Notice / Termination | notice, terminate, cancel |
Order is the design, not an accident. It is the fix for a real defect found in an earlier version, where broad words like "term" and "payment" stole sentences that were actually about something more specific.
What it was tested against
The extraction core ships with an executable test suite that must pass before the tool is published. At the build behind this page it reported PASS contract-commitment-extractor 20 assertions. The suite is written to be able to fail: it checks the ordering rule above, verbatim date and period capture, de-duplication, empty and malformed input, and that the limitations text is always returned rather than being presentational.
Privacy, stated exactly
- The extractor runs in your browser. Your contract text is not sent to a server, because there is no server call in the code that could send it.
- Nothing is stored — no cookies, no local storage, no analytics, no third-party script, no web font, no tracking pixel. Reload the page and your text is gone.
- You can verify both claims: view the page source, or disconnect from the internet and confirm the tool still works.
The limits that matter
- It finds candidates. It does not determine legal meaning, enforceability, or completeness.
- A short result list means few wording matches, never few obligations. This is the failure mode most likely to cost you something.
- It cannot see indemnity, liability caps, governing law, arbitration, exclusivity, assignment, unilateral amendment rights, or documents incorporated by reference.
- It cannot see what a contract fails to say, which is where one-sided agreements usually live.
- It does not read PDFs or scans — paste text.
- It is tuned to English-language commercial agreements.
What this is not
This is an issue-spotting and negotiation-preparation aid. It is not a law firm, it is not legal advice, and using it does not create an attorney–client relationship. It is meant to make you better prepared for a conversation — with the counterparty, or with a lawyer — not to replace one.