{
  "id": "CMP-077",
  "slug": "cmp-077",
  "title": "Message flow must carry the terms",
  "statement": "The message-flow / CTA field must state the programme terms, either in full or as a link.",
  "rationale": "The terms are what the consumer is agreeing to, so a flow that describes an agreement without saying where its content lives records a consent to something unstated. Reviewers treat the flow as the record of what was shown, and a missing terms reference reads as terms that were never presented — which is also usually what happened, because the link sits in the page footer rather than beside the box.",
  "layer": "CAMPAIGN",
  "layerSlug": "campaign",
  "object": "campaign.message_flow",
  "severity": "BLOCKING",
  "detectability": [
    "AI_FORM"
  ],
  "failureClass": "RETRY_FIELD",
  "authorities": [
    "Bandwidth",
    "Telnyx",
    "TCR"
  ],
  "applicabilityText": "Applies to every 10DLC registration.",
  "universal": true,
  "remediation": "Put the terms URL inside the disclosure you reproduce in the flow, or write the terms out in full there. Done when the flow text itself contains either the wording or a link a reviewer can open. Put it in campaign.message_flow itself — this field is graded on its own text, not on what a reviewer would find by opening your site.",
  "example": "The disclosure beside the box links the programme terms at https://acmecoffee.com/sms-terms.",
  "phase": "approval",
  "automated": true,
  "url": "https://ekas.io/rules/10dlc/campaign/cmp-077/",
  "markdown": "https://ekas.io/rules/10dlc/campaign/cmp-077.md",
  "registry": "https://ekas.io/rules/10dlc/",
  "updated": "2026-07-25",
  "licence": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/"
}
