CCR 7004 Design request and consent flows without dark patterns
Methods for making requests and giving consent must be easy to understand, offer symmetrical choices (the privacy-protective path no longer or harder than the other, for example Accept All paired with Decline All), avoid confusing wording, double negatives and misleading urgency, avoid choice architecture that bundles or obstructs, and be easy to execute and tested to work. Silence or closing a pop-up is not consent. A flow that substantially subverts or impairs user choice is a dark pattern whatever the intent, and agreement obtained through one is not consent.
Source: CCPA/CPRA, CCR 7004. The statement above is our statement of the clause, read from the published text and cited so you can check it against the official text, not the instrument verbatim. Open CCPA/CPRA in the compliance library.
Applies only to a business that meets one of the thresholds in Cal. Civ. Code 1798.140(d).
These are the artefacts auditors commonly ask for on this requirement, our guidance rather than text from the standard. Your assessor decides what is sufficient in your context, and asks for samples across the period when a report covers one.
system holds itEvidence a system already holds
- Cookie and consent banner configuration with equal accept and decline options · Cloud console / configuration management
periodic reviewEvidence produced at each review
- Periodic functional tests of request links, forms, inboxes and phone lines · Data governance / DLP tooling
governing documentDocuments that govern the control
- Screenshots and step counts of opt-in and opt-out paths showing symmetry · Policy repository / GRC workspace
- UX review checklist against 11 CCR 7004 signed off before release · Policy repository / GRC workspace
First move
Common gaps auditors find
- Banner offering Accept All against More Options only
- Unmonitored request inbox or broken opt-out links left unrepaired
- Consent buried in general terms of use
Do this for your whole sheet
Paste the rows you run your controls from and get this mapping for every control at once, with the periodic-review ones flagged and a first move per row. No account for the first run.
Build my evidence sheetCCR 7003 Make disclosures readable, accessible and linked conspicuously · CCR 7011 Privacy policy format, placement and required contents