{
  "id": "OPS-053",
  "slug": "ops-053",
  "title": "A STOP answering a scope question must not be answered with another",
  "statement": "A STOP sent in reply to a scope-clarification message must not trigger a second clarification message.",
  "rationale": "The loop is the failure: a consumer replies STOP, gets asked which messages, replies STOP again, and gets asked again — each round a message to somebody who has now revoked twice. It happens because the clarification is wired to the keyword rather than to the state, and it is the version of this family that most reliably produces a screenshot in a complaint.",
  "layer": "OPERATIONAL",
  "layerSlug": "operational",
  "object": "scope-clarification loop guard",
  "severity": "HIGH",
  "detectability": [
    "UNDETECTABLE_PRE_SUBMISSION"
  ],
  "failureClass": "TERMINAL_EXTERNAL",
  "authorities": [
    "FCC"
  ],
  "applicabilityText": "Applies to every 10DLC registration.",
  "universal": true,
  "remediation": "Track whether a clarification has already been sent to this number and never send a second one; a repeat STOP gets the plain confirmation. Done when replying STOP twice produces one clarification and one confirmation, in that order, and nothing else.",
  "example": "STOP → clarification. STOP again → \"You have been unsubscribed and will receive no further messages.\"",
  "notes": "A state machine inside the handler. What the user has to test is the double-STOP path specifically, because the single-STOP path looks correct in every demonstration.",
  "phase": "post",
  "automated": false,
  "attestation": {
    "question": "Does replying STOP twice produce one clarification and one confirmation, in that order, and nothing else?",
    "howToCheck": [
      "Test the double-STOP path specifically. The single-STOP path looks correct in every demonstration.",
      "Confirm the clarification is wired to the consumer's state rather than to the keyword, so a second one can never be sent."
    ],
    "failureLooksLike": "STOP, asked which messages, STOP again, asked again. Each round is a message to somebody who has now revoked twice, and it is the version of this family that most reliably produces a screenshot in a complaint."
  },
  "url": "https://ekas.io/rules/10dlc/operational/ops-053/",
  "markdown": "https://ekas.io/rules/10dlc/operational/ops-053.md",
  "registry": "https://ekas.io/rules/10dlc/",
  "updated": "2026-07-25",
  "licence": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/"
}
