# WEB-107 — Age-restricted content on the site must sit behind a working age gate

> Where the site or the campaign carries age-restricted content, the site must present a functioning age gate in front of it.

- **Rule ID:** WEB-107
- **Layer:** Website (`WEBSITE`)
- **Checks:** `age-gate interstitial on the site`
- **Severity:** BLOCKING — Breaking this rule gets the submission rejected outright.
- **When it bites:** Gates approval — get this wrong and registration is refused
- **How it is detected:** AI judgement over the crawled website or policy page; Human check — only someone holding the document can settle it
- **Fix type:** Fix the website — no form edit clears it
- **Required by:** T-Mobile, Twilio, AWS, CTIA
- **Applies:** Applies to every 10DLC registration.
- **Canonical URL:** https://ekas.io/rules/10dlc/website/web-107/

## Why this rule exists

The gate is what keeps a minor from reaching alcohol, tobacco, firearms or adult material through a link in a text message, and carriers charge per-message violation fees rather than merely rejecting, so the cost of getting it wrong keeps accruing. Businesses that gate their checkout often leave the marketing pages open, which is the version of this a compliance-minded operator is most likely to trip.

## How to fix it

Put a date-of-birth gate in front of every page carrying restricted content, enforced server-side so a direct link cannot skip it. Done when opening a product URL in a private window shows the gate before the product.

## Common mistakes

- Gating the checkout and leaving the catalog open fails: the reviewer opens a product page directly and never sees the gate.

## Provider rejection codes

| Provider | Code | Resubmission allowed |
| --- | --- | --- |
| Twilio (gen2) | `30956` | yes |
| T-Mobile | `706` | yes |

## Check this yourself

**Opening a restricted product URL directly, in a fresh private window, are you stopped by the gate before you see the product?**

1. Copy a deep link to a restricted page — not the homepage — and open it in a private window.
2. Confirm the gate appears before any restricted content is rendered.
3. Repeat for the marketing and catalog pages, not just the checkout.

*What wrong looks like:* The checkout is gated and the catalog is open. The reviewer opens a product page directly, never sees the gate, and carriers charge per-message violation fees rather than merely rejecting.

## Notes

Absorbs MSG-176, which states the requirement from the message-copy side, and BRD-280 from the brand-eligibility side. The gate's form is WEB-108 (a full date of birth), its position WEB-109, its threshold WEB-112, and whether it survives a determined visitor WEB-110 — that last one is why HUMAN is declared alongside CRAWL here: a crawl can see a gate and cannot tell whether it holds. The user has to try to bypass their own gate, by opening a restricted URL directly in a fresh browser, and confirm they are stopped.
