VOCABULARY / ENTRY
Obstruction
obstruction
Deliberately place obstacles or extra steps on the path to an action that should be available, especially cancelling, unsubscribing, deleting an account, or declining, making it far harder than the corresponding entry action.

Recognizing it
- Signing up takes a step or two, while cancelling requires several pages, waiting, or a human agent
- The exit is a small grey link buried after repeated warnings and retention pitches, while “Keep” is the prominent primary button
- The number of steps needed to decline or exit is clearly asymmetric with the entry path
Concept boundary
Different from hidden costs: the mechanism here is making the exit or completion path laborious, not delaying fee disclosure. One reasonable confirmation for an irreversible action, or identity checks required by regulation or security, is not obstruction. The test is whether leaving is clearly harder than joining without a legitimate reason.
When to consider it
- Auditing cancellation flows for subscriptions, memberships, or trials
- Auditing privacy settings, marketing unsubscribe, and account deletion paths
- Auditing the steps a person goes through to decline permissions or downgrade a plan
When to be cautious
- Recommending it as a way to reduce churn
- Stacking more steps than necessary onto the exit path in the name of preventing mistakes
Tradeoff
Repair by making leaving as easy as joining: a comparable number of steps, an equally visible entry point, and accurate action labels; keep one clear confirmation for irreversible actions. Retention messaging may appear, but must not be a precondition for completing the action.
Conditional rules · Editorial advice
Related entries
The two often appear together but differ in mechanism: one delays fee disclosure, the other makes leaving harder.
Shaming copy is often layered onto the retention steps of an obstructive flow and should be recorded separately.
One clear confirmation protects; stacked dialogs become an obstacle.
Sources and what they support
Defines obstruction as a deceptive pattern that deliberately creates obstacles in the person's path, making the desired action harder to complete.
Retrieved: 2026-09-15Describes “Hard to cancel” (formerly Roach Motel) as a deceptive pattern where signing up is easy but cancelling is very difficult.
Retrieved: 2026-09-15The October 2024 press release states the rule requires businesses to make cancelling as easy as signing up; this entry quotes only that statement and draws no legal conclusion about the rule's later judicial and rulemaking history.
Retrieved: 2026-09-15 · Snapshot unconfirmedDefinitions reference these sources. Digital specimens, selection advice, relationships, and recipes are editorial work and have not been validated through user research.
Type extensions and implementation notes
No operable specimen exists yet; the illustration is editorial. Before applying this to a product, verify the actual step counts for entry and exit, the visibility of the exit entry point, whether retention steps can be skipped, and the specific cancellation requirements of the relevant jurisdiction.
{
"harm": "Traps people in services or settings they do not want, denying them a real freedom to leave",
"repair": "Offer exit with steps symmetric to entry and an equally visible entry point, keeping only one clear confirmation."
}Full Agent entry JSON
{
"id": "obstruction",
"type": "anti",
"name": {
"zh": "阻碍退出或完成",
"en": "Obstruction"
},
"aliases": [
"难以取消",
"Roach Motel",
"Hard to Cancel"
],
"granularity": "flow",
"intents": [
"audit-exit",
"audit-choice"
],
"tags": [
"anti-pattern",
"cancellation",
"unsubscribe",
"account deletion",
"friction"
],
"definition": "Deliberately place obstacles or extra steps on the path to an action that should be available, especially cancelling, unsubscribing, deleting an account, or declining, making it far harder than the corresponding entry action.",
"boundary": "Different from hidden costs: the mechanism here is making the exit or completion path laborious, not delaying fee disclosure. One reasonable confirmation for an irreversible action, or identity checks required by regulation or security, is not obstruction. The test is whether leaving is clearly harder than joining without a legitimate reason.",
"signature": [
"Signing up takes a step or two, while cancelling requires several pages, waiting, or a human agent",
"The exit is a small grey link buried after repeated warnings and retention pitches, while “Keep” is the prominent primary button",
"The number of steps needed to decline or exit is clearly asymmetric with the entry path"
],
"when": [
"Auditing cancellation flows for subscriptions, memberships, or trials",
"Auditing privacy settings, marketing unsubscribe, and account deletion paths",
"Auditing the steps a person goes through to decline permissions or downgrade a plan"
],
"when_not": [
"Recommending it as a way to reduce churn",
"Stacking more steps than necessary onto the exit path in the name of preventing mistakes"
],
"tradeoff": "Repair by making leaving as easy as joining: a comparable number of steps, an equally visible entry point, and accurate action labels; keep one clear confirmation for irreversible actions. Retention messaging may appear, but must not be a precondition for completing the action.",
"comparison": {
"focus": "Whether exiting or completing an action is artificially made harder",
"mechanism": "Stacking steps, hiding the entry point, or forcing a human step on the exit path",
"cost": "People are trapped in services or settings they no longer want, trust erodes, and regulatory risk may follow"
},
"sources": [
{
"id": "deceptive-obstruction",
"title": "Deceptive Patterns · Obstruction",
"url": "https://www.deceptive.design/types/obstruction",
"claim": "Defines obstruction as a deceptive pattern that deliberately creates obstacles in the person's path, making the desired action harder to complete.",
"checkedAt": "2026-09-15",
"archive": {
"lookupUrl": "https://web.archive.org/web/20260915*/https://www.deceptive.design/types/obstruction",
"status": "available",
"checkedAt": "2026-09-15T18:17:52.393Z",
"jobId": "spn2-a527e8ea7244e4f62083a1ca69e9fb447bbc8caf",
"url": "https://web.archive.org/web/20260915181817/https://deceptive.design/types/obstruction/",
"timestamp": "20260915181817"
}
},
{
"id": "deceptive-hard-to-cancel",
"title": "Deceptive Patterns · Hard to cancel",
"url": "https://www.deceptive.design/types/hard-to-cancel",
"claim": "Describes “Hard to cancel” (formerly Roach Motel) as a deceptive pattern where signing up is easy but cancelling is very difficult.",
"checkedAt": "2026-09-15",
"archive": {
"lookupUrl": "https://web.archive.org/web/20260915*/https://www.deceptive.design/types/hard-to-cancel",
"status": "available",
"checkedAt": "2026-09-15T18:17:58.871Z",
"jobId": "spn2-f47894c7f1de95480be52a08c1b829fba92f3e46",
"url": "https://web.archive.org/web/20260915181822/https://deceptive.design/types/hard-to-cancel/",
"timestamp": "20260915181822"
}
},
{
"id": "ftc-click-to-cancel-2024",
"title": "FTC · Federal Trade Commission Announces Final “Click-to-Cancel” Rule (2024-10-16)",
"url": "https://www.ftc.gov/news-events/news/press-releases/2024/10/federal-trade-commission-announces-final-click-cancel-rule-making-it-easier-consumers-end-recurring",
"claim": "The October 2024 press release states the rule requires businesses to make cancelling as easy as signing up; this entry quotes only that statement and draws no legal conclusion about the rule's later judicial and rulemaking history.",
"checkedAt": "2026-09-15",
"archive": {
"lookupUrl": "https://web.archive.org/web/20260915*/https://www.ftc.gov/news-events/news/press-releases/2024/10/federal-trade-commission-announces-final-click-cancel-rule-making-it-easier-consumers-end-recurring",
"status": "unconfirmed",
"checkedAt": "2026-09-15T18:18:33.388Z",
"error": "status-request-failed",
"jobId": "spn2-3688daaebed4104230f60816432f1bdec08c8ac0"
}
}
],
"relations": [
{
"target": "hidden-costs",
"kind": "related",
"condition": "Auditing subscription and checkout flows",
"reason": "The two often appear together but differ in mechanism: one delays fee disclosure, the other makes leaving harder.",
"basis": "editorial"
},
{
"target": "confirmshaming",
"kind": "composes_with",
"condition": "A retention page on the exit path uses belittling wording",
"reason": "Shaming copy is often layered onto the retention steps of an obstructive flow and should be recorded separately.",
"basis": "editorial"
},
{
"target": "modal-dialog",
"kind": "misused_as",
"condition": "Successive dialogs ask people to confirm cancellation repeatedly",
"reason": "One clear confirmation protects; stacked dialogs become an obstacle.",
"basis": "editorial"
}
],
"rules": [
{
"when": "Providing a cancel, unsubscribe, or account-deletion path",
"instruction": "Keep the number of exit steps in the same order of magnitude as the entry path, with an equally visible entry point.",
"strength": "must",
"basis": "editorial"
},
{
"when": "Showing retention messaging before exit",
"instruction": "Show retention content at most once and never block completion of the action.",
"strength": "recommend",
"basis": "editorial"
},
{
"when": "A service that people join online",
"instruction": "Allow leaving through the same channel; do not force a switch to phone or human support.",
"strength": "recommend",
"basis": "editorial"
}
],
"anti": {
"harm": "Traps people in services or settings they do not want, denying them a real freedom to leave",
"repair": "Offer exit with steps symmetric to entry and an equally visible entry point, keeping only one clear confirmation."
},
"demo": null,
"version": "0.1.0",
"editorialStatus": "drafted",
"requirements": [],
"demoCapabilities": [],
"implementationNote": "No operable specimen exists yet; the illustration is editorial. Before applying this to a product, verify the actual step counts for entry and exit, the visibility of the exit entry point, whether retention steps can be skipped, and the specific cancellation requirements of the relevant jurisdiction.",
"image": {
"src": "/images/obstruction.webp",
"alt": "A fictional FIELDNOTES settings screen: the button to keep the subscription is large and prominent, while the cancel path is a tiny grey link buried under layers of warnings, with a small warning marker beside it."
},
"searchTerms": [
"反模式",
"取消",
"退订",
"注销",
"摩擦"
]
}