A Firefox extension that automatically rejects cookie consent banners and sends Global Privacy Control (GPC) signals to protect your privacy.
- 27+ Consent Management Platforms (CMPs) supported including OneTrust, CookieBot, Sourcepoint, Quantcast, Didomi, Shopify, and more
- Multi-language support for reject buttons in English, German, French, Spanish, Italian, Dutch, Portuguese, Polish, Swedish, Norwegian, and Danish
- Two-step rejection for sites that hide the reject option behind a "Settings" or "Preferences" button
- Smart prioritization - always clicks "Reject All" over individual category rejections
- Sends the
Sec-GPC: 1HTTP header with every request - Sets
navigator.globalPrivacyControl = truein every page - Sets
navigator.doNotTrack = '1'for legacy compatibility - Legally binding under CCPA (California) and other privacy regulations
- Enable/Disable the extension globally
- Whitelist sites where you don't want automatic rejection
- Visual indicator shows when cookies have been rejected (green checkmark badge)
- Statistics track how many banners have been rejected
-
GPC Signal: Before any page loads, the extension injects the Global Privacy Control signal. Sites legally required to honor GPC will automatically respect your opt-out.
-
CMP Detection: When a page loads, the extension checks for known Consent Management Platforms using specific CSS selectors.
-
Pattern Matching: If no known CMP is found, it searches for buttons with reject-related text ("Reject All", "Decline", "Refuse", etc.) in multiple languages.
-
Two-Step Rejection: For sites that hide the reject option, it clicks "Settings" or "Preferences" first, then finds and clicks the reject button in the opened panel.
-
Continuous Monitoring: A MutationObserver watches for dynamically loaded consent banners.
- Sourcepoint
- OneTrust
- CookieBot
- Quantcast
- Didomi
- TrustArc
- Cookielaw
- Termly
- Klaro
- Osano
- CookieYes
- Complianz
- CookieNotice
- GDPR Cookie Consent
- Borlabs
- Iubenda
- Civic Cookie Control
- Cookie Script
- Usercentrics
- ConsentManager
- EU Cookie Law
- PMWall
- Google Funding Choices
- Shopify (native cookie consent banner)
- GitHub (radio-button based consent)
Visit the Firefox Add-ons page and click "Add to Firefox".
- Clone or download this repository
- Open Firefox and navigate to
about:debugging - Click "This Firefox" in the sidebar
- Click "Load Temporary Add-on"
- Select any file in the extension folder (e.g.,
manifest.json)
Once installed, the extension works automatically:
- Green checkmark badge appears on the toolbar icon when cookies are rejected
- Click the toolbar icon to:
- Toggle the extension on/off
- Whitelist the current site
- View rejection statistics
This extension:
- Does NOT collect any personal data
- Does NOT track your browsing
- Does NOT communicate with external servers
- Stores only local settings (enabled state, whitelist, statistics)
- All processing happens locally in your browser
| Permission | Why It's Needed |
|---|---|
storage |
Save settings, whitelist, and statistics locally |
tabs |
Update toolbar icon based on active tab |
activeTab |
Access current tab to show whitelist status |
webRequest |
Add GPC header to HTTP requests |
webRequestBlocking |
Modify request headers before they're sent |
<all_urls> |
Run on all websites to detect cookie banners |
manifest.json- Extension configuration (Manifest V2)background.js- GPC header injection, icon management, settingscontent.js- Cookie banner detection and rejection logicgpc-inject.js- Early GPC property injection (runs at document_start)popup.html/js/css- Toolbar popup UI
The extension implements GPC as specified by the W3C Community Group. Under CCPA, businesses must treat the GPC signal as a valid opt-out request.
The manifest includes Mozilla-specific settings required for AMO submission:
"browser_specific_settings": {
"gecko": {
"id": "auto-reject-cookies@example.com",
"strict_min_version": "91.0",
"data_collection_permissions": {
"required": ["none"]
}
},
"gecko_android": {
"strict_min_version": "113.0",
"data_collection_permissions": {
"required": ["none"]
}
}
}- data_collection_permissions: Required since November 2025. Use
["none"]to indicate no data collection. - gecko_android: Enables Firefox for Android support (v113+).
Contributions are welcome! If you find a cookie banner that isn't being rejected:
- Open the browser console (F12)
- Look for
[Auto Reject Cookies]messages - Note the button text that should be clicked
- Open an issue or submit a PR adding the pattern
MIT License - See LICENSE file for details.
- Added Shopify native cookie consent banner support (goodr.com, other Shopify stores)
- Fixed page scrolling to bottom after banner dismissal — scroll position is now preserved
- Added domain-level tracking to prevent repeated banner processing on the same site
- Handled domains are remembered for 1 hour across page navigations
- Added GitHub cookie consent support (radio-button based system)
- Added custom CMP handler system for sites requiring special logic
- Implemented polling mechanism for dynamically enabled buttons
- Improved two-step rejection timing
- Bug fixes and stability improvements
- Added more CMP selectors
- Improved reload loop detection
- Added Global Privacy Control (GPC) support
- Added
Sec-GPCheader to all requests - Added
navigator.globalPrivacyControlproperty - Added
navigator.doNotTrackfor legacy compatibility
- Initial release
- Support for 25+ CMPs
- Multi-language reject button detection
- Two-step rejection for hidden options
- Whitelist functionality
- Statistics tracking