{
  "_description": "Generated from data/ — edit the sources, not this file. The agent access guide explains the evidence boundary of every field.",
  "schemaVersion": "1.0.0",
  "kind": "list",
  "locale": "en",
  "id": "A-C",
  "name": {
    "zh": "反模式 · 经典基础",
    "en": "Anti-patterns · Classic foundation"
  },
  "headline": {
    "zh": "欺骗性设计 Top 10：10 大经典暗黑模式（Dark Patterns）",
    "en": "Top 10 Classic Dark Patterns in UX, and How to Spot Them"
  },
  "page": "https://designvocabulary.com/en/lists/A-C/",
  "self": "https://designvocabulary.com/en/lists/A-C.json",
  "alternates": {
    "zh-CN": "https://designvocabulary.com/zh/lists/A-C.json",
    "en": "https://designvocabulary.com/en/lists/A-C.json"
  },
  "site": {
    "catalogSchemaVersion": "0.1.0",
    "entries": 158,
    "index": "https://designvocabulary.com/en/lists/index.json",
    "query": "https://designvocabulary.com/api/query?lang=en",
    "guide": "https://designvocabulary.com/en/agents/",
    "llms": "https://designvocabulary.com/llms.txt"
  },
  "provenance": {
    "selection": "editorial",
    "ordered": false,
    "disclaimer": "Seat numbers are editorial positions, not scores, rankings, or popularity measurements. A list that is not filled is left as it is.",
    "titleNote": "“Top” in the title is a search convention. This edition is an editorial selection, not a ranking, a score, or a measure of popularity.",
    "seatOrigins": {
      "issue-1-ledger": "The seat comes from the list ledger in plan issue #1.",
      "editorial-reconstruction": "The seat was filled by editorial judgement in this repository."
    },
    "evidence": "A taxonomy shows the practice exists and has a name; it does not mean every observed case is unlawful. Regulatory findings hold only within their scope and period. This list counts no rates of occurrence.",
    "nominalSize": 10,
    "seatCount": 10,
    "filled": true,
    "sibling": {
      "id": "A-Y",
      "page": "https://designvocabulary.com/en/lists/A-Y/",
      "json": "https://designvocabulary.com/en/lists/A-Y.json"
    }
  },
  "seats": [
    {
      "seat": 1,
      "entry": "confirmshaming",
      "origin": "editorial-reconstruction",
      "reason": "Sets the category's baseline: wording that applies emotional pressure so a person is reluctant to decline.",
      "name": "Confirmshaming",
      "type": "anti",
      "page": "https://designvocabulary.com/en/entries/confirmshaming/",
      "json": "https://designvocabulary.com/en/entries/confirmshaming.json"
    },
    {
      "seat": 2,
      "entry": "hidden-costs",
      "origin": "editorial-reconstruction",
      "reason": "Covers disclosing unavoidable costs too late; the harm is in the timing, not the amount.",
      "name": "Hidden Costs",
      "type": "anti",
      "page": "https://designvocabulary.com/en/entries/hidden-costs/",
      "json": "https://designvocabulary.com/en/entries/hidden-costs.json"
    },
    {
      "seat": 3,
      "entry": "obstruction",
      "origin": "issue-1-ledger",
      "reason": "Covers putting obstacles in the path, a different mechanism from withholding information.",
      "name": "Obstruction",
      "type": "anti",
      "page": "https://designvocabulary.com/en/entries/obstruction/",
      "json": "https://designvocabulary.com/en/entries/obstruction.json"
    },
    {
      "seat": 4,
      "entry": "hidden-subscription",
      "origin": "issue-1-ledger",
      "reason": "Covers turning a one-off action into a continuing commitment; kept separate from hidden costs.",
      "name": "Hidden Subscription",
      "type": "anti",
      "page": "https://designvocabulary.com/en/entries/hidden-subscription/",
      "json": "https://designvocabulary.com/en/entries/hidden-subscription.json"
    },
    {
      "seat": 5,
      "entry": "preselection",
      "origin": "issue-1-ledger",
      "reason": "Covers pressure applied through defaults, a different means from pressure applied through wording.",
      "name": "Manipulative Preselection",
      "type": "anti",
      "page": "https://designvocabulary.com/en/entries/preselection/",
      "json": "https://designvocabulary.com/en/entries/preselection.json"
    },
    {
      "seat": 6,
      "entry": "false-urgency",
      "origin": "issue-1-ledger",
      "reason": "Covers fabricated time limits.",
      "name": "False Urgency",
      "type": "anti",
      "page": "https://designvocabulary.com/en/entries/false-urgency/",
      "json": "https://designvocabulary.com/en/entries/false-urgency.json"
    },
    {
      "seat": 7,
      "entry": "false-scarcity",
      "origin": "issue-1-ledger",
      "reason": "Covers fabricated scarcity of supply, recorded separately from fabricated time limits.",
      "name": "False Scarcity",
      "type": "anti",
      "page": "https://designvocabulary.com/en/entries/false-scarcity/",
      "json": "https://designvocabulary.com/en/entries/false-scarcity.json"
    },
    {
      "seat": 8,
      "entry": "nagging",
      "origin": "issue-1-ledger",
      "reason": "Covers repeated interruption after a refusal, with consent-fatigue induction folded in as a variant.",
      "name": "Nagging",
      "type": "anti",
      "page": "https://designvocabulary.com/en/entries/nagging/",
      "json": "https://designvocabulary.com/en/entries/nagging.json"
    },
    {
      "seat": 9,
      "entry": "visual-interference",
      "origin": "issue-1-ledger",
      "reason": "Covers pressure applied visually rather than through wording.",
      "name": "Visual Interference",
      "type": "anti",
      "page": "https://designvocabulary.com/en/entries/visual-interference/",
      "json": "https://designvocabulary.com/en/entries/visual-interference.json"
    },
    {
      "seat": 10,
      "entry": "disguised-ads",
      "origin": "issue-1-ledger",
      "reason": "Covers advertising disguised as interface; the harm is misjudging what you are clicking.",
      "name": "Disguised Ads",
      "type": "anti",
      "page": "https://designvocabulary.com/en/entries/disguised-ads/",
      "json": "https://designvocabulary.com/en/entries/disguised-ads.json"
    }
  ],
  "list": {
    "id": "A-C",
    "category": "anti",
    "edition": "classic",
    "name": {
      "zh": "反模式 · 经典基础",
      "en": "Anti-patterns · Classic foundation"
    },
    "headline": {
      "zh": "欺骗性设计 Top 10：10 大经典暗黑模式（Dark Patterns）",
      "en": "Top 10 Classic Dark Patterns in UX, and How to Spot Them"
    },
    "note": "A classic list of anti-patterns, for recognition and audit only; nothing here is a practice to adopt.",
    "keywords": [
      "dark patterns",
      "deceptive design",
      "UX anti-patterns",
      "confirmshaming",
      "hidden costs",
      "hidden subscription",
      "false urgency",
      "disguised ads"
    ],
    "lead": "This edition collects deceptive design practices that have been documented repeatedly. It exists for recognition and audit only — this site's query excludes anti-patterns in select mode and returns them only in audit mode.",
    "criteria": [
      "A verifiable taxonomy or regulatory review has documented the practice.",
      "Its mechanism is statable and separable from its neighbours, rather than a general “bad experience”.",
      "It describes harm caused by a design choice, not by careless execution."
    ],
    "pairing": "Against the 2026 focus edition, this one has fuller coverage. An entry in both lists is a practice still being documented recently.",
    "evidence": "A taxonomy shows the practice exists and has a name; it does not mean every observed case is unlawful. Regulatory findings hold only within their scope and period. This list counts no rates of occurrence.",
    "seats": [
      {
        "seat": 1,
        "entry": "confirmshaming",
        "origin": "editorial-reconstruction",
        "reason": "Sets the category's baseline: wording that applies emotional pressure so a person is reluctant to decline."
      },
      {
        "seat": 2,
        "entry": "hidden-costs",
        "origin": "editorial-reconstruction",
        "reason": "Covers disclosing unavoidable costs too late; the harm is in the timing, not the amount."
      },
      {
        "seat": 3,
        "entry": "obstruction",
        "origin": "issue-1-ledger",
        "reason": "Covers putting obstacles in the path, a different mechanism from withholding information."
      },
      {
        "seat": 4,
        "entry": "hidden-subscription",
        "origin": "issue-1-ledger",
        "reason": "Covers turning a one-off action into a continuing commitment; kept separate from hidden costs."
      },
      {
        "seat": 5,
        "entry": "preselection",
        "origin": "issue-1-ledger",
        "reason": "Covers pressure applied through defaults, a different means from pressure applied through wording."
      },
      {
        "seat": 6,
        "entry": "false-urgency",
        "origin": "issue-1-ledger",
        "reason": "Covers fabricated time limits."
      },
      {
        "seat": 7,
        "entry": "false-scarcity",
        "origin": "issue-1-ledger",
        "reason": "Covers fabricated scarcity of supply, recorded separately from fabricated time limits."
      },
      {
        "seat": 8,
        "entry": "nagging",
        "origin": "issue-1-ledger",
        "reason": "Covers repeated interruption after a refusal, with consent-fatigue induction folded in as a variant."
      },
      {
        "seat": 9,
        "entry": "visual-interference",
        "origin": "issue-1-ledger",
        "reason": "Covers pressure applied visually rather than through wording."
      },
      {
        "seat": 10,
        "entry": "disguised-ads",
        "origin": "issue-1-ledger",
        "reason": "Covers advertising disguised as interface; the harm is misjudging what you are clicking."
      }
    ]
  }
}
