Skip to content

How it works.

Eat My Cookies doesn't hide cookie banners. It navigates the actual consent flow — using each site's own consent platform API when available — to record your preference accurately. Here's how.

The 5-Layer Architecture

Layer 1: Page-World API Hooks

Intercepts consent platform JavaScript APIs (including the IAB Transparency & Consent Framework and Google Consent Mode) before the page scripts run. When a site exposes a clean API, consent is applied at the framework level — no clicking, no selectors, maximum accuracy.

Layer 2: Cross-Frame Handlers

Handles consent UIs rendered inside iframes (common with Sourcepoint and ConsentManager) where top-frame scripts can't reach directly.

Layer 3: Curated Consent Platform Selector Rules

A maintained rules database with targeted selectors per consent platform, used when API access isn't available.

Layer 4: Heuristic Fallbacks

Pattern-matching logic for simpler, unbranded banners not covered by named consent platform rules.

Layer 5: Site-Specific Overrides

Narrow, scoped fixes for publishers with unusual flows, geo-specific redirects, or paywall-style consent gates — without letting one site's fix interfere with others.

When we can't honor your preference, we tell you.

The extension distinguishes between "consent recorded" and "banner actually dismissed." When a site uses a paywall-style consent gate or has a flow we can't navigate, a ! warning appears in the popup — with honest options, not false reassurance.

Users can override per-site: disable the extension on that domain entirely, or set always-accept for paywall cases. That override is saved and manageable at any time from the Settings panel in the popup.

One preference. Applied everywhere — accurately.

Reject All

Most private

The safest choice. Rejects all non-essential cookies universally. When a site exposes a consent platform API, the extension calls it with a full rejection payload — not just clicking a button, but recording the legally meaningful preference.

Accept All

Most convenient

For users who prefer the full website experience and want no friction. The extension handles every prompt on their behalf, automatically choosing full consent. Ideal for users who've already assessed their trust in the sites they visit.

Custom

Full control

Per-category control — Functional, Analytics, Advertising, Uncategorized/Custom Purposes — stored locally and applied intelligently across all consent platforms. Your granular policy follows you everywhere.

Full control, always.

You can disable the extension per domain (for sites you trust or manage) or set always-accept on specific domains (for paywalled sites). Exceptions are manageable at any time from the Settings panel in the popup. One click — no configuration files, no developer tools required.

Currently supports CCPA and GDPR. More on the way.

The extension handles consent flows for US publishers under CCPA and EU publishers under GDPR. Future releases will extend support to Brazil's LGPD, Canada's PIPEDA, and other regional privacy frameworks as global consent regulation expands.

CCPA— ActiveGDPR— ActiveLGPD— Coming SoonPIPEDA— Coming Soon

Language support

The extension auto-detects browser language and matches consent button copy in the correct locale — critical for EU publishers where button labels differ significantly by language.

Auto-detectEnglishFrenchGermanSpanishItalianPortuguese

Supported consent platforms

SourcepointHandles both GDPR and USNat/CCPA flows via the Sourcepoint SDK API.
OneTrustIntegrates with OneTrust's OptanonConsent API for accurate preference recording.
ConsentManagerUses ConsentManager's native API and cross-frame iframe handlers.
DidomiInterfaces with Didomi's JavaScript API to set per-purpose consent.
IubendaHandles Iubenda's consent widget via API and selector fallbacks.
TrustArcSupports TrustArc preference center API for US and EU flows.
AppConsentHandles AppConsent's consent widget flows.
Custom site-specific flowsScoped overrides for publishers with non-standard consent implementations.