Consent you can express, enforce and observe
User-side, purpose-based consent for the web
Browser extension · Blocklists · Website
ProtoConsent organizes privacy around purposes instead of individual trackers or domains. The project has two main outputs: a browser extension for end users and purpose-based blocklists for any tool.
No central server, no tracking, no sharing of personal data.
A personal consent control panel that lives in the browser. Purpose-based blocking, tracker detection, and signal management in one place - can coexist with existing blockers and consent tools.
- Per-site profiles and purpose toggles: choose a default privacy profile that applies everywhere, then override per site and refine individual purposes across six data-use categories.
- Enhanced protection out of the box: curated blocklists, cosmetic filtering, CNAME detection, URL parameter stripping, and regional filters for 36 languages - enabled by default and kept up to date automatically.
- Two operating modes: Blocking enforces purpose-based blocking directly. Monitoring delegates to your existing blocker and adds purpose attribution and signal observability.
- Consent banner handling: cosmetic hiding, scroll unlock, and experimental cookie injection to auto-respond to consent banners based on your purpose preferences. No DOM interaction, no click simulation.
- Site declarations: websites can publish
.well-known/protoconsent.jsonto declare their data practices. Open protocol with spec, JSON Schema (source), validator, and GitHub Action. - JavaScript SDK (MIT) for web pages to query user preferences via
protoconsent.get('analytics').
Brave via Chrome Web Store
Mozilla Firefox - in review
Opera Addons - in review
Also works on Vivaldi, Arc, and any Chromium-based browser.
Tracker blocklists organized by data-processing purpose, available in 5 formats. Use them with any ad blocker, DNS sinkhole, or browser extension - no ProtoConsent extension required.
| Format | Compatible with |
|---|---|
| ABP | uBlock Origin, Adblock Plus, Ghostery |
| AdGuard | AdGuard browser extension |
| Hosts | Pi-hole, AdGuard Home, /etc/hosts |
| Domains | NextDNS, ControlD, RethinkDNS |
| JSON | MV3 browser extensions, custom tools |
Six purpose lists: Ads, Analytics, Personalization, Third Parties, Advanced Tracking, Security.
See the data repo for download links and quick start URLs.
| Repo | Description |
|---|---|
| ProtoConsent | Browser extension, SDK, protocol spec, and documentation |
| data | Purpose-based tracker blocklists in 5 formats - 250K+ domains, updated daily |
| protoconsent.org | Project website, blog, validator, generator, and directory |
| demo | Demo site with live SDK test and .well-known declaration |
| validate-action | GitHub Action + CLI to validate .well-known/protoconsent.json |
Website: protoconsent.org · Live demo: demo.protoconsent.org · Developer docs: protoconsent.org/developers


