# MSG-123 — Age-restricted content requires the age-gated attribute

> Where sample or description content covers alcohol, firearms, or tobacco, the age-gated attribute must be set true.

- **Rule ID:** MSG-123
- **Layer:** Message content (`MESSAGE_CONTENT`)
- **Checks:** `campaign.age_gated + campaign content`
- **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 submitted form
- **Fix type:** Fix the field — a better value in the form clears it
- **Required by:** TCR, CTIA, T-Mobile, Twilio
- **Applies:** Applies to every 10DLC registration.
- **Canonical URL:** https://ekas.io/rules/10dlc/message-content/msg-123/

## Why this rule exists

The attribute is what tells carriers an age gate is in place, and the underlying categories carry per-message violation fees rather than rejections. Declaring it is the difference between a restricted campaign and an enforcement event.

## How to fix it

Set the age-gated attribute true and implement real date-of-birth verification at opt-in. Note several providers refuse these categories entirely even with a gate.

## Example of a compliant value

```text
Content references alcohol → age gated: true, with DOB collected at opt-in.
```
