<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Somnath Pal</title>
    <description>The latest articles on DEV Community by Somnath Pal (@somnath_p).</description>
    <link>https://dev.to/somnath_p</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3919342%2Fd5da2110-fc6e-459c-bd70-17d4ccdeee34.png</url>
      <title>DEV Community: Somnath Pal</title>
      <link>https://dev.to/somnath_p</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/somnath_p"/>
    <language>en</language>
    <item>
      <title>VaultSign AI</title>
      <dc:creator>Somnath Pal</dc:creator>
      <pubDate>Mon, 19 Oct 2026 21:03:27 +0000</pubDate>
      <link>https://dev.to/somnath_p/vaultsign-ai-1125</link>
      <guid>https://dev.to/somnath_p/vaultsign-ai-1125</guid>
      <description>&lt;p&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12"&gt;Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;VaultSign AI is a contract red-flag reviewer for freelancers that runs entirely on their own laptop.&lt;br&gt;
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.&lt;br&gt;
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 &lt;em&gt;exact quoted text and page number&lt;/em&gt;, 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.&lt;br&gt;
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."&lt;br&gt;
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.&lt;br&gt;
VaultSign AI is a review aid, not legal advice.&lt;/p&gt;
&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__content"&gt;
      &lt;div class="c-embed__body flex items-center justify-between"&gt;
        &lt;a href="https://vaultsign-ai.vercel.app" rel="noopener noreferrer" class="c-link fw-bold flex items-center"&gt;
          &lt;span class="mr-2"&gt;vaultsign-ai.vercel.app&lt;/span&gt;
          

        &lt;/a&gt;
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://dev.tourl"&gt;https://github.com/SomnathPal-max/VaultSign-AI&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;Open-source pieces&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;A deterministic offline baseline engine works even when Ollama isn't running.&lt;/li&gt;
&lt;li&gt;FastAPI + PyMuPDF serve the app and parse PDFs; DOCX is parsed with the standard library.&lt;/li&gt;
&lt;li&gt;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 -&amp;gt; parser + section-aware chunker -&amp;gt; 8-clause extraction (local LLM or baseline)
-&amp;gt; Verifier (verbatim quote + page, or the flag is dropped)
-&amp;gt; risk report + pushback email drafts
-&amp;gt; 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:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;| Clause family | Precision | Recall | F1 |&lt;br&gt;
| IP transfer / work for hire | 100% | 100% | 1.00 |&lt;br&gt;
| Extended payment terms | 100% | 100% | 1.00 |&lt;br&gt;
| Broad non-compete | 100% | 100% | 1.00 |&lt;br&gt;
| Asymmetric liability / indemnity | 100% | 100% | 1.00 |&lt;br&gt;
| Unlimited revisions | 100% | 75% | 0.86 |&lt;br&gt;
| Termination and kill fee | 100% | 75% | 0.86 |&lt;br&gt;
| Late-payment consequences | 100% | 100% | 1.00 |&lt;br&gt;
| Exclusivity | 100% | 75% | 0.86 |&lt;br&gt;
| &lt;em&gt;Overall&lt;/em&gt; | &lt;em&gt;100%&lt;/em&gt; | &lt;em&gt;91.2%&lt;/em&gt; | &lt;em&gt;0.95&lt;/em&gt; |&lt;br&gt;
Average latency was 12.6 ms per contract for the baseline.&lt;br&gt;
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.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;No lock-in: The product doesn't depend on any provider's pricing, rate limits, or terms of service.&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;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.]&lt;/li&gt;
&lt;li&gt;Best Use of GitHub Copilot: I used Copilot to draft tests and verification routines, and CI runs through GitHub Actions. [Keep only if accurate.]&lt;/li&gt;
&lt;li&gt;Best Use of Entire: The agent session log is linked above. [Keep only if it contains your real sessions.]&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://dev.tourl"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
