Individual HTML example · Forced action

Address-book import blocks onboarding

A fictional community app stops onboarding at an address-book permission screen and gives no visible way to continue without uploading contacts.

Contact harvesting and coerced referralsSocial app onboardingSignup

This is an original fictional comparison. It depicts no real company and is not a legal finding or safe harbour.

Social app onboardingSignup

Address-book import blocks onboarding

A fictional community app stops onboarding at an address-book permission screen and gives no visible way to continue without uploading contacts.

Potentially problematicFind everyone you know

Find everyone you know. Onboarding cannot continue until contacts are uploaded.. Allow contacts. Skip for now

Neutral alternativeFind contacts later

Find contacts later. Contact discovery is optional and onboarding can continue without it.. Skip for now. Allow contacts. What happens next, expanded: Activating “Skip for now” produces the outcome stated on the control.

Why the first version can mislead: The additional dependency controls access to the signup goal. The panel states: “Onboarding cannot continue until contacts are uploaded.” Reviewers need to establish whether “Allow contacts” is necessary for the selected task or pressures the user into a separable action. Contacts who never used the service may be exposed or invited, while the new user loses a meaningful refusal.

What a fairer design does: Explain the optional discovery benefit, provide a visible skip control and do not prepare invitations without a separate deliberate action.

Show annotated differences (2)
Potentially problematic version
  • Skip for nowIn “Address-book import blocks onboarding”, this element shows how contact harvesting and coerced referrals can shape the decision.
Neutral alternative
  • What happens next, expanded: Activating “Skip for now” produces the outcome stated on the control.In “Address-book import blocks onboarding”, this element keeps the clearer alternative visible at the same decision point.
Review questions (3)
  • What functional need makes “Allow contacts” necessary for the social app onboarding goal, and can that need be met with less disclosure or commitment?
  • Can the dialog be dismissed, what action does each control trigger, and what later state confirms or contradicts “Contact access, recipient selection, invitation or referral is involved”?
  • Could the stated purpose make this dependency genuinely necessary under the boundary “Voluntary one-recipient sharing with preview and confirmation”, and what product evidence would demonstrate that necessity?
Side-by-side social app onboarding interface showing “Find everyone you know” and the clearer alternative “Find contacts later”.Provenance: Original hypothetical social app onboarding example created for this library; no real business, product or interface is depicted.

Complete pattern context

How this example relates to Contact harvesting and coerced referrals

The service extracts contact information, sends or prepares unwanted invitations, or ties functionality to recruiting other people. The label describes a recurring design mechanism; whether a particular implementation is harmful or unlawful depends on the complete journey, audience, evidence and rules within scope.

The full guide explains inclusion and exclusion criteria, harms, fair design principles, evidence questions and the relevant EU legal information layers. The example page isolates one scenario so it can be shared and discussed without reproducing the complete library on one page.

Continue comparing

Contact harvesting and coerced referrals

Feature unlocked by recruiting friends

Collaboration workspaceAccount Management

A fictional workspace keeps export disabled until the user supplies three colleagues’ addresses and sends invitations from the service.

Open this example

Automatic attention capture

Autoplay overrides a session limit

Short-video feedAccount Management

A fictional video service starts another clip when a user’s chosen twenty-minute limit is reached and hides the leave action behind a full-screen recommendation.

Open this example

Automatic attention capture

Infinite catalogue without progress cues

Shopping discovery feedPricing

A fictional marketplace continuously inserts new products and removes pagination, position and viewed-item markers while promotional prompts follow the shopper.

Open this example
Sources and provenance for this example

Evidence base

Sources

  1. Dark commercial patternsOrganisation for Economic Co-operation and Development · Secondary · checked 2026-09-14 · OECD Digital Economy Papers No. 336
  2. Unfair Commercial Practices DirectiveEuropean Parliament and Council of the European Union · Primary · checked 2026-08-09 · Directive 2005/29/EC; CELEX 02005L0029-20220528