# MSG-008 — Opt-in confirmation must be 20–255 characters

> The opt-in confirmation must be at least 20 and at most 255 characters.

- **Rule ID:** MSG-008
- **Layer:** Message content (`MESSAGE_CONTENT`)
- **Checks:** `campaign.optin_message`
- **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:** Deterministic (settled in code from the submitted values)
- **Fix type:** Fix the field — a better value in the form clears it
- **Required by:** TCR, Twilio, Bird, Sinch
- **Applies:** Applies to every 10DLC registration.
- **Canonical URL:** https://ekas.io/rules/10dlc/message-content/msg-008/

## Why this rule exists

The confirmation has the longest required element list of the three auto-replies — brand, programme, frequency, rates, HELP and STOP — so it is the one most likely to overrun. Truncation drops the tail, and the tail is where STOP lives.

## How to fix it

Compress to 255 characters while keeping all six required elements. Abbreviate "Msg & data rates may apply" rather than dropping it.

## Example of a compliant value

```text
Acme Coffee: you're subscribed to offers. Msg frequency varies. Msg & data rates may apply. Reply HELP for help, STOP to cancel.
```
