Skip to content

Repository files navigation

Unspin

Turn marketing claims into evidence.

Three local-first browser extensions that measure what websites claim against what they do. Works on Chrome, Edge, Brave, Opera, and Firefox. No accounts. No telemetry. No agents. No cloud.

Extension Question it answers
RejectWatch Did “Reject All” actually reject tracking?
SponsorReveal Is this YouTube video / page quietly monetized via affiliates?
OutboundTruth Does this “privacy-first / no tracking” site phone home anyway?

Install (one click)

Web installer: cdn.jsdelivr.net/gh/Sqlace/unspin@gh-pages/
(also: sqlace.github.io/unspin once Pages finishes warming up)

Detects your browser (Chrome / Edge / Brave / Opera / Firefox) and downloads the matching packages.

Terminal (auto-extract + open extensions page):

# Windows
irm https://cdn.jsdelivr.net/gh/Sqlace/unspin@gh-pages/install.ps1 | iex
# macOS / Linux
curl -fsSL https://cdn.jsdelivr.net/gh/Sqlace/unspin@gh-pages/install.sh | bash
# Firefox:
curl -fsSL https://cdn.jsdelivr.net/gh/Sqlace/unspin@gh-pages/install.sh | bash -s firefox

Browsers block silent extension installs for security — the installer downloads/extracts and opens the extensions page; you click Load unpacked (Chromium) or Load Temporary Add-on (Firefox) once per extension.

Why this exists

  • Cookie consent theater is everywhere — few tools produce a shareable Lie Score.
  • Princeton/Chicago’s AdIntuition (2018–2020) proved YouTube affiliate disclosure matters — then went stale. SponsorReveal is a modern Manifest V3 revival (zero research telemetry).
  • Sites love claiming “100% local / we don’t track you.” OutboundTruth turns that into an observed outbound report.

Inspired in part by ideas from Divide-By-0/ideas-for-projects-people-would-use.

Build from source

pnpm install
pnpm approve-builds --all   # first time only (esbuild)
pnpm build                  # Chrome MV3
pnpm build:firefox          # Firefox MV3
pnpm build:edge             # Edge MV3
pnpm pack:release           # zip/xpi for chrome + firefox + edge

Outputs (per app):

  • .output/chrome-mv3
  • .output/firefox-mv3
  • .output/edge-mv3

Dev mode:

pnpm dev:reject-watch
pnpm --filter @unspin/reject-watch run dev:firefox

Extensions

RejectWatch

Detects consent banners, snapshots cookies, watches tracker requests after you click reject (or run Audit now), then scores 0–100 (higher = more likely ignored). Copy a Markdown report for HN/Twitter.

SponsorReveal

Scans YouTube descriptions (and general pages) for affiliate domains, tag= / click-IDs, UTMs, and promo-code patterns. Shows an on-page banner + popup evidence list.

OutboundTruth

Observes third-party resource requests (PerformanceObserver + DOM), classifies them against a local tracker catalog, and shows a privacy-claim consistency score. Observes only — never blocks.

Privacy

  • All processing is on-device.
  • Storage uses session storage with local fallback.
  • No analytics SDKs, no remote config, no accounts.
  • See docs/privacy.md.

Monorepo layout

apps/reject-watch
apps/sponsor-reveal
apps/outbound-truth
packages/shared   # trackers, affiliates, Lie Score
packages/ui       # shared popup chrome
site/             # one-click install page + installers

Stack: pnpm workspaces · WXT · TypeScript · React · Manifest V3

Credits

License

MIT

About

Unspin — turn marketing claims into evidence. Three local-first Chrome extensions (RejectWatch, SponsorReveal, OutboundTruth).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages