The ones that come up
- Accept in one click; reject behind a settings screen and a save
- A prominent coloured accept button next to grey text for refusal
- Pre-ticked optional categories, which Planet49 settled directly
- Language that frames refusal as damaging the experience
- A banner that reappears every page load until the visitor gives in
- No visible way to change a decision after it has been made
The European Data Protection Board has published guidance on deceptive design patterns in social media interfaces that reads across directly, and several supervisory authorities have made the reject-parity point in enforcement rather than in guidance.
A test you can apply in a minute
Count the clicks
Comparable prominence and effort are strong design and regulatory baselines, not identical statutory wording everywhere. If refusal takes materially more effort or is visually suppressed, investigate whether the interface steers the choice. StrongPrivacy’s default puts "Accept all" and "Reject optional" at the same level to reduce that risk.
Common questions
Does a dark pattern make consent invalid?
It can. Consent must be freely given and unambiguous; an interface engineered to make refusal costly undermines the first, and one that makes acceptance the accidental outcome undermines the second.
Is a banner that reappears on every page a dark pattern?
If it reappears because refusal was not persisted, it is nagging towards acceptance. A refusal should be remembered exactly as an acceptance is.
Sources and verification
Verified on . Product-behaviour statements were checked against the current implementation and tests. The links below are the verification basis recorded for this article. They support the stated facts, not a legal conclusion for every site or configuration; recheck changing vendor behaviour before relying on it in production.
- Regulation (EU) 2016/679 (GDPR)
Legislation
Checked
- EDPB: Guidelines 03/2022 on deceptive design patterns
Regulator guidance
Checked
See what your own site is loading
A browser scan reports the requests and storage it observed during the sampled journey. Use configured workspace scans to compare the states and pages that matter to your implementation.