Users can change or withdraw consent from persistent mechanism
Why it matters
GDPR Art. 7(3) guarantees the right to withdraw consent at any time, and requires withdrawal to be 'as easy as giving consent.' ePrivacy Art. 5(3) ties this to the ongoing lawfulness of accessing device storage — once consent is withdrawn, tracking must stop. CCPA §1798.135 separately requires a permanent, always-accessible opt-out mechanism. A banner that can only be seen once — dismissed and never reachable again — makes withdrawal functionally impossible, which means any ongoing tracking after the initial consent period continues without a valid ongoing basis.
Severity rationale
Low because the violation only affects users who change their minds after initial consent; it does not affect the initial consent act itself, reducing its severity compared to the upstream banner and enforcement checks.
Remediation
Add a persistent 'Cookie Preferences' link in the site footer that re-renders the consent banner pre-populated with the current stored state. The link must appear on every page.
// components/Footer.tsx
'use client'
import { useState } from 'react'
import { CookieBanner } from '@/components/CookieBanner'
import { saveConsent } from '@/lib/consent'
export function Footer() {
const [show, setShow] = useState(false)
return (
<footer>
<button
onClick={() => setShow(true)}
className="text-sm text-gray-500 underline hover:text-gray-700"
>
Cookie Preferences
</button>
{show && (
<CookieBanner
showCurrentPreferences
onSave={(state) => { saveConsent(state); setShow(false) }}
/>
)}
</footer>
)
}
When analytics consent is withdrawn, call window.gtag?.('consent', 'update', { analytics_storage: 'denied' }) immediately to stop GA4 measurement for the current session.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Cookie & Consent Compliance Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- gdpr · Art. 7(3) — GDPR — data subject has right to withdraw consent at any time
- eprivacy · Art. 5(3) — ePrivacy Directive — users must be able to revoke consent
- ccpa · §1798.135 — CCPA — right to opt out must be presented and respected persistently
Taxons
History
- 2026-04-18·v1.0.0·Initial import from cookie-consent-compliance·automated