{
  "id": "MSG-DESC-QUALITY",
  "slug": "msg-desc-quality",
  "title": "Campaign description must explain who, what, and how they opted in",
  "statement": "The description must state who receives the messages, what those messages contain, and how recipients consented.",
  "rationale": "The description is the first thing a reviewer reads and the basis on which everything else is judged. A description that restates the use-case name gives them nothing to verify against, and is the most frequently cited reason for a campaign-description rejection.",
  "layer": "MESSAGE_CONTENT",
  "layerSlug": "message-content",
  "object": "campaign.description",
  "severity": "BLOCKING",
  "detectability": [
    "AI_FORM"
  ],
  "failureClass": "RETRY_FIELD",
  "authorities": [
    "TCR",
    "Twilio",
    "Bandwidth",
    "AWS"
  ],
  "codes": [
    {
      "provider": "Twilio",
      "code": "30886",
      "remediable": true,
      "generation": "gen1"
    }
  ],
  "applicabilityText": "Applies to every 10DLC registration.",
  "universal": true,
  "remediation": "Write three things explicitly: the audience, the message content, and the opt-in source. Name the business and the website rather than describing a generic program.",
  "example": "Acme Coffee sends weekly promotional offers, new product announcements, and loyalty rewards updates to customers who opted in via the checkout consent checkbox at acmecoffee.com or in person at our Mission St store. Messages include discount codes and store event invitations.",
  "pitfalls": [
    "\"Marketing messages to our customers\" restates the use case and will be rejected as too vague."
  ],
  "catalogIds": [
    "CMP-033"
  ],
  "phase": "approval",
  "automated": true,
  "url": "https://ekas.io/rules/10dlc/message-content/msg-desc-quality/",
  "markdown": "https://ekas.io/rules/10dlc/message-content/msg-desc-quality.md",
  "registry": "https://ekas.io/rules/10dlc/",
  "updated": "2026-07-25",
  "licence": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/"
}
