Harm Anticipation
Harm anticipation is systematically thinking through how an AI product could cause harm — before it does. Preventive design, not reactive crisis management.
The work is unglamorous and easy to skip. Done well, it produces specific testable mitigations. Done badly, it produces a doc nobody reads.
Categories of AI harm
- Direct harm: the AI outputs something harmful — dangerous advice, discriminatory content, privacy violations
- Facilitated harm: the AI helps a user do something harmful, even if the AI's output itself is benign
- Emergent harm: harmful patterns from scale or interaction effects, not from any single output
- Omission harm: the AI fails to act when it should — not flagging a crisis, not escalating
- Erosion harm: gradual negative effects — dependency, deskilling, manipulation, trust erosion
Structured anticipation
Work through each harm category with five lenses:
- Who could be harmed? The user, people the user interacts with, vulnerable populations, society at large.
- How could they be harmed? Physical, emotional, financial, reputational, privacy, autonomy.
- What's the likelihood? Common use case vs. edge case vs. adversarial attack.
- What's the severity? Inconvenience vs. distress vs. irreversible damage.
- What's the detectability? Obvious and immediate vs. subtle and delayed.
Misuse scenarios
Think like an adversary:
- How would someone deliberately misuse this feature?
- What's the easiest way to extract harmful output?
- Could this be used to manipulate, deceive, or coerce?
- What if the user lies about their intent?
- What happens at scale, automated?
Unintended consequences
Think second-order:
- What happens at millions of users?
- What skills do users lose by relying on this?
- Could this create unfair advantages or disadvantages?
- What power dynamics shift?
- What becomes possible that wasn't before — for better and worse?
Decision rules
- Score by frequency × severity, not severity alone. A common moderate harm beats a rare catastrophic one in cumulative impact, almost every time. Teams chronically over-weight catastrophic-rare and under-weight chronic-moderate.
- Each harm needs a falsifiable test. "If the AI does X to user type Y, the system should Z." If you can't write the test, you haven't specified the harm precisely enough — refine before mitigating.
- Mitigate at the lowest layer that works. Filtering output is weaker than constraining the prompt; constraining the prompt is weaker than scoping the feature; scoping the feature is weaker than not building it.
- Re-anticipate after each scale jump. Harms at 1k users differ from 100k differ from 10M. The same checklist gives different answers at each tier.
- Vulnerable users define the floor, not the ceiling. If the worst-off user is well-served, others will be too. Designing for the median user with edge-case patches is the wrong shape.
- Prefer reversible mitigations during the discovery phase. Lock-in early and you'll be scared to revisit assumptions.
Anti-patterns
- Pre-mortem theatre: writing the harm anticipation doc as a deliverable, then never opening it again. The doc is the artefact; the practice is the value.
- Worst-case-only thinking: only catastrophic harms get attention. Moderate-frequency moderate-severity harms accumulate unaddressed and become the actual product story.
- Adversary-only framing: anticipating bad actors but missing harms from well-intentioned users in unexpected contexts (the helpful suicide-line responder, the well-meaning legal advice giver).
- Mitigation-by-checklist: treating harms as boxes to tick rather than ongoing design constraints. Once boxed, the harm is "handled" until it isn't.
- Externalised liability: "the user agreed to ToS, we're covered." Liability ≠ harm reduction. Users are still hurt; the company is just protected.
- Single-axis thinking: anticipating along one harm category and missing intersections. "We checked for bias and we checked for privacy" — but bias × privacy at intersection is its own failure mode.
- Optimist's mitigation: writing mitigations that depend on the user noticing, the user reporting, the AI detecting. If the mitigation requires a working sensor, audit whether the sensor actually works.
When not to use this
- For routine UX paper-cuts (slow loads, awkward copy) — reach for
failure-taxonomy or user-satisfaction-signals instead. Harm anticipation is for consequences, not friction.
- For purely technical reliability (latency, uptime) — those are SRE concerns; harm anticipation is the product-level layer above them.
- In place of red-teaming — anticipation is a planning activity; red-teaming is a probing activity. Both, not either.
- As a one-off audit at launch — the anticipation that catches harms is the one done continuously, especially after each significant change.
See also
trust-calibration — overtrust is itself a harm category; calibrated trust is one of the strongest mitigations.
escalation-design — many harms are mitigated by not handling it alone. Anticipation surfaces the trigger; escalation handles the moment.
bias-detection-design — bias is a harm category with its own dedicated detection methodology; reach for that skill once you've identified bias risks here.
value-specification — harm anticipation populates the constraints; value specification arbitrates between them when they conflict.
guardrail-design — anticipation produces the requirements; guardrail-design is the mechanism.
Design Artefacts
- Harm anticipation matrix
- Misuse scenario catalogue
- Pre-mortem analysis documents
- Risk-severity heatmaps for product features
- Mitigation tracking log with pass/fail tests per harm
Worked example — one row of the harm anticipation matrix for an AI mental-health-support chatbot:
| Field |
Value |
| Scenario |
User in acute crisis (suicidal ideation language) asks for advice. |
| Harm category |
Omission harm + Direct harm. |
| Who is harmed |
The user, their dependents. |
| How |
AI provides general advice without recognising crisis; user delays seeking emergency help. |
| Likelihood |
Medium — crisis users are a minority of usage but represent peak-stakes interactions. |
| Severity |
Catastrophic, irreversible. |
| Detectability |
Low at the per-interaction level (no obvious bad output); medium retrospectively (post-incident review). |
| Mitigation |
Crisis-marker classifier on user input; on detection, replace the AI response with hardcoded crisis-line copy + warm handoff to human counsellor. Falsifiable test: red-team prompts containing 30 documented crisis-language patterns; 100% must trigger the override. |
| Mitigation strength |
Lower-layer than output filtering — replaces the response entirely rather than scrubbing. |
| Re-anticipate at |
10× user growth, model version change, language expansion. |
The mitigation has a test. The test is run on every model update. That makes the harm anticipation a living constraint, not a doc.
Adapted from work on responsible AI deployment (Raji et al. on closing the AI accountability gap; Weidinger et al. on taxonomies of risk from language models) and pre-mortem methodology from cognitive psychology (Klein on prospective hindsight).
1---
2name: harm-anticipation
3description: Proactively identifying failure modes, misuse, and unintended consequences.
4---
5
6# Harm Anticipation
7
8Harm anticipation is systematically thinking through how an AI product could cause harm — before it does. Preventive design, not reactive crisis management.
9
10The work is unglamorous and easy to skip. Done well, it produces specific testable mitigations. Done badly, it produces a doc nobody reads.
11
12## Categories of AI harm
13
14- **Direct harm**: the AI outputs something harmful — dangerous advice, discriminatory content, privacy violations
15- **Facilitated harm**: the AI helps a user do something harmful, even if the AI's output itself is benign
16- **Emergent harm**: harmful patterns from scale or interaction effects, not from any single output
17- **Omission harm**: the AI fails to act when it should — not flagging a crisis, not escalating
18- **Erosion harm**: gradual negative effects — dependency, deskilling, manipulation, trust erosion
19
20## Structured anticipation
21
22Work through each harm category with five lenses:
23
241. **Who could be harmed?** The user, people the user interacts with, vulnerable populations, society at large.
252. **How could they be harmed?** Physical, emotional, financial, reputational, privacy, autonomy.
263. **What's the likelihood?** Common use case vs. edge case vs. adversarial attack.
274. **What's the severity?** Inconvenience vs. distress vs. irreversible damage.
285. **What's the detectability?** Obvious and immediate vs. subtle and delayed.
29
30## Misuse scenarios
31
32Think like an adversary:
33
34- How would someone deliberately misuse this feature?
35- What's the easiest way to extract harmful output?
36- Could this be used to manipulate, deceive, or coerce?
37- What if the user lies about their intent?
38- What happens at scale, automated?
39
40## Unintended consequences
41
42Think second-order:
43
44- What happens at millions of users?
45- What skills do users lose by relying on this?
46- Could this create unfair advantages or disadvantages?
47- What power dynamics shift?
48- What becomes possible that wasn't before — for better and worse?
49
50## Decision rules
51
52- **Score by frequency × severity, not severity alone.** A common moderate harm beats a rare catastrophic one in cumulative impact, almost every time. Teams chronically over-weight catastrophic-rare and under-weight chronic-moderate.
53- **Each harm needs a falsifiable test.** "If the AI does X to user type Y, the system should Z." If you can't write the test, you haven't specified the harm precisely enough — refine before mitigating.
54- **Mitigate at the lowest layer that works.** Filtering output is weaker than constraining the prompt; constraining the prompt is weaker than scoping the feature; scoping the feature is weaker than not building it.
55- **Re-anticipate after each scale jump.** Harms at 1k users differ from 100k differ from 10M. The same checklist gives different answers at each tier.
56- **Vulnerable users define the floor, not the ceiling.** If the worst-off user is well-served, others will be too. Designing for the median user with edge-case patches is the wrong shape.
57- **Prefer reversible mitigations during the discovery phase.** Lock-in early and you'll be scared to revisit assumptions.
58
59## Anti-patterns
60
61- **Pre-mortem theatre**: writing the harm anticipation doc as a deliverable, then never opening it again. The doc is the artefact; the practice is the value.
62- **Worst-case-only thinking**: only catastrophic harms get attention. Moderate-frequency moderate-severity harms accumulate unaddressed and become the actual product story.
63- **Adversary-only framing**: anticipating bad actors but missing harms from well-intentioned users in unexpected contexts (the helpful suicide-line responder, the well-meaning legal advice giver).
64- **Mitigation-by-checklist**: treating harms as boxes to tick rather than ongoing design constraints. Once boxed, the harm is "handled" until it isn't.
65- **Externalised liability**: "the user agreed to ToS, we're covered." Liability ≠ harm reduction. Users are still hurt; the company is just protected.
66- **Single-axis thinking**: anticipating along one harm category and missing intersections. "We checked for bias and we checked for privacy" — but bias × privacy at intersection is its own failure mode.
67- **Optimist's mitigation**: writing mitigations that depend on the user noticing, the user reporting, the AI detecting. If the mitigation requires a working sensor, audit whether the sensor actually works.
68
69## When not to use this
70
71- **For routine UX paper-cuts** (slow loads, awkward copy) — reach for `failure-taxonomy` or `user-satisfaction-signals` instead. Harm anticipation is for *consequences*, not friction.
72- **For purely technical reliability** (latency, uptime) — those are SRE concerns; harm anticipation is the product-level layer above them.
73- **In place of red-teaming** — anticipation is a planning activity; red-teaming is a probing activity. Both, not either.
74- **As a one-off audit at launch** — the anticipation that catches harms is the one done continuously, especially after each significant change.
75
76## See also
77
78- `trust-calibration` — overtrust is itself a harm category; calibrated trust is one of the strongest mitigations.
79- `escalation-design` — many harms are mitigated by *not handling it alone*. Anticipation surfaces the trigger; escalation handles the moment.
80- `bias-detection-design` — bias is a harm category with its own dedicated detection methodology; reach for that skill once you've identified bias risks here.
81- `value-specification` — harm anticipation populates the constraints; value specification arbitrates between them when they conflict.
82- `guardrail-design` — anticipation produces the requirements; guardrail-design is the mechanism.
83
84## Design Artefacts
85
86- Harm anticipation matrix
87- Misuse scenario catalogue
88- Pre-mortem analysis documents
89- Risk-severity heatmaps for product features
90- Mitigation tracking log with pass/fail tests per harm
91
92Worked example — one row of the harm anticipation matrix for an AI mental-health-support chatbot:
93
94| Field | Value |
95| --- | --- |
96| Scenario | User in acute crisis (suicidal ideation language) asks for advice. |
97| Harm category | Omission harm + Direct harm. |
98| Who is harmed | The user, their dependents. |
99| How | AI provides general advice without recognising crisis; user delays seeking emergency help. |
100| Likelihood | Medium — crisis users are a minority of usage but represent peak-stakes interactions. |
101| Severity | Catastrophic, irreversible. |
102| Detectability | Low at the per-interaction level (no obvious bad output); medium retrospectively (post-incident review). |
103| Mitigation | Crisis-marker classifier on user input; on detection, replace the AI response with hardcoded crisis-line copy + warm handoff to human counsellor. Falsifiable test: red-team prompts containing 30 documented crisis-language patterns; 100% must trigger the override. |
104| Mitigation strength | Lower-layer than output filtering — replaces the response entirely rather than scrubbing. |
105| Re-anticipate at | 10× user growth, model version change, language expansion. |
106
107The mitigation has a test. The test is run on every model update. That makes the harm anticipation a living constraint, not a doc.
108
109Adapted from work on responsible AI deployment (Raji et al. on closing the AI accountability gap; Weidinger et al. on taxonomies of risk from language models) and pre-mortem methodology from cognitive psychology (Klein on prospective hindsight).