Fake Scarcity dark-001
"Only 2 left in stock!" or "3 people viewing this" when inventory is not actually limited or numbers are fabricated.
16 patterns in this category — each with its illustration, what it is, and the fields that matter when you build or review one. Part of the UX pattern catalogue; the raw, agent-readable version is ux-pattern-catalogue/dark-patterns.json.
"Only 2 left in stock!" or "3 people viewing this" when inventory is not actually limited or numbers are fabricated.
Countdown timers that reset on refresh, "Deal expires in 00:14:32" with no real deadline, pulsing "Act now!" banners.
Decline options written to guilt the user — "No thanks, I don't want to save money" instead of a neutral "No thanks."
Repeated permission requests, recurring modals after dismissal, "Rate this app" every session, push notification prompts that reappear after decline.
Double negatives in opt-out checkboxes ("Uncheck to not unsubscribe"), confusing toggle labels where "on" means "disabled."
Advertisements styled to look like content, navigation, or system UI. "Download" buttons that are ads. Sponsored content without disclosure.
Fabricated testimonials, fake review counts, manufactured "12,847 people signed up today" counters, stock photos for "real users."
Making the business-preferred option visually dominant while hiding alternatives — large "Accept All" button with tiny "Manage preferences" link.
Making it intentionally difficult to compare products or plans — different units, missing features in comparison tables.
Cancellation requires calling a phone number, navigating multi-step retention flows, or finding a hidden settings page.
Requiring account creation to view content, forcing app downloads for mobile access, requiring social sharing to unlock features.
Items silently added to cart. Pre-selected add-ons or insurance. Automatically opted into marketing during purchase.
Non-essential options pre-checked during signup or checkout — newsletter, data sharing consent, premium plan pre-selected over free.
"Accept All" is a large colorful button. "Manage preferences" is a small gray link. Accepting is 1 click; rejecting requires multiple screens.