{
  "id": "OPS-034",
  "slug": "ops-034",
  "title": "A programme in another language still owes the English keyword",
  "statement": "A programme messaging in a language other than English must honour STOP in that language, and must not return an error to the English keyword.",
  "rationale": "A Spanish-language programme whose handler only knows English leaves its subscribers with no working opt-out at all, which is the worst version of this failure. The mirror case is just as real: handsets, carriers and habit mean somebody will send STOP even to a Spanish programme, and answering that with an error is the defect the previous rule describes.",
  "layer": "OPERATIONAL",
  "layerSlug": "operational",
  "object": "per-locale keyword table",
  "severity": "HIGH",
  "detectability": [
    "UNDETECTABLE_PRE_SUBMISSION"
  ],
  "failureClass": "TERMINAL_EXTERNAL",
  "authorities": [
    "CTIA",
    "MMA"
  ],
  "applicabilityText": "Applies to every 10DLC registration.",
  "universal": true,
  "remediation": "Add the local-language revocation words to the keyword table alongside the English set rather than instead of it, and keep the confirmation in the language the consumer wrote in. Done when both ALTO and STOP suppress on the same programme.",
  "example": "Keyword table for a Spanish programme: STOP, ALTO, PARAR, CANCELAR, plus the standard English set.",
  "notes": "Only the sending platform holds the keyword table. What the user has to confirm is that adding a locale did not replace the default set, which is how most platforms model it.",
  "phase": "post",
  "automated": false,
  "attestation": {
    "question": "Do both ALTO and STOP suppress on the same programme?",
    "howToCheck": [
      "Send the local-language revocation word and the English one to the same programme.",
      "Confirm adding a locale did not replace the default keyword set — that is how most platforms model it.",
      "Check the confirmation comes back in the language the consumer wrote in."
    ],
    "failureLooksLike": "A Spanish-language programme whose handler only knows English leaves its subscribers with no working opt-out at all — and a subscriber who sends the English keyword out of habit gets an error."
  },
  "url": "https://ekas.io/rules/10dlc/operational/ops-034/",
  "markdown": "https://ekas.io/rules/10dlc/operational/ops-034.md",
  "registry": "https://ekas.io/rules/10dlc/",
  "updated": "2026-07-25",
  "licence": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/"
}
