{
  "id": "WEB-090",
  "slug": "web-090",
  "title": "The message flow must deep-link the opt-in page, not the homepage",
  "statement": "The URL given in the message flow must point at the page carrying the consent surface, not at the site root.",
  "rationale": "A reviewer given a homepage has to hunt for the opt-in, and if they do not find it quickly they reject. Deep-linking converts a search into a single click, and it is one of the cheapest possible improvements to approval odds.",
  "layer": "WEBSITE",
  "layerSlug": "website",
  "object": "campaign.message_flow",
  "severity": "HIGH",
  "detectability": [
    "DETERMINISTIC"
  ],
  "failureClass": "RETRY_FIELD",
  "authorities": [
    "TCR",
    "Twilio",
    "Bandwidth",
    "AWS"
  ],
  "applicabilityText": "Applies to every 10DLC registration.",
  "universal": true,
  "remediation": "Replace the homepage link in the message flow with the direct URL of the page holding the consent checkbox.",
  "example": "https://acmecoffee.com/signup rather than https://acmecoffee.com",
  "phase": "approval",
  "automated": true,
  "url": "https://ekas.io/rules/10dlc/website/web-090/",
  "markdown": "https://ekas.io/rules/10dlc/website/web-090.md",
  "registry": "https://ekas.io/rules/10dlc/",
  "updated": "2026-07-25",
  "licence": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/"
}
