VaultSign AI 為自由工作者提供本機合約風險審閲
VaultSign AI
Somnath Pal 開發開源工具 VaultSign AI,讓自由工作者可在自己的電腦上檢查合約風險條款,並草擬協商電郵。工具支援 PDF、DOCX、TXT,檢查 8 類條款;每項風險標記均附原文引句和頁碼,無法逐字核對的引句會被刪除。
This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle
What I Built
VaultSign AI is a contract red-flag reviewer for freelancers that runs entirely on their own laptop.
Freelancers regularly receive client contracts with clauses that quietly cost them money: IP assignments that capture their pre-existing tools, Net-90 payment terms, uncapped indemnities, broad non-competes, and unlimited revisions. Most can't pay a lawyer to review every gig. Pasting the contract into a cloud AI tool is risky too, because many contracts include confidentiality terms that restrict sharing with third parties. Whether a given NDA covers an AI provider depends on its wording, but the risk is real.
VaultSign AI reads a contract (PDF, DOCX, or TXT) locally, flags risky clauses, explains them in plain English, and drafts a polite counter-offer email. Every flag shows the exact quoted text and page number, and a quote that can't be found verbatim in the contract is discarded, so the report can't show a clause that isn't there.
It checks 8 clause families: IP transfer / work for hire, extended payment terms (Net-60/90), broad non-competes, one-sided liability and indemnity, unlimited revisions, termination without a kill fee, missing late-payment consequences, and exclusivity restrictions. If nothing is found for a family, it says "Not detected. Please verify manually." It never says "no problems."
Who would pay: freelancers and independent contractors who sign client contracts regularly, and small agencies that want a self-hosted option. I have not validated pricing yet. My starting hypotheses are about $19/month or $99/year for freelancers and a $299 one-time team license, with the free open-source version covering clause extraction.
VaultSign AI is a review aid, not legal advice.
Demo
Code
https://github.com/SomnathPal-max/VaultSign-AI
How I Built It
Open-source pieces
- Ollama runs open-weight models locally. I support and recommend Gemma 2 (9B and 2B) and Llama 3.1 (8B), and any other Ollama model works.
- A deterministic offline baseline engine works even when Ollama isn't running.
- FastAPI + PyMuPDF serve the app and parse PDFs; DOCX is parsed with the standard library.
- Everything stays on the machine: the server binds to 127.0.0.1, no cloud keys are used, and document text lives in memory only. How it works Contract file -> parser + section-aware chunker -> 8-clause extraction (local LLM or baseline) -> Verifier (verbatim quote + page, or the flag is dropped) -> risk report + pushback email drafts -> optional Pro mode: Advocate / Corporate Counsel / Mediator debate The Verifier. Small models can invent clause text. A flag is shown only if its quoted text matches the parsed contract exactly, and anything that doesn't is dropped and counted. This is why the false-fabrication rate is 0.0% by design: it shows that unverifiable quotes are filtered, not that every flag is correct. Multi-agent simulator (Pro). Three local agents argue about a flagged clause. The Advocate must quote the clause it criticizes, the Corporate Counsel must not invent precedent, and the Mediator proposes a compromise clause that is marked as a suggestion to review with a lawyer. Pushback emails. Friendly, Neutral, and Firm tones, for example: "To align with my standard operational cash flow, I kindly request adjusting the payment terms from Net-90 to Net-30." Benchmark. I labeled 25 contracts by hand (synthetic variations, public templates, and fair negative controls). Results for the deterministic baseline engine:
| Clause family | Precision | Recall | F1 |
| IP transfer / work for hire | 100% | 100% | 1.00 |
| Extended payment terms | 100% | 100% | 1.00 |
| Broad non-compete | 100% | 100% | 1.00 |
| Asymmetric liability / indemnity | 100% | 100% | 1.00 |
| Unlimited revisions | 100% | 75% | 0.86 |
| Termination and kill fee | 100% | 75% | 0.86 |
| Late-payment consequences | 100% | 100% | 1.00 |
| Exclusivity | 100% | 75% | 0.86 |
| Overall | 100% | 91.2% | 0.95 |
Average latency was 12.6 ms per contract for the baseline.
Limitations. Twenty-five contracts, labeled by me and partly synthetic, is a small development benchmark and may not reflect real-world accuracy. Recall is lower on the newer clause families, and the tool can miss clauses, which is why "Not detected" always asks the user to verify.
Why Does Open Innovation Matter?
- Privacy: The contract is processed on the user's own machine, so there is no third-party server involved. The repo includes an offline-isolation test (tests/test_offline_privacy.py), and the app works with Wi-Fi off. I call it offline-by-design rather than air-gapped, because the operating system and other software are outside the app's control.
- Cost: A 50-page contract uses a lot of tokens, and a paid API charges for all of them on every rerun. Local inference costs only electricity.
- Swap and tune: Users can choose a model that fits their laptop, such as a 2B or 3B model on low RAM or a larger one on a better machine, instead of accepting whatever one provider offers.
- No lock-in: The product doesn't depend on any provider's pricing, rate limits, or terms of service.
- It makes the product possible: A closed API would mean sending the user's confidential document to a third party, which is exactly what this tool exists to avoid.
Prize Categories
- Best Use of Gemma: Gemma 2 (9B and 2B) is supported through Ollama and included in the model comparison. [Keep only if you really ran it; the numbers must come from your rerun.]
- Best Use of GitHub Copilot: I used Copilot to draft tests and verification routines, and CI runs through GitHub Actions. [Keep only if accurate.]
- Best Use of Entire: The agent session log is linked above. [Keep only if it contains your real sessions.]
來源:DEV Community · dev.to