# VaultSign AI

> Source: <https://dev.to/somnath_p/vaultsign-ai-1125>
> Published: 2026-10-19 21:03:27+00:00

This is a submission for the [Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle](https://dev.to/challenges/hacktoberfest-week2-2026-10-12)

## 
  
  
  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](https://dev.tourl)

## 
  
  
  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.]
