🔍 Inspiration

Every day, billions of people click "I Agree" without reading what they're actually consenting to. Studies show that reading all privacy policies an average person encounters in a year would take 76 working days. These documents are deliberately long, complex, and filled with legal jargon — designed to confuse, not inform.

We experienced this personally. We clicked Accept on a platform and later discovered we had granted them permanent rights over our content. That moment made us ask: why is there no tool that actually reads this for you AND does something about it?

Every existing privacy tool warns you. Nobody fixes it. FinePrint was born to fix it.


⚡ What It Does

FinePrint is an AI-powered Chrome Extension that automatically protects your privacy on every website — without any effort from you.

When you land on a page with a Terms of Service, Privacy Policy, or cookie consent banner, FinePrint instantly analyzes the legal text using a large language model. Within 2 seconds you get:

  • 🟢 🟡 🔴 A clear verdict: Safe, Warning, or Danger
  • A score out of 100 based on 5 independent dimensions
  • Specific flags explaining exactly what was found
  • Plain English summary anyone can understand

🍪 Smart Cookie Manager

But FinePrint goes further than any other privacy tool. When a cookie banner is detected, our Smart Cookie Manager:

  1. Analyzes all available cookie categories
  2. Recommends the safest combination of settings
  3. Automatically applies them with one click

No reading. No guessing. Just protection.


🛠️ How We Built It

Chrome Extension (Manifest V3)

Built entirely with vanilla JavaScript and Chrome's native APIs. A content script runs on every page using DOM parsing and keyword pattern matching to detect ToS pages, cookie banners, and permission requests in real time. A MutationObserver watches for late-loading banners in single-page applications.

AI Analysis Engine

$$\text{Final Score} = \sum_{i=1}^{5} D_i \quad \text{where each } D_i \in [0, 20]$$

When legal text is detected, we extract up to 3,000 characters and send it to Groq API running LLaMA 3.3 70B. We engineered a structured prompt that forces the model to score across five independent dimensions before producing a final score.

5-Dimensional Scoring System

Dimension Max Score What it measures
Data Collection 20 What data they collect
Data Sharing 20 Who they sell it to
User Rights 20 Your rights to delete/opt out
Data Security 20 Where data is stored
Content & Financial Risk 20 Ownership claims, auto-renewals

Smart Cookie Manager

A second AI call analyzes the banner's DOM structure — buttons, toggles, categories — and produces a structured action plan. The auto-clicker executes actions with 300ms delays, dispatching real mouse events to interact naturally with the page.

Tech Stack

  • Runtime: Chrome Extension Manifest V3, Vanilla JavaScript
  • AI Model: LLaMA 3.3 70B via Groq API
  • Storage: Chrome Storage API (fully local, no server)
  • UI: Custom CSS design system, CSP-compliant SVG icons
  • No backend. No data collection. Fully private.

🧱 Challenges We Ran Into

1. Chrome Manifest V3 CSP Restrictions

Manifest V3 blocks all inline scripts and any library using eval() internally — including most icon libraries. We solved this by building a custom lightweight SVG icon system from scratch, fully CSP-compliant.

2. MutationObserver Infinite Loop

The observer watching for data changes would fire → trigger re-render → replace DOM elements → trigger observer again. A severe render loop making the dashboard completely lag.

Fix: Disconnect observer before every render, reconnect after, with an isRendering lock flag to prevent re-entry.

3. Cookie Banner Diversity

OneTrust, Cookiebot, TrustArc, and thousands of custom implementations all have completely different DOM structures.

Fix: Built a multi-strategy scanner with 15+ selector patterns and label detection algorithms covering the most common consent frameworks.

4. LLM Scoring Consistency

LLMs tend to produce round numbers like 40, 50, or 60. We needed genuine, differentiated scores.

Fix: Forced the model to output each dimension score individually before summing — making lazy outputs structurally impossible.

$$\text{Score} = D_1 + D_2 + D_3 + D_4 + D_5 \neq \text{random round number}$$


🏆 Accomplishments We're Proud Of

  • Built a fully passive, zero-effort privacy guardian — users get protected without changing their behavior at all
  • The Smart Cookie Manager — no privacy tool we found actually fixes your cookie settings automatically
  • Genuinely calibrated AI scoring:
    • Wikipedia → 8/100 🟢
    • Google → 35/100 🟡
    • Temu → 74/100 🔴
  • A complete production-grade product — not a prototype — with dashboard, animations, history, and full documentation
  • Built in 20 days by a lean team

📚 What We Learned

  • Prompt engineering is real engineering. Small wording changes in system prompts produced dramatically different scoring behavior. Getting consistent, calibrated JSON output required as much design as any other system component.

  • Chrome Manifest V3 is genuinely restrictive. Every assumption about browser extensions needs revisiting for V3.

  • Simple ideas executed well beat complex ideas executed poorly. FinePrint's core concept fits in one sentence. The depth is in the execution.

  • The privacy problem is deeper than we thought. Researching dark patterns and data broker practices showed FinePrint addresses only the visible surface of a much larger systemic issue.


🚀 What's Next for FinePrint

Roadmap Item Description
📱 Mobile App iOS & Android for app permission scanning
🏢 Enterprise Bulk-audit SaaS agreements for legal teams
🌍 Multi-language 50+ languages for global accessibility
🔔 Policy Change Alerts Notify when ToS changes after you agreed
🗄️ Community Database Crowdsourced verified policy risk scores
🌐 Browser Integration Native integration with privacy browsers

"The fine print is designed to confuse you. FinePrint is designed to protect you."

Built With

Share this project:

Updates