{
  "id": "CMP-048",
  "slug": "cmp-048",
  "title": "Emergency framing requires the emergency use case",
  "statement": "A campaign may not describe itself as sending emergency or public-safety alerts unless EMERGENCY is declared and genuinely applies.",
  "rationale": "The emergency use case buys priority treatment and relaxed filtering, so describing ordinary traffic as urgent is an attempt — usually unwitting — to claim deliverability the programme is not entitled to. Businesses reach it through vocabulary rather than intent: an outage notice or a weather closure feels like an emergency, and the word costs the campaign its approval.",
  "layer": "CAMPAIGN",
  "layerSlug": "campaign",
  "object": "campaign.description ↔ campaign.usecase",
  "severity": "HIGH",
  "detectability": [
    "AI_FORM"
  ],
  "failureClass": "RETRY_FIELD",
  "authorities": [
    "Twilio",
    "AWS"
  ],
  "codes": [
    {
      "provider": "Twilio",
      "code": "30929",
      "remediable": true
    }
  ],
  "applicabilityText": "Applies to every 10DLC registration.",
  "universal": true,
  "remediation": "Describe the messages in operational terms — \"service interruption notices\", \"closure announcements\" — and reserve emergency language for the declared EMERGENCY use case, which is restricted to genuine public-safety senders. Done when no field claims urgency the use case does not carry.",
  "example": "Acme Coffee sends store closure notices during severe weather — not \"Acme Coffee sends emergency alerts to customers\".",
  "phase": "approval",
  "automated": true,
  "url": "https://ekas.io/rules/10dlc/campaign/cmp-048/",
  "markdown": "https://ekas.io/rules/10dlc/campaign/cmp-048.md",
  "registry": "https://ekas.io/rules/10dlc/",
  "updated": "2026-07-25",
  "licence": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/"
}
