# CMP-DESC-LEN — Campaign description must be 40–4096 characters

> The campaign description must be at least 40 and at most 4096 characters.

- **Rule ID:** CMP-DESC-LEN
- **Layer:** Campaign (`CAMPAIGN`)
- **Checks:** `campaign.description`
- **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:** Twilio, TCR
- **Applies:** Applies to every 10DLC registration.
- **Canonical URL:** https://ekas.io/rules/10dlc/campaign/cmp-desc-len/

## Why this rule exists

The published bound is 40 to 4096 characters, and anything near the floor cannot contain the audience, content and opt-in source a reviewer needs. Enforcing the real bound rather than a guessed heuristic also prevents the opposite failure, where a long, thorough description is silently truncated on submission.

## How to fix it

Expand the description to explain who receives the messages, what they contain, and how recipients opted in. Aim well above the 40-character floor.

## Example of a compliant value

```text
Acme Coffee sends weekly promotional offers, new product announcements, and loyalty rewards updates to customers who opted in via the checkout consent checkbox at acmecoffee.com.
```

## Provider rejection codes

| Provider | Code | Resubmission allowed |
| --- | --- | --- |
| Twilio (gen1) | `30886` | yes |

## Notes

The current contentFlags scanner uses a 40/100 heuristic with no upper bound — this replaces the guess with the published bound.
