# XBC-010 — Every sample message must identify the registered brand

> Each sample must contain the registered brand name or DBA, matching the brand record rather than a marketing alias.

- **Rule ID:** XBC-010
- **Layer:** Brand ↔ campaign (`CROSS`)
- **Checks:** `brand.display_name + campaign.sample[]`
- **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:** Bandwidth, TCR, CTIA
- **Applies:** Applies to every 10DLC registration.
- **Canonical URL:** https://ekas.io/rules/10dlc/cross/xbc-010/

## Why this rule exists

A consumer receiving a text from an unfamiliar number decides in about a second whether it is legitimate or spam, and the sender name is the only signal they have. Carriers therefore require the brand to identify itself in the message body, and Bandwidth checks every sample rather than just one.

## How to fix it

Start every sample with the registered brand name followed by a colon. Use the name on the brand record — a marketing alias the reviewer cannot match to the registration reads as a mismatch.

## Example of a compliant value

```text
Acme Coffee: your order #4471 is ready for pickup until 6pm. Reply STOP to opt out, HELP for help.
```

## Common mistakes

- Twilio accepts the name in at least one sample; Bandwidth requires it in all of them. We apply the stricter rule.

## Provider rejection codes

| Provider | Code | Resubmission allowed |
| --- | --- | --- |
| Bandwidth | `8101` | yes |
