cookie-consent
Cookie consent
A consent banner is only the interface: what matters is which code runs before, after and instead of a choice, and whether that holds on a reload, in another tab, after a withdrawal and when the consent backend is down. Source: c15t's documentation at https://c15t.com (Apache-2.0, https://c15t.com/docs/oss/license.md; copied with the tag [c15t], read 2026-10-18 against c15t 3.1.0, the latest npm dist-tag), its hosted setup skill https://c15t.com/SKILL.md, and the official pages each file cites (Google Consent Mode, the California Attorney General's CCPA FAQ, GDPR). The landing page's own banner is the owner's design in landing-page-ui SECTIONS.md; this skill states c15t's rules and lists where that design differs, never as fixes. Google Analytics itself is google-analytics SKILL.md and the Google side of Consent Mode is its google-analytics CONSENT-MODE.md; PostHog's own consent options are posthog PROXY-AND-PRIVACY.md; a consent journey as an end-to-end test is browser-ui-qa CONSENT-JOURNEY.md.
Apply only the routes and checks for the selected job. Read a linked skill's named file from its installed folder when available, or from the linked source. Report an unavailable required reference instead of inventing it. [skill-authoring, DISTRIBUTION.md#composing-skills]
| The job | Read |
|---|---|
The five categories by purpose, policy models (opt-in, opt-out, iab, none) and prompts (choice, notice, none), regional presets and their limits, Global Privacy Control, withdrawal as easy as consent, permission vs recorded choice, why a banner is missing |
CATEGORIES-AND-POLICIES.md |
Inventory before install, one loader per vendor, framework vendor packages to replace, loading behaviour per helper, keeping events without fake queues, withdrawal and reload, the network blocker and what it cannot stop, data-src iframes, plain HTML gating, clearing cookies on revocation, Google Consent Mode loadMode, tag managers, PostHog, naming |
SCRIPT-GATING.md |
| What happens on save, the retry queue, cookie plus localStorage with the cookie authoritative, per-category merge across tabs, the clear epoch, server rendering and caching, the build-time manifest, backend modes, ad blockers | CONSENT-STATE.md |
| Banner variants and positions, blocking vs non-blocking, accept and reject at equal prominence, the notice prompt, closing without saving, motion and reduced motion, keyboard and narrow screens, Content Security Policy, banner experiments | BANNER-UI.md |
| The release check by network requests: production build, the visitor flow, locations, GPC, a failed backend, the interface, per-vendor checks, what to record | VERIFY-CONSENT.md |
c15t setup: choosing the setup per framework and rendering, exact-version install, one @c15t/core, Next.js App Router and React quickstarts, the upgrade and replace paths, the three troubleshooting checks |
C15T.md |