{
  "id": "MSG-103",
  "slug": "msg-103",
  "title": "The page a sample links to is screened as part of the campaign",
  "statement": "The landing page reached from a link in a sample message must be free of prohibited content, and is screened whether or not it is on the registered brand domain.",
  "rationale": "A message is three words and a link, so the link is where the content actually lives — which is why Twilio's prohibited-content scope covers \"campaign descriptions, sample messages, website content, and linked URLs\" rather than stopping at the registered domain. The gap this closes is real and routinely exploited: a clean sample pointing at a dispensary menu, a sportsbook offer, or an affiliate page passes every check that reads text fields. It also catches honest senders, because a campaign link often lands on a partner or marketplace page that the brand does not control and has never read as a compliance artifact.",
  "layer": "MESSAGE_CONTENT",
  "layerSlug": "message-content",
  "object": "campaign.sample[] URL -> landing page",
  "severity": "BLOCKING",
  "detectability": [
    "CRAWL"
  ],
  "failureClass": "TERMINAL_WEBSITE",
  "authorities": [
    "Twilio",
    "Bandwidth"
  ],
  "codes": [
    {
      "provider": "Twilio",
      "code": "30953",
      "remediable": false,
      "generation": "gen2"
    }
  ],
  "applicabilityText": "Applies to every 10DLC registration.",
  "universal": true,
  "remediation": "Open every URL that appears in a sample and read the page a reviewer will land on, including anything it redirects to. Where the destination carries prohibited content, point the message at a page you control that does not — and if the prohibited content is the product, the campaign is not registrable on it. Done when every linked destination could be shown to a reviewer without explanation.",
  "pitfalls": [
    "Screening only the registered brand website misses this entirely: the finding is about where the message goes, and campaigns frequently link somewhere the brand record never mentions."
  ],
  "phase": "approval",
  "automated": true,
  "url": "https://ekas.io/rules/10dlc/message-content/msg-103/",
  "markdown": "https://ekas.io/rules/10dlc/message-content/msg-103.md",
  "registry": "https://ekas.io/rules/10dlc/",
  "updated": "2026-07-25",
  "licence": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/"
}
