See who's selling your data, who owns what you're reading, and where the political money flows.
The internet looks like millions of independent sites. It's not. A handful of conglomerates own the platforms, a handful of data brokers sell your profile, and political campaigns pay those brokers to target you. Polarized makes this visible — one popup, per page, real data.
No AI, no cloud, no accounts — everything runs locally in your browser.
| What you see | What it means |
|---|---|
| Owned by | Who owns the site you're visiting — the conglomerate, billionaire, or state behind it |
| Seller | A CA-registered data broker loading code on this page. Legally classified as selling consumer data |
| Tracker | An ad/tracking company loading code on this page. Collects data but not confirmed selling it |
| Political $ (direct) | Real FEC disbursement records — political campaigns paid this company directly. "Direct" means only what's traceable in federal filings; actual spending flows through middlemen and is likely much higher |
| Cross-site tracking | At least one company on this page uses fingerprinting to follow you across websites |
| Company context | What the company is known for — "Google Search, Gmail, YouTube" or "Retargeted ads that follow you across sites" |
| Opt out | Direct link to the company's opt-out page |
When you visit a page, Polarized intercepts third-party network requests and looks up each domain in a unified dataset built from 5 public sources. One lookup, one file, all name resolution done at build time.
Sellers vs trackers: Not every company that tracks you sells your data. "Seller" means the company is in the California Data Broker Registry — a legal admission. "Tracker" means DuckDuckGo identified their code as advertising/tracking. Both are shown; sellers are weighted more heavily.
Only intrusive trackers shown. CDN, fonts, analytics, consent tools — all filtered out. If it's not advertising, ad tracking, or fingerprinting, it doesn't appear.
Deduped by company. If Google has 15 tracker domains on a page, you see "Google" once.
A campaign wants to target "suburban women aged 35-50 in swing states." The money flows:
Campaign → Consultant → Ad agency → DSP (The Trade Desk) → Ad exchange (Magnite) → Publisher (CNN)
In FEC filings, the payment shows up under the consultant's name. Magnite, Zeta Global, The Trade Desk — they handled the money and data but don't appear in the filing.
The "$X direct" label in the popup means: this is what FEC records show as direct payments to this company from political committees. The real spending through middlemen is invisible and likely much higher.
When a company shows no political $, it doesn't mean they're not involved — it means there's no direct FEC paper trail under their name.
The exposure score (0–100) measures how aggressively this page profiles you.
| Signal | Weight | Why |
|---|---|---|
| Data seller present | 8 pts each (max 45) | Registered data broker — sells your data |
| Tracker present | 2 pts each (max 15) | Collecting data, not confirmed selling |
| Political spending connection | 7 pts each (max 20) | Your data may feed political targeting |
| Cross-site tracking detected | 10 pts | They follow you across websites |
| All three combined | +10 pts bonus | Sellers + political + cross-site = worst case |
| Score | Badge | Meaning |
|---|---|---|
| 0 | — | No intrusive tracking detected |
| 1–30 | Green | Low exposure. Few trackers, no sellers |
| 31–60 | Yellow | Moderate exposure. Sellers or political connections present |
| 61–100 | Red | High exposure. Multiple sellers, political money, cross-site tracking |
Badge: Shows seller count on the page (red). If no sellers but trackers present, shows ! (yellow). No intrusive tracking = no badge.
All sources are public. All merged into one unified lookup at build time.
| Source | What it provides | Records | How it's used |
|---|---|---|---|
| DuckDuckGo Tracker Radar | Tracker domain → company, categories, fingerprinting score | ~10K US domains | Core detection — identifies which companies load code on the page |
| DDG Entities | Company → all owned domains, parent relationships | ~19K entities | Groups tracker domains under parent companies |
| CA Data Broker Registry | Companies registered as data brokers | ~600 brokers | "Seller" flag — fact, not inference |
| FEC API | Schedule B disbursements — who paid whom | 105 companies, real $ | Political spending — queried all 600 brokers against FEC records |
| Big-Ass-Data-Broker-Opt-Out-List | Opt-out URLs per broker | ~60 entries | Direct opt-out links |
| Wikidata | Company → owner/parent relationships | ~4K domains | Site ownership — who owns the site you're visiting |
| Curated | Major news/commerce/tech site ownership | ~150 sites | Fills gaps Wikidata misses (Al Arabiya, Haaretz, Iran Intl, etc.) |
| Element | Type | Source |
|---|---|---|
| "This company is tracking you" | Fact | DDG detected their code loading on the page |
| "Seller" label | Fact | Company is in the CA Data Broker Registry |
| "Tracker" label | Fact | DDG categorizes them as advertising/tracking |
| Political spending amount | Fact | FEC Schedule B disbursement records (real API data) |
| "Owned by" | Fact | Wikidata + curated public records |
| Company role description | Context | Curated descriptions of what each company does |
| "Cross-site tracking detected" | Inference | At least one tracker has a DDG fingerprinting score >= 1 |
| Profile value estimate | Estimate | Based on industry averages — labeled as estimate |
| "direct" on political $ | Clarification | Only FEC-traceable spending; real amount flows through middlemen |
All data is merged into one file at build time: chrome-extension/data/lookup.js. Each entry carries a sources array showing where each piece of data came from:
"doubleclick.net": {
"company": "Google LLC",
"displayName": "Google",
"categories": ["Ad Motivated Tracking", "Advertising"],
"fingerprinting": 3,
"parent": "Alphabet",
"knownFor": "Google Search, Gmail, YouTube, Android",
"optout": "https://adssettings.google.com",
"sources": ["ddg", "opt"]
}Source codes: ddg (DuckDuckGo), ca (CA registry), fec (FEC API), opt (opt-out list), own (ownership data).
- Download this repo (Code → Download ZIP) and unzip
- Go to
chrome://extensionsand turn on Developer mode (top right) - Click Load unpacked → select the
chrome-extensionfolder - Browse any site and click the extension icon
polarized/
├── chrome-extension/ # Load this folder in Chrome
│ ├── manifest.json
│ ├── background.js # Service worker — one importScripts, one resolve()
│ ├── data/
│ │ └── lookup.js # Unified lookup (13K entries, 2MB, all sources merged)
│ ├── popup/
│ │ ├── popup.html
│ │ └── popup.js
│ └── icons/
├── scripts/ # Build scripts (not part of extension)
│ ├── download-sources.js # Download raw data from DDG, CA, GitHub
│ ├── build-domains.js # Process DDG → data/domains.js
│ ├── build-brokers.js # Process CA CSV → data/brokers.js
│ ├── build-political.js # Query FEC API → data/political.js (real data)
│ ├── build-optout.js # Process opt-out list → data/optout.js
│ └── build-lookup.js # Merge all sources → data/lookup.js + extension copy
├── data/ # Intermediate build outputs
├── raw/ # Downloaded raw data (gitignored)
└── docs/ # Design docs
# 1. Download raw sources (~5 min, clones DDG repo)
node scripts/download-sources.js
# 2. Build intermediate files
node scripts/build-domains.js
node scripts/build-brokers.js
node scripts/build-political.js # Queries FEC API — needs api.data.gov key
node scripts/build-optout.js
# 3. Merge everything into one lookup
node scripts/build-lookup.js # Outputs chrome-extension/data/lookup.jsFEC data uses api.data.gov key (free, instant signup). Falls back to DEMO_KEY (40 calls/hour) if no key configured.
- CA registry only: "Seller" flag depends on California registration. Many companies that sell data aren't registered.
- FEC is federal only: State-level political spending, dark money through 501(c)(4)s, and payments through intermediaries are not captured.
- Political $ shows direct payments only: Most political ad spend flows through consultants and agencies — the broker's name rarely appears in FEC filings.
- Site ownership is curated + Wikidata: Coverage is good for major sites (~4K domains) but won't cover every site.
- US-centric political data: FEC is US federal elections only. Trackers are global but the political money story is US-specific.
- DDG Tracker Radar is CC BY-NC-SA 4.0: Non-commercial use only.
Everything runs locally in your browser. No data leaves your device.