Build notes / Legal technology
ContractScanner build note
A private, in-browser AI contract review tool that flags risk without uploading contract text to a server.

The operating problem
Contracts and NDAs often need a fast first-pass review before a founder, freelancer, procurement lead, or legal professional decides which clauses deserve attention. Many online review tools require the user to upload sensitive text to a remote service before they can learn whether the document contains unusual obligations.
The product question was whether a useful risk-triage experience could run inside a supported browser, keep the contract text on the user's device, and still present structured issues, missing protections, and negotiation prompts in a form a human could review.
How we approached it
ContractScanner downloads an ONNX language model to a compatible WebGPU browser after the user chooses to load it. Contract text is then analysed locally. The interface converts model output into a score, risk sections, clause references, missing protections, and a plain-language verdict while preserving the raw output for inspection.
The tool is deliberately described as triage rather than legal advice. It helps a user identify questions and potentially one-sided terms; it cannot determine the commercial context, applicable law, negotiating position, or professional advice appropriate to a significant agreement.
What was built
- A capability check for WebGPU and available device memory before model loading.
- On-demand model download rather than loading the model with the landing page.
- Local browser inference so pasted contract text is not sent to a SupaMakers API.
- A structured review format covering risk severity, clause location, issue, recommended change, and missing protections.
- A synthetic sample agreement that allows visitors to inspect the workflow without using a real contract.
- Visible limitations and recovery states for unsupported browsers, model-loading failures, and analysis errors.
Constraints and trade-offs
- The first model load requires a network download and can be substantial; local analysis begins only after that model is available in the browser.
- WebGPU support, device memory, and browser behaviour vary, so the tool cannot offer the same experience on every device.
- Language-model output is probabilistic and can miss a clause, misread context, or suggest an inappropriate change.
- A risk score is a triage signal, not a legal conclusion. Significant agreements still require review by an appropriately qualified person.
Evidence you can inspect
- The working tool can be opened without an account and includes a synthetic agreement for repeatable inspection.
- The client code loads the model only after interaction and performs inference in the browser rather than posting contract text to a SupaMakers analysis endpoint.
- No claim about legal accuracy, time saved, or customer outcome is made without a documented evaluation set and reviewer baseline.
What this demonstrates
ContractScanner demonstrates a local-first AI product pattern: narrow the task, make privacy architectural, expose limitations, and keep the final commercial or legal decision with the user. A production deployment would add a domain-specific evaluation set, approved playbooks, reviewer feedback, and controlled release criteria.

