What a dark pattern actually is
A dark pattern, increasingly called deceptive design, is an interface choice built to push you toward a decision you would not have made if the options had been presented neutrally.
The key word is neutrally. Every interface has to put something somewhere, and somebody has to decide which button is on the right. That is not manipulation, it is design. A dark pattern is the narrower case where the arrangement is chosen specifically because it produces a decision that serves the business at your expense.
These work because they exploit habits that are usually sensible. We read the biggest button first. We assume a pre-ticked box represents the normal choice. We trust that a countdown timer counts down to something real. Each of those assumptions is a reasonable shortcut, and each is straightforward to weaponise.
Below are twelve you will genuinely meet, grouped by what they are trying to take.
Patterns that take your money
1. The roach motel
Easy to get into, deliberately hard to get out of. Signing up takes one tap. Cancelling requires locating a settings page three levels deep, or phoning during business hours, or arguing with a retention chatbot.
This is the pattern regulators moved on most directly. The FTC's rule on negative option marketing requires that cancelling a subscription be at least as easy as starting it, and specifically targets flows that force a phone call or a chat session to get out of something you signed up for online.
Spotting it: before you enter payment details, find the cancellation route. If you cannot find it in under a minute, that is the answer.
2. Hidden costs
The price stays stable through four screens and then grows at the final step, once you have already invested effort. Service fees, booking fees, processing fees, and delivery surcharges tend to appear here.
Spotting it: compare the first number you were shown with the number on the confirmation screen. The gap is the pattern.
3. Drip pricing and the false total
A relative of hidden costs, where the headline price is technically true but structurally incomplete. The monthly figure excludes the mandatory annual fee. The advertised rate applies to a tier nobody uses.
Spotting it: look for the smallest text on the pricing screen. That is where the qualifier lives.
4. Forced continuity
The free trial requires payment details up front and converts silently. No reminder before the charge, and no email afterward that clearly says what just happened.
Spotting it: if a free thing wants a card, ask what happens on day 31 and whether you will be told first.
Patterns that take your data
5. Privacy zuckering
Named after the obvious person. Consent flows engineered so that sharing more is the path of least resistance. Accept all is one large button. Manage preferences is a grey text link that opens a screen of nineteen individually-toggled vendors.
The GDPR requires consent to be freely given, specific, and unambiguous, and European regulators have repeatedly held that a one-tap accept against a five-tap reject fails that test. Enforcement is uneven, and the pattern remains extremely common.
Spotting it: count the taps to accept everything, then count the taps to refuse everything. If those numbers differ, the design has a preference.
6. Pre-ticked consent
The marketing checkbox is already on. Data sharing with partners is already on. Technically you agreed, because the box was there and you did not untick it.
Spotting it: on any signup form, scroll past the button and read the boxes below it before submitting.
7. The permission bundle
The app asks for a set of permissions at once, framed as required for setup, when only one is genuinely needed for the feature you want. Popular Android apps request around eleven dangerous permissions on average, which is well past what most of them need.
Spotting it: ask what the app would fail to do without each one. If you cannot answer, deny it and see whether anything actually breaks. Our guide to app permissions covers what each one exposes.
8. Nagging
Denying a permission is not treated as an answer. The prompt returns next week, and the week after, until you tap yes to stop being asked.
Spotting it: you have declined the same dialog more than twice.
Patterns that take your attention
9. Confirmshaming
The decline option is worded to make you feel bad. Not No thanks but No, I would rather stay disorganised. The button is doing emotional work that has nothing to do with the choice.
Spotting it: read the small option out loud. If it sounds like an insult, that is the pattern.
10. Manufactured urgency
Countdown timers that reset on refresh. Only 2 left on an infinitely available digital product. 14 people are viewing this where the number is generated rather than counted.
Spotting it: reload the page. Real scarcity survives a refresh.
11. The engineered streak
A counter tracking consecutive days that resets to zero when you miss one. It works by exploiting loss aversion, the well-documented tendency to feel a loss more sharply than an equivalent gain. Once a 200-day streak exists, protecting it becomes a reason to open the app that has nothing to do with wanting to.
Streaks sit on a genuine boundary. Applied to something you actively chose to practise daily, they can support a goal you already had. Applied to a utility, they manufacture an obligation. We covered the full argument in why app streaks work and why we do not use them.
Spotting it: ask whether losing the streak would cost you anything real.
12. Infinite scroll with no marker
Not deceptive on its own, and genuinely convenient in places. It becomes a dark pattern when combined with the deliberate removal of every stopping cue: no page numbers, no end, no sense of how far you have come.
Spotting it: ask whether the app has ever told you that you are finished.
Why this happens, structurally
It is tempting to read all of this as malice, and occasionally it is. Far more often it is arithmetic.
A product team is measured on conversion, retention, or consented data. Someone runs an experiment where the accept button is bigger. Conversion rises three percent. The experiment ships, because it won, and because no metric on the dashboard measures the irritation it caused.
Do that fifty times over three years and you arrive at a deceptive interface without anyone having decided to build one. Each individual step was justified by a number. The number was just never measuring the right thing.
This is why the business model is the most reliable signal available to you. It tells you which experiments the company will keep running. An app funded by advertising will keep testing changes that raise time on screen, because that is what it sells. An app funded by a subscription has at least some incentive to make you feel the renewal was worth it. Neither is automatically honest, but they fail in different directions. We break the models down in how free apps actually make money.
If you are the one building the app
Most writing on this subject addresses users, which leaves the people who actually ship these interfaces out of the conversation. If you build software, the useful framing is not a code of ethics but a set of checks that catch the drift described above before it compounds.
Run the mirror test on every experiment. Before shipping a change that improved a metric, ask whether you would describe the change accurately to the affected user. "We made the accept button bigger because more people accept when it is bigger" is a sentence you can say out loud. "We made the cancel link grey so fewer people find it" is not. If the honest description is embarrassing, the metric win is coming from somewhere you do not want.
Measure the counter-metric. The reason dark patterns accumulate is that the dashboard only shows the number that improved. If you test a change to a consent flow, track refund requests, uninstall rate, and support contacts alongside conversion. Most manipulative wins show up as losses somewhere the original experiment was not looking.
Make symmetry a hard requirement. Same number of taps to refuse as to accept. Same visual weight for both options. Cancellation in the same place as signup. This is one line in a design review and it eliminates entire categories of pattern without requiring anyone to make a judgement call.
Write the decline copy first. Teams draft the accept path carefully and treat the decline as an afterthought, which is how confirmshaming happens by accident. Writing the neutral version first makes the manipulative version visible as a deliberate downgrade.
Watch what the SDKs do. Consent flows, paywalls, and rating prompts frequently arrive as vendor components with dark patterns baked in. You are responsible for what ships under your name, including the parts you did not write.
None of these are difficult. They are just uncommon, because each one costs a small amount of measurable revenue in exchange for something that does not appear on any dashboard.
The five-second test
You will not audit every screen. You do not need to. One question catches most of it:
Who is this layout serving?
If the option that benefits the company is large, coloured, and pre-selected, and the option that benefits you is small, grey, and phrased as a loss, the layout is not an accident.
Three habits catch nearly everything else:
- Before paying, find the exit. Locate the cancellation route before you enter card details.
- Read past the button. The pre-ticked boxes are almost always below the thing you were about to tap.
- Refresh the urgency. A timer that resets was never counting anything.
Where we stand
We build apps at Welltide, so treat this as a stated position rather than a neutral one.
Neither PackPilot nor PawDex uses streaks, confirmshaming, countdown timers, or pre-ticked consent. Both are free on Google Play. Notifications fire when a dose is due or a trip is approaching, and stay silent otherwise.
The honest version of that claim is that these are structurally easier commitments for us than for most companies, because a single-purpose app has fewer places to hide a dark pattern and a smaller business to defend. We are not resisting a temptation so much as having built something that does not present it.
Judge it by the interface rather than the paragraph. That is the correct way to judge every company that writes one of these.
Related Reading
- What Is a Single-Purpose App? covers the shape of software that has fewer places to hide these patterns.
- App Permissions Explained covers what each request actually exposes.
- How Free Apps Actually Make Money explains the incentives that produce deceptive design.
- Why App Streaks Work, and Why We Do Not Use Them goes deep on pattern 11.
Sources and further reading: FTC guidance on dark patterns, Congressional Research Service on deceptive design, Cybernews analysis of Android permission requests.
Frequently Asked Questions
Dark patterns, also called deceptive design, are interface choices built to push you toward a decision you would not otherwise make. They work by exploiting predictable habits such as reading the biggest button first or assuming a pre-ticked box reflects the default everyone chose.
Some are. The US Federal Trade Commission treats deceptive design as an unfair or deceptive practice under Section 5 of the FTC Act, and its rule on negative option marketing requires cancelling a subscription to be as easy as starting one. The EU addresses them through the GDPR and the Digital Services Act. Many patterns remain legal but manipulative.
A flow that is easy to enter and deliberately hard to leave. Signing up takes one tap on a web page, while cancelling requires finding a buried menu, phoning a call centre, or talking to a chatbot. This is the pattern regulators have moved on most directly.
Wording the decline option to make you feel bad for choosing it. Instead of a neutral No thanks, the button reads something like No, I do not want to save money. It is one of the easiest patterns to spot once you know the name.
Ask who the design is serving. If the option that benefits the company is large, coloured, and pre-selected, while the option that benefits you is small, grey, and phrased as a loss, you are looking at deceptive design rather than a layout accident.
Slow down and read the smaller option before tapping the bigger one. For subscriptions, check the cancellation route before entering payment details. If a pattern crosses into deception, US users can report it to the FTC at reportfraud.ftc.gov.