Logo, 113-profile dataset, and Firefox-parity features #3

Merged
richard merged 1 commit from more-profiles-logo-parity-features into main 2026-08-19 19:16:09 +02:00
Owner

Adds a logo, a much larger profile dataset, and the features that were feasible to bring to parity with the Firefox build.

Profiles

  • 113 built-in profiles generated from a browser × version × hardware matrix through one assembleProfile() (the custom builder reuses it), spread across current Chrome/Edge/Firefox/Safari versions so no single version is shared by everyone.
  • Options dataset is grouped by browser version, collapsed by default. Custom profiles appear in it tagged "Custom" and are the only rows with a delete action.
  • public/icon.svg (shield + fingerprint + mask stroke) rasterized to the 16–128px icon set via scripts/gen-icons.mjs; also shown in the popup and options masthead.

Features

  • WebRTC blocking — native, via chrome.privacy (browser-wide; cleared when off/disabled). Adds the privacy permission.
  • Import/Export settings as JSON.
  • Preview & verify page (entrypoints/test) showing the exact cover identity a site receives, with links to real testers; linked from popup and options.
  • Per-site profile pinning from a grouped picker in the popup.
  • Statistics — aggregate "page loads protected" counter in a separate storage key; which sites you visit is never recorded.
  • Font protection (partial) — deterministic canvas text-width noise and a hidden document.fonts list, gated on a new Fonts toggle. Conservative to avoid breaking layouts.

Verification

  • scripts/verify.mjs — 15 checks (engine, incl. font protection).
  • scripts/verify-options.mjs — 26 checks (options + popup, incl. WebRTC toggle, import round-trip, statistics, profile pinning).

Both pass; compile and build clean.

🤖 Generated with Claude Code

Adds a logo, a much larger profile dataset, and the features that were feasible to bring to parity with the Firefox build. ## Profiles - **113 built-in profiles** generated from a browser × version × hardware matrix through one `assembleProfile()` (the custom builder reuses it), spread across current Chrome/Edge/Firefox/Safari versions so no single version is shared by everyone. - Options dataset is **grouped by browser version, collapsed by default**. Custom profiles appear in it **tagged "Custom"** and are the only rows with a delete action. ## Logo - `public/icon.svg` (shield + fingerprint + mask stroke) rasterized to the 16–128px icon set via `scripts/gen-icons.mjs`; also shown in the popup and options masthead. ## Features - **WebRTC blocking** — native, via `chrome.privacy` (browser-wide; cleared when off/disabled). Adds the `privacy` permission. - **Import/Export** settings as JSON. - **Preview & verify page** (`entrypoints/test`) showing the exact cover identity a site receives, with links to real testers; linked from popup and options. - **Per-site profile pinning** from a grouped picker in the popup. - **Statistics** — aggregate "page loads protected" counter in a separate storage key; which sites you visit is never recorded. - **Font protection (partial)** — deterministic canvas text-width noise and a hidden `document.fonts` list, gated on a new Fonts toggle. Conservative to avoid breaking layouts. ## Verification - `scripts/verify.mjs` — 15 checks (engine, incl. font protection). - `scripts/verify-options.mjs` — 26 checks (options + popup, incl. WebRTC toggle, import round-trip, statistics, profile pinning). Both pass; `compile` and `build` clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Profiles:
- Generate 113 built-in profiles from a browser x version x hardware
  matrix via one assembleProfile() the custom builder also uses, spread
  across current Chrome/Edge/Firefox/Safari versions.
- Group the options dataset by browser version (collapsed by default);
  custom profiles appear in it tagged "Custom" and are the only ones
  deletable.

Logo:
- public/icon.svg (shield + fingerprint + mask stroke) rasterized to the
  16-128px icon set via scripts/gen-icons.mjs; shown in the popup and
  options masthead too.

Features (feasible parity with the Firefox build):
- WebRTC blocking via chrome.privacy (browser-wide; clears on disable).
- Import/Export of settings as JSON.
- Preview & verify page (entrypoints/test) linked from popup/options.
- Per-site profile pinning from a grouped popup picker.
- Aggregate "page loads protected" statistics in a separate storage key
  (never records which sites are visited).
- Partial font protection: deterministic canvas text-width noise and a
  hidden document.fonts list, gated on a new Fonts toggle.

Adds the `privacy` permission.

Verification: scripts/verify.mjs (15 checks, engine incl. fonts) and
scripts/verify-options.mjs (26 checks, options + popup incl. WebRTC,
import, stats, profile pinning) both pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
richard deleted branch more-profiles-logo-parity-features 2026-08-19 19:16:09 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
365DevNet/AntiFingerPrint!3
No description provided.