You are browsing as a guest. Sign up (or log in) to start making projects!

Breakdown

  • 4 Devlogs
  • 37 Total hours

A NLP-based Chrome Extension that summarises Privacy Policies and Terms of Services

Ship #1 Pending review

I made Breakdown, a privacy-first Chrome extension that turns giant Terms of Service and Privacy Policies into a quick, readable summary. One click gives you a risk score, the biggest red flags, what data is collected, your rights, and the clauses you should actually care about. The best part: everything runs locally on your device. No accounts, no API keys, no cloud, and no tracking.

The biggest challenge was making it accurate without relying on AI. My first version used a local LLM, but it was slow, huge, and sometimes confidently made things up. I replaced it with my own rule-based NLP engine that detects legal clauses, handles things like "we do not sell your data", and shows the exact sentence that triggered each result.

I'm most proud that Breakdown became better by removing AI, it went from a 1-2GB model download to an instant 18KB offline analyzer. To test it, open any Terms of Service or Privacy Policy page, click the extension, and see what companies are actually asking you to agree to.

  • 4 devlogs
  • 37h
Try project → See source code →
Open comments for this post

6h 6m 53s logged

Bringing everything together

Today was mostly about merging all five feature branches back into main and making sure everything still worked afterwards. I also managed to speed up the summaries to near instant so the user experience is way better. (Screenshots are from Anthropic ToS)

Most of the merges happened automatically, but I still went through the UI files manually to make sure nothing had been overwritten and the new components all fit together properly.

New features

  • Radial risk gauge around the score.
  • Risk category breakdown card.
  • Background analysis using a Web Worker.
  • Faster debounced search.
  • Confidence chips and skeleton loading.

Final checks

After merging everything I:

  • Ran all 24 unit tests.
  • Built the extension from scratch.
  • Verified the worker bundled correctly.
  • Checked the UI for duplicate styles or merge issues.
  • Cleaned up the temporary branches and worktrees.

Everything passed, so the project is now back on a single branch with all five features fully integrated.

0
0
18
Open comments for this post

10h 35m 45s logged

Goodbye AI, hello NLP

This update completely changed how Breakdown works. The screenshots are from review of the Meta (Facebook) ToS and the Hack Club ToS, see if you can tell which one is which and comment it 😉

Originally it used a 1-2 GB language model running through WebLLM. It worked, but startup was slow, downloads were huge, and it could still hallucinate clauses that weren’t actually in a policy.

I replaced the entire pipeline with a deterministic rule-based NLP engine that runs fully on-device. I briefly kept a small embedding model to catch unusual wording, but testing showed it was responsible for almost every false positive, so I removed that too.

What changed

  • Removed all AI models and embeddings.
  • No downloads or GPU required.
  • Fully offline and deterministic.
  • Analyzer shrunk to just 18 KB.

Biggest challenge

The hardest part was keeping the results accurate without relying on AI. I rewrote detection around sentence-level rules, proper negation handling, and much stricter legal clause matching, then built a new test suite using real-world policies to make sure false positives stayed gone.

The result

  • Removed 49 npm packages.
  • Deleted the entire AI pipeline.
  • Faster analysis with no waiting.
  • More reliable results than the original AI version.
0
0
13
Open comments for this post

11h 38m 6s logged

bugs bugs bugs.

this devlog is just about bugs there were soooooooo many bugs

bug 1: ai models giving up - there were instances where the model timed out for one reason or another but didnt throw an error to the extension so you could’ve waited 20 minutes with the same loading screen..

bug 2: inaccuracies and hallucinations - with such a small AI model that runs locally, it isn’t as good as the latest ChatGPT or Claude, so the answers tended to be of a lower quality and sometimes just plain lies

feature add! : instead of a static loading screen there is now stages, with the word count of the summary also being updated in real time, with some added facts to keep the user interested!

next, i hope to improve model quality further and fix a bug where transformers.js/ONNX runtime is trying to cache a chrome-extension:// WASM URL leading to an error.

0
0
18
Open comments for this post

8h 40m 16s logged

I am working on a Chrome Extension called Breakdown.
What is Breakdown?
Breakdown is a Chrome Extension that summarises Terms of Services and Privacy Policies, so you can really see what companies are collecting from you.

My Progress so far:
I have made a working prototype, which has a 65% accuracy, with the categories being right like 50% of the time…

Struggles:
It was very difficult to get WebLLM working with a Local AI Model that didn’t frequently hallucinate but can still run on bad specs (no GPU, etc.)

To do:

  • Redo UI, i hate it so much
  • Try and add cool loading animations when downloading AI Models for first time
  • Make AI Model way more accurate
0
0
14

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…