Skip to content
Knowledge base

Craft

Ethical Design — Avoiding Dark Patterns, Converting Honestly

Last verified 2026-07-13

Ethical Design — Avoiding Dark Patterns, Converting Honestly

Persuasion and deception share a toolbox but not a purpose. Persuasion helps a user do something they already want to do faster; deception ("dark patterns," now formally "deceptive patterns") engineers a choice the user would not make if they understood it. This doc is the counterweight to influence persuasion and conversion ux: it shows how to hit conversion goals without eroding trust or crossing legal lines. The core claim: honest design out-converts trickery on any horizon longer than one quarter, because deception's yield decays into refunds, chargebacks, churn, one-star reviews, and — increasingly — enforcement.

Why it matters: trust, retention, brand, and law

  • Trust is the conversion multiplier. A user who feels tricked once discounts every future claim you make. Deceptive patterns win the click and lose the relationship — they front-load a metric and back-load the cost.
  • Retention exposes deception. A signup you obtained by hiding the price shows up as a cancellation the moment the charge posts. Honest acquisition and retention are the same number measured twice.
  • The law has caught up. What used to be a UX-ethics debate is now regulated design. High level, without legal advice:
  • US — FTC. Section 5 of the FTC Act bars unfair or deceptive practices. The FTC's Bringing Dark Patterns to Light report (2022) names four harms: inducing false beliefs, hiding material information, causing unauthorized charges, and obscuring privacy choices. Even after the "click-to-cancel" Negative Option Rule was vacated on procedural grounds in 2025, the FTC continues enforcing under Section 5 — the multi-billion-dollar action over a hard-to-cancel Prime subscription is the reference case. Design implication: cancellation must be as easy as signup, and enrollment requires express informed consent.
  • EU — GDPR / DSA / DMA. GDPR requires consent to be freely given, specific, informed, and unambiguous (opt-in, not preselected). The EDPB Guidelines 03/2022 on Deceptive Design Patterns catalog consent-interface tricks to avoid. DSA Article 25 flatly prohibits online-platform interfaces that "deceive or manipulate" users or impair free, informed decisions. The DMA bars gatekeepers from nudging users away from privacy-protective defaults. Design implication: reject and accept must be equally prominent and equally easy.
  • California — CPRA/CCPA. The statute names "dark patterns" explicitly: a UI that subverts consumer choice is not valid consent. The CPPA's 2024 enforcement advisory requires symmetry in choice — the privacy-protective path may not be longer, harder, or slower than the permissive one. Design implication: no "Accept all" button without an equally easy "Reject all."

The takeaway is not "consult a lawyer for every button" — it's that the ethical design choice and the compliant design choice have converged. Build for the honest version and compliance largely follows.

The deceptive-pattern taxonomy

Categories below follow deceptive.design (Brignull), the FTC report, and NN/g. For each: what it is, the harm, and the ethical alternative that still converts.

PatternWhat it isWhy it's harmfulEthical alternative
SneakingSlipping items into a cart or adding fees/subscriptions the user didn't chooseUnauthorized charges, betrayal of intentAdd only what was selected; make upsells an explicit, unchecked opt-in with a clear price
Hidden costs / drip pricingReal total revealed only at the last checkout stepSunk-cost coercion; users can't compare honestlyShow all-in price up front, including fees; a transparent total converts checkout better (pricing strategy)
Fake urgency / scarcityCountdown timers that reset, "Only 2 left!" that never changesManufactured panic overrides judgmentShow real stock and real deadlines; genuine scarcity is persuasive and honest
Fake social proofInvented reviews, fabricated "12 people bought this" popupsFraudulent inducement; legally deceptiveShow verified, attributable reviews and real usage counts (influence persuasion)
MisdirectionVisual weight steers the eye to the profitable choice; the alternative is dimmedExploits attention rather than informingGive options honest visual parity; let the genuinely better default win on merit
ConfirmshamingGuilt-tripping the decline option ("No thanks, I hate saving money")Emotional manipulation; damages brand voiceNeutral, respectful decline copy: "No thanks" (ux writing)
Obstruction / roach motelEasy to get in, deliberately hard to get out (cancel, delete, downgrade)Traps users; now a top enforcement targetSymmetric exits — cancel in the same place and step-count as signup
Forced actionRequiring unrelated data, account creation, or consent to complete a taskCoercion; violates data minimizationGuest checkout; ask only for what the task needs; decouple consent from function
NaggingRepeated interruptions pressuring an action the user already declinedWears users down into unwanted "yes"Ask once, respect the answer, offer a "don't ask again"
Trick wording / trick questionsDouble negatives and confusing toggles that invert the expected outcomeUsers act against their own intentPlain, single-negative language; state the outcome of each choice literally
PreselectionPro-business option checked by default (marketing consent, add-ons)Consent isn't freely given; illegal under GDPRDefault to the privacy-protective / no-cost state; make the upsell an active opt-in
Disguised adsAds styled as content, "download" buttons that are adsDeceives clicks; wastes user effortLabel ads clearly; distinguish sponsored content unmistakably
Bait and switchAdvertise one outcome, deliver another when the user actsBreaks the core promise; erodes all trustDeliver exactly what the CTA promised, every time
Privacy zuckeringTricking users into sharing more data than intended via confusing controlsPrivacy harm; regulatory exposureData minimization + clear, symmetric privacy controls

Consent & privacy UX done right

  • Symmetric consent banners. "Accept all" and "Reject all" as equally prominent buttons on the first layer — same size, weight, and click cost. No pre-ticked boxes, no "Reject" buried two layers deep. This is both the EDPB/CPPA standard and simply honest.
  • Data minimization. Collect only what the current task requires. Every extra field is a liability and a friction point; fewer fields also convert better.
  • Honest defaults. Default to the state you'd defend if the user watched you set it: marketing off, sharing off, most-private option on.
  • Easy opt-out and "click to cancel." Cancellation, downgrade, and data-deletion live where the user expects them and take no more steps than the reverse action did. Treat FTC symmetry as a design invariant regardless of any single rule's status.
  • Transparent pricing. All-in totals up front; recurring charges, renewal dates, and price changes stated plainly before purchase and reconfirmed after (paywall benchmarks).

Persuasion vs manipulation: where the line is

Cialdini's principles — reciprocity, commitment, social proof, authority, liking, scarcity, unity — are ethically neutral tools (influence persuasion). The line is not which lever you pull but whether the lever is real. Real scarcity: ethical. Fake countdown: manipulation. Three tests to apply to any persuasive element:

  • Asymmetry / symmetry test: Is the action you want as easy to reverse as it is to take? If getting in is one click and getting out is a phone call, it's a dark pattern.
  • Transparency test: "Would I be comfortable if the user saw my actual intent?" If the design only works because the user misunderstands it, it fails.
  • Regret test: Will a typical user, a week later, be glad they did this — or feel tricked and demand a refund? Design for the version they'll thank you for.
  • Benefit test: Does this element serve the user's goal or only the business's? Persuasion aligns both; manipulation serves one by exploiting the other.

Accessibility & inclusion as an ethical baseline

An interface that excludes people is unethical before it is ever deceptive. Accessibility is not a feature tier — it is the floor (accessibility). Meet WCAG (perceivable, operable, understandable, robust): sufficient contrast, full keyboard operation, semantic structure, honest focus order, and captions/alt text. Deceptive patterns hit disabled and less-technical users hardest, so an accessible, plainly-worded interface is also the most resistant to accidental manipulation. Inclusion extends to language, cognitive load (ux writing), and not weaponizing anxiety or urgency against vulnerable users.

Attention & well-being: respecting the user's time

  • No manipulative engagement loops. Infinite scroll with variable-reward pacing, autoplay chained to autoplay, and streak mechanics that punish absence optimize for time-on-app at the cost of user well-being. Prefer natural stopping points and "you're all caught up" states.
  • Honest notifications. Notify for events the user actually cares about; never fake badges or invent activity to pull re-engagement. Let users tune frequency granularly.
  • Defaults that respect the user. Sound off by default, tracking off by default, digest-over-realtime where reasonable. A default is a decision you make on the user's behalf — make the one you'd want made for you.

Checklist

  • Every default is one you'd defend if the user watched you set it (privacy-protective, no preselected consent or add-ons).
  • Consent banner offers "Reject all" as easily and prominently as "Accept all" — same layer, same weight.
  • Cancellation / delete / downgrade takes no more steps than signup / add / upgrade did (symmetry).
  • Full all-in price, fees, renewal date, and recurring terms shown before purchase — no drip pricing.
  • Urgency, scarcity, and social-proof claims are all factually true and verifiable.
  • Decline/skip copy is neutral and respectful — no confirmshaming.
  • Only the data the task needs is collected; guest paths exist where account creation isn't essential.
  • Ads and sponsored content are unmistakably labeled.
  • Each persuasive element passes the transparency test and the regret test.
  • Interface meets WCAG baselines and plain-language standards (accessibility, ux writing).
  • Notifications map to real, user-relevant events and are user-tunable.

Anti-patterns

Reject these outright — this is the dark-pattern list to design against:

  • Sneaking items, fees, or subscriptions into a transaction the user didn't authorize.
  • Hidden costs / drip pricing — revealing the true total only at the final step.
  • Fake urgency or scarcity — resetting countdowns, permanent "almost sold out."
  • Fabricated social proof — invented reviews, fake "just purchased" activity.
  • Misdirection — using visual hierarchy to steer clicks away from the user's interest.
  • Confirmshaming — guilting or shaming the decline option.
  • Obstruction / roach motel — easy to start, deliberately hard to cancel or delete.
  • Forced action — demanding unrelated data or account creation to finish a task.
  • Nagging — repeatedly pressuring an action the user already declined.
  • Trick wording — double negatives and inverted toggles that flip the outcome.
  • Preselection — pro-business options checked by default (consent, add-ons).
  • Disguised ads — ads dressed as content or as functional buttons.
  • Bait and switch — advertising one outcome and delivering another.
  • Privacy zuckering — coaxing users into oversharing via confusing controls.
  • Manipulative engagement loops — variable-reward mechanics engineered to override the user's own stopping point.
  • Asymmetric consent — "Accept all" prominent, "Reject all" buried or absent.

Sources