{
  "id": "WEB-021",
  "slug": "web-021",
  "title": "The site must not be behind a login or access wall",
  "statement": "The brand website must be publicly reachable without authentication.",
  "rationale": "A reviewer with no account cannot assess a site they cannot open, so an SSO or password wall is functionally identical to a site that does not exist. This is a distinct code from a broken site because the fix is different: expose a public surface rather than repair anything.",
  "layer": "WEBSITE",
  "layerSlug": "website",
  "object": "brand website",
  "severity": "BLOCKING",
  "detectability": [
    "CRAWL"
  ],
  "failureClass": "TERMINAL_WEBSITE",
  "authorities": [
    "Twilio",
    "TCR",
    "Bandwidth"
  ],
  "codes": [
    {
      "provider": "Twilio",
      "code": "30921",
      "remediable": true,
      "generation": "gen2"
    }
  ],
  "applicabilityText": "Applies to every 10DLC registration.",
  "universal": true,
  "remediation": "Publish a public marketing site describing the business, even where the product itself sits behind a login. Where the opt-in genuinely lives inside the authenticated area, supply a screenshot of it instead.",
  "phase": "approval",
  "automated": true,
  "url": "https://ekas.io/rules/10dlc/website/web-021/",
  "markdown": "https://ekas.io/rules/10dlc/website/web-021.md",
  "registry": "https://ekas.io/rules/10dlc/",
  "updated": "2026-07-25",
  "licence": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/"
}
