Carriers fine per violation. The fine lands on you, the CSP.
per phishing or social-engineering violation
per illegal-content violation
per SHAFT or other content violation
2026 carrier fine schedules.
Every brand and campaign is registered with The Campaign Registry: a use case, sample messages and what the texts will contain.
What is 10DLC?Live messages must match that registration. Carrier codes and the CTIA guidelines ban phishing and restrict SHAFT content.
What is SHAFT?Recipients opt in, and every opt-out is honored. The TCPA and the FCC opt-out rules set the bar.
What is 10DLC compliance?| Capability | SMS firewall | Manual review desk | Moderation API 10DLC add-on |
|---|---|---|---|
| Spam and phishing at volume | Yes | No | Yes |
| SHAFT content | Keyword lists | Samples, at approval | Every message, in context |
| Finds campaign drift | Some, upstream | At approval only | On every message |
| Checks your own campaign records | No | Yes, by hand | Use case, samples, links, sender |
| Runs before traffic leaves your platform | Depends on setup | No | Yes |
| Opt-outs from any channel | STOP keyword only | No | Replies, free text and API |
| Evidence for a DCA audit | Logs | Tickets and Slack | One record per campaign |
Does it match the registered use case and samples?
Care campaign → “0% APR smile loans”Links, numbers, lending or age-gated content the campaign never declared.
Embedded link: not declaredLinks that leave the brand’s site, shorteners and chat invites.
bit.ly → chat.whatsapp.com/…Another company named as the sender.
Text says “Chase Bank”Swapped letters and look-alikes that beat keyword lists.
“emaiI”, “Fr33”, “Ꭺррӏе”Wrong-number openers, pig-butchering scripts, phishing and SHAFT, in 120+ languages.
“Hi Linda, is this still your number?”Brands, campaigns, samples and numbers, synced from your platform.
Matched to its campaign, then checked against it and our models.
Per campaign or use case. Webhooks pause a campaign or alert your team.
Deliver and fine.
Opt-outs from your app, site or support team come in through our API.
One report per campaign, ready for any audit.
Keyword filters miss it. Carriers do not.
for one phishing message
if it went out 100 times
goes dark when the campaign is suspended
Campaign records and 30 days of traffic.
Which messages drifted, and from which campaigns.
Live traffic, checked in parallel. Nothing you send changes.
Go live, or keep the report.
Live messages that no longer match what the campaign was approved for. A care campaign sending loan offers has drifted. See campaign drift.
The FCC opt-out rules take effect. Stop, quit, end, revoke, opt out, cancel and unsubscribe all have to work.
Yes. A pig-butchering scam often starts with a friendly wrong-number opener like “Hi Linda, is this still your number?”. We flag these openers and the scripts that follow in your A2P traffic.
Messages must match the registered use case and samples, and follow carrier codes and the CTIA guidelines. Phishing is banned, and SHAFT content needs to be declared and age-gated.
Under 100 ms at p50.