Technical Reference
The 10DLC Regime
A complete specification of The Campaign Registry's rules, reconstructed from primary sources — the registry publishes no such document.
1What 10DLC is, structurally
10DLC ("10-digit long code") is the compliance regime governing application-to-person SMS/MMS sent from ordinary ten-digit phone numbers to US mobile subscribers. In practice it is a licensing system for the right to send text messages at scale, operated by a private consortium rather than a public regulator.
The system has three properties that shape everything else about it:
- Registration is mandatory in effect. Unregistered A2P traffic on long codes is filtered or blocked by the carriers. There is no unregistered path to deliverability at volume.
- The rules are unpublished. There is no specification document, no changelog, and no public rule index. The operative rules live in portal validation code, in PDFs behind authenticated logins, in per-account API responses, and in the private judgment of two vetting vendors and the carriers' review teams.
- Errors are billed. Failed submissions, failed vets, and appeals are charged as fees regardless of outcome (§12). The absence of a published specification and the per-error fee model are the same fact viewed from two sides.
2Evidence tiers & method
Every rule in this document carries an implicit evidence tier. Conflating them is the most common analytical error in this domain, because frontend validation is evidence of the operator's intent, not proof of server behavior — API submissions bypass the portal UI entirely, and the server is in places looser (fields the wizard demands that the API accepts empty) and in places stricter (duplicate caps and name-obfuscation checks that exist only server-side, surfaced as numbered error codes).
| Tier | Source class | What it proves |
|---|---|---|
| Tier 1 · Binding | Observed outcomes at scale (registrations with known results); server error codes and their literal text; billed fees; live API responses for real records | What the regime actually does. The only gospel. |
| Tier 2 · Declared | Live enumeration and validation-rule endpoints; operator policy documents describing server behavior | Backend-declared contract. Strong, but dated the moment it is captured. |
| Tier 3 · Intent | Client-side validation code: regexes, length caps, conditional form logic, helper prose | What the operator wants submitted. A sound conservative pre-flight; not proof of enforcement. |
Method used to compile this reference: recovery of the portal's original source tree from published sourcemaps (tier 3); capture of live enumeration endpoints from an authenticated registry account (tier 2); reading of the operator's own policy corpus (tier 2); and analysis of a large body of real registration and campaign outcomes, including verbatim rejection text with numeric codes (tier 1). Where tiers disagree, tier 1 governs — and §9 documents several places where the live evidence corrects what the frontend implies.
3Actors and the chain of custody
A message's right to exist passes through five distinct parties, each of which can reject it:
| Actor | Role | Rejection power |
|---|---|---|
| The registry (TCR) | Operates brand/campaign registration; validates submissions; bills fees; emits the event stream | Format and eligibility rejection at submission |
| External vetting providers | Score brand identity for a fee. Live enumeration
gives three: AEGIS (Aegis Mobile — STANDARD, ENHANCED, POLITICAL, RCS, AUTHPLUS; billable),
WMC (WMC Global — STANDARD only; billable), CV (Campaign Verify —
POLITICAL_FEDERAL only; not registry-billable) | Score suppression; identity failure |
| CSP (Campaign Service Provider) | The registered submitter. Holds the account, signs the data-processing agreement, pays the fees | Gatekeeps what is submitted at all |
| CNP / DCA (connectivity partner / direct connect aggregator) | Carries the traffic; campaigns are shared up this chain and must be accepted | Declines a shared campaign with a mandatory reason category (§9); may exclude individual carriers |
| MNOs (carriers) | Provision the campaign per network; set throughput; review content; suspend live traffic | Per-carrier rejection, suspension, and complaint escalation |
Live enumeration returns seven US networks, each with a registry network ID and an
osrBitmaskIndex used for per-carrier status packing:
| Network ID | Carrier | Bitmask index |
|---|---|---|
| 10017 | AT&T | 1 |
| 10035 | T-Mobile | 2 |
| 10038 | Verizon Wireless | 3 |
| 10037 | US Cellular | 4 |
| 10631 | ClearSky | 5 |
| 10901 | Interop | 6 |
| 10538 | Liberty | 7 |
4The brand rulebook
A brand is the registered legal identity of the sender. It is the durable object; campaigns attach to it. Brand registration costs a non-refundable fee (§12) and any subsequent change to key identity fields costs the same fee again.
4.1 Field rules
Tier 3 unless marked. Lengths and regexes are as the portal enforces them.
| Field | Required | Max | Format rule |
|---|---|---|---|
| Legal company name | always | 255 | free text; must match registry/state filing |
| DBA / display name | always | 255 | free text; the consumer-visible brand |
| EIN (US) | all types except sole proprietor | — | strip punctuation and whitespace, then ^\d{2}-?\d{7}$ — nine digits Tier 1 (verbatim server text in §9.3) |
| Tax ID (non-US) | same | 21 | per-country regex plus a human-readable structure hint, served at runtime from a validation-rules endpoint; only the US rule is embedded client-side |
| Street / City / State | always | 255 / 100 / 50 | free text |
| Postal code | always | 20 | US: ^\d{5}(?:[-\s]\d{4})?$ |
| Support email | always | 100 | RFC-style address regex |
| Support phone | always | — | country-aware parse; must differ from a bare country code |
| Website | always (newer wizard); public companies only (legacy form) | 255 | URL regex rejecting private-IP hosts (10.x, 127.x, 169.254, 192.168, 172.16–31) and requiring a real TLD; scheme optional |
| First / last name | sole proprietor only | 100 | ^[a-zA-ZÀ-ÖØ-öø-ÿ -]{1,100}$ — accents permitted, digits and apostrophes rejected |
| Stock symbol / exchange | public companies only | 10 / enum | exchange from a 45-value enumeration |
| Alt business ID | optional | 50 | type ∈ {DUNS, GIIN, LEI}; optional external enrichment |
| Business contact email | public companies: required | 100 | must be a named person at the brand; personal, free-mailbox, and role addresses (sales@, support@) are rejected Tier 1 |
4.2 Entity types and their conditional matrix
Live enumeration returns exactly five: PRIVATE_PROFIT, PUBLIC_PROFIT,
NON_PROFIT, GOVERNMENT, SOLE_PROPRIETOR.
| Entity type | Additionally required | Suppressed / special |
|---|---|---|
| PRIVATE_PROFIT | standard set | the default commercial case |
| PUBLIC_PROFIT | stock symbol, stock exchange, website, business contact email | subject to the Auth+ regime (§5.4) |
| NON_PROFIT | standard set | tax-exempt subsection verified externally; an "N/A" result routes to an attestation appeal rather than a resubmission |
| GOVERNMENT | US EIN; IRS-verified | country forced to US; foreign governments ineligible and must register as private companies; barred from several use cases (§6.4) |
| SOLE_PROPRIETOR | first/last name, mobile phone plus SMS one-time-password verification, CSP reference ID | vertical, EIN, and business contact email suppressed; heavy duplicate caps (§13.1) |
Cross-field mechanics the portal enforces on edit: changing entity type clears the public-company fields; changing country clears the entire address and the tax ID; changing the tax-ID issuing country clears the tax ID. Sanctioned jurisdictions — Cuba, Iran, North Korea, Syria — are excluded from every country selector.
4.3 Verticals
Twenty-three, each with a stable key, an industry slug, a display name, and a description. Live keys:
AGRICULTURE, COMMUNICATION, CONSTRUCTION, EDUCATION, ENERGY, ENTERTAINMENT, FINANCIAL, GAMBLING,
GOVERNMENT, HEALTHCARE, HOSPITALITY, HUMAN_RESOURCES, INSURANCE, LEGAL, MANUFACTURING, NGO, POLITICAL,
POSTAL, PROFESSIONAL, REAL_ESTATE, RETAIL, TECHNOLOGY, TRANSPORTATION.
5Identity verification & vetting
5.1 The identity status ladder
Four values, in ascending order of trust: SELF_DECLARED → UNVERIFIED →
VERIFIED → VETTED_VERIFIED. Registration submits identity facts; the registry's
verification partner checks them against external registries; the result lands asynchronously.
5.2 Vetting classes
Live enumeration, with validity periods — note that all five report a 1200-month validity (effectively perpetual) at the registry layer, which is not the same as the vendor-side or election-cycle expiries described in policy documents (§6.2):
| Class | Purpose | Registry validity |
|---|---|---|
STANDARD | Covers all but political and exempted use cases; returns a 0–100 score plus feedback | 1200 months |
ENHANCED | Detailed vetting with a written vet report | 1200 months |
POLITICAL | Required for federal-level political campaigns | 1200 months |
AUTHPLUS | Brand verification via a 2FA email to a business contact | 1200 months |
RCS | RCS Business Messaging eligibility | 1200 months |
5.3 What the score actually measures
The vetting score is a 0–100 identity-confidence number. Analysis of a large outcome corpus establishes three things about it:
- Roughly 90% of its variance is explained by factors outside the submission — business registries, web-domain authenticity and age, firmographic data. The payload is a minority contributor. This is a bureau product, not an assessment of the message program.
- The in-payload levers that do move it are coherence signals. Contact email on the company's own domain rather than a free mailbox: on the order of +3 points average, with elite (70+) outcomes several times more likely. A merchant-owned website rather than a platform-issued link: on the order of +4 points. Short DBAs closely derived from the legal name: the largest single in-payload weight.
- Graders disagree materially. The two commercial vetting vendors score the same population
about eleven points apart at the median. A score is therefore never a fact on its own; it is a
(score, vendor, epoch)tuple, and any system that stores or acts on scores without the vendor and date is calibrated against noise.
The practical implication for anyone building on this: do not gate on a predicted score. Use score drivers as coaching, because the ceiling of payload optimization is low and the vendor variance is high. Do gate on the mechanical rules, where the ceiling is 100%.
5.4 Authentication+ (public companies)
A distinct verification product with unusually sharp edges. It verifies two things: that the brand's registered web domain matches the business-contact email's domain, and that a human at that address completes a 2FA attestation.
- Prerequisites: public-company entity type; business contact email populated; identity already VERIFIED or better; no other pending Auth+ vet. Distinct numeric errors are returned for a missing business email, a wrong identity status, and a non-public entity type.
- The attestation PIN is valid 7 days; resend is permitted while pending. Failure to complete within 30 days fails the vet non-appealably — the remedy is buying another vet.
- Once active, brand identity fields cannot be changed at all; a new brand is required. Changing the business contact email is permitted but expires the active vet, blocking new campaign registration until re-verification.
- Appeals are limited to failed results, within 45 days, under two categories: email-ownership and domain-ownership.
The generalizable lesson from Auth+ applies to every entity type, because it reveals what the verification layer actually checks: the contact email's domain is compared to the registered website's domain. Coherence between those two fields is a real, mechanized check — not a heuristic.
6The 27 use cases
A use case declares what a campaign is for. It determines the monthly fee, the carrier throughput class, the eligibility prerequisites, and — least documented and most consequential — the scope of content the campaign may carry.
6.1 Where use-case rules actually live
There is no published table mapping use cases to their requirements, because the mapping is distributed across three mechanisms:
| Mechanism | Carries | Visibility |
|---|---|---|
| The enumeration service | Classification (standard vs special), sub-use-case minimums and maximums, which use cases may serve as children, fees, max phone numbers | Server data. Fully readable with an authenticated account — reproduced in §6.3. |
| Per-brand qualification metadata | For each use case, for each carrier: a
qualify boolean, minimum sample-message count, whether subscriber opt-in/opt-out/help are
forced, whether embedded links or phone numbers are forbidden, and carrier throughput class —
plus a field-greyout map that can disable or mask individual form fields per brand and use case |
Computed per brand by a server-side rules engine. Entity-type and vetting prerequisites are evaluated here; the portal only reflects the resulting boolean. A use case's obligations are therefore not knowable until a specific brand exists. |
| Prescriptive helper prose | The de-facto copy specification (§8) | Client source. Tier 3 by origin — but §9 shows the carriers enforce it verbatim, which promotes it. |
6.2 Eligibility gates by tier
Three distinct gate types recur across the catalogue:
- Post-registration carrier approval required — the campaign registers, then waits for a carrier decision: carrier-exempt, conversational, emergency, sweepstake, agents-and-franchises, proxy, K-12 education.
- Restricted to pre-approved submitters — the CSP itself must be approved before the use case appears: social, platform free trial; and by separate carrier-reviewed application, both UCaaS tiers.
- Entity or credential gated — charity (verified 501(c)(3)); political (non-profit legal form plus either a verified 501(c)(3/4/5/6) subsection or a political vet); sole proprietor (an EIN-less individual); public-safety (not available to the public at all).
Political deserves its own note because its enforcement mechanism is temporal rather than textual: political vets expire on dates that vary by election type, and on expiry all of the brand's political campaigns deactivate within 24–48 hours. If the expired vet was also what confirmed the brand's tax-exempt status, the brand drops to UNVERIFIED and can register nothing at all. Political tokens are single-use; the non-billable federal provider can issue several per vet, the billable one cannot.
6.3 The complete catalogue, with sub-use-case structure
Tier 2 — live enumeration. "Sub" columns are the minimum and maximum child use cases; "valid child" marks a use case that may itself be selected as a child of another.
| Use case | Class | Sub min/max | Valid child | Scope limit or note |
|---|---|---|---|---|
| 2FA | Standard | 0 / 0 | yes | Authentication, verification, one-time passcodes |
| ACCOUNT_NOTIFICATION | Standard | 0 / 0 | yes | Reminders, alerts, notifications about an account |
| CUSTOMER_CARE | Standard | 0 / 0 | yes | Account management and support interaction |
| DELIVERY_NOTIFICATION | Standard | 0 / 0 | yes | Status of a product or service delivery |
| FRAUD_ALERT | Standard | 0 / 0 | yes | Potential fraudulent activity on an account |
| HIGHER_EDUCATION | Standard | 0 / 0 | yes | Colleges, universities, districts outside "free to the consumer" models |
| MARKETING | Standard | 0 / 0 | yes | Any marketing or promotional content |
| POLLING_VOTING | Standard | 0 / 0 | yes | Surveys, polling, voting |
| PUBLIC_SERVICE_ANNOUNCEMENT | Standard | 0 / 0 | yes | Awareness of an important issue |
| SECURITY_ALERT | Standard | 0 / 0 | yes | System compromise requiring user action |
| MIXED | Standard | 2 / 5 | no | Undeclared combination — the only use case requiring two children |
| LOW_VOLUME | Standard | 1 / 5 | no | Small throughput, any combination; self-described as including test and demo accounts |
| M2M | Standard | 0 / 0 | no | Machine-to-machine; no human interaction; subscriber-facing campaigns prohibited |
| CHARITY | Special | 0 / 5 | no | 501(c)(3) only; help and fundraising — explicitly not reminders, scheduling, 2FA, or account updates |
| POLITICAL | Special | 0 / 5 | no | Non-profit + subsection or political vet; expiry deactivates campaigns (§6.2) |
| PROXY | Special | 0 / 5 | no | Peer-to-peer proxy/pooled numbers; carrier approval |
| SOCIAL | Special | 0 / 5 | no | Closed-community communication; pre-approved submitters only |
| CARRIER_EXEMPT | Special | 1 / 5 | no | Requires an existing carrier exemption agreement; the portal warns that proceeding without one invites rejection |
| SOLE_PROPRIETOR | Special | 1 / 5 | no | See §13.1 |
| AGENTS_FRANCHISES | Special | 0 / 0 | no | Localized numbers per agent or office; carrier approval |
| EMERGENCY | Special | 0 / 0 | no | Government agencies and first responders; carrier approval |
| K12_EDUCATION | Special | 0 / 0 | no | Faculty to parents/students for educational support — not post-secondary, not PTA or fundraising |
| SWEEPSTAKE | Special | 0 / 0 | no | Carrier approval |
| TRIAL | Special | 0 / 0 | no | Platform free trial; see §13.2 |
| UCAAS_HIGH | Special | 0 / 0 | no | Approved UCaaS businesses; not for API/automated communication |
| UCAAS_LOW | Special | 0 / 0 | no | As above, lower volume tier |
| PUBLIC_SAFETY_RESTRICTED | Special | 0 / 0 | no | Restricted class of service; "not available to the public" |
Note the asymmetry: of the thirteen standard use cases, ten may serve as children of a MIXED or LOW_VOLUME parent; MIXED, LOW_VOLUME, and M2M may not. No special use case may be a child.
6.4 Use-case denials by entity type
Verified government brands may not declare charity, political, sole-proprietor, or platform-free-trial use cases on either major carrier, and additionally not carrier-exempt on one of them. The structural reason is that each of those has its own entity gate incompatible with government status — which illustrates a general principle: use-case eligibility and entity type are jointly constrained, and the intersection is computed server-side rather than published.
7The campaign rulebook
A campaign is a registered message program attached to a verified brand. It carries the copy, the consent mechanics, the declared attributes, and the carrier provisioning state.
7.1 Copy bounds
| Field | Bound | Notes |
|---|---|---|
| Description | 40–4096 | Must state the brand and the program's purpose, and align with the declared use case |
| Message flow / call-to-action | 40–4096 | Must display all six CTA elements (§8.2) |
| Each sample message | 20–1024 | Count must meet or exceed the maximum of the selected carriers' minimums; no public URL shorteners; the brand must be identifiable |
| Opt-in / opt-out / help messages | 20–1024 each | Content requirements in §8.1. Opt-out and help responses are required when their attributes are declared; the opt-in message is optional but bounded |
| Terms and privacy links | ≤2048 | Must resolve, be brand-consistent, and contain required content (§8.3) |
| Embedded-link sample | ≤255 | Bounded but, notably, not required even when embedded links are declared |
| Reference ID | ≤50 | Submitter's own correlation key |
7.2 The eight declared attributes
Every campaign must answer eight booleans explicitly — no defaults are accepted: subscriber opt-in, subscriber opt-out, subscriber help, embedded link, embedded phone, age-gated, direct lending, and terms acceptance. Three mechanics govern them:
- Carrier metadata can force values. Where a selected carrier requires subscriber opt-in/opt-out/help, the toggle is locked to yes.
- Terms acceptance is effectively mandatory — locked to yes in the current form, asserting the campaign follows industry messaging principles. Submitting it false is a documented registry failure (§9.3).
- Age-gating, direct lending, and number pooling are declarations only — no additional fields are collected. Number pooling additionally signals an intent to use fifty or more numbers, which triggers a different provisioning path on one carrier.
7.3 Keyword mechanics
Opt-out and help keywords default to STOP and HELP. Characters are restricted
to letters, digits, and spaces; entries are auto-uppercased; the aggregate joined length is capped at
255 with no per-keyword count limit. Critically, the defaults are deletable — no client rule
forces STOP or HELP to remain, so that obligation is enforced only downstream by carrier review
(and §9 shows it is).
8The copy specification
This is the least documented and most frequently violated part of the regime. The requirements below originate as helper prose in the submission portal — nominally tier 3 — but §9.1 reproduces the carriers' own verbatim rejection text enforcing them almost word for word, which makes this section tier 1 in effect.
8.1 The three consent messages
| Message | Required content |
|---|---|
| Opt-in confirmation | Four elements: the brand's DBA name; confirmation of enrollment in a recurring message program; how to get help; and a clear description of how to opt out. In practice carriers also require message frequency and the fee disclosure here. |
| Opt-out reply (STOP) | The brand name, an acknowledgement of the opt-out request, and confirmation that no further messages will be sent. |
| Help reply (HELP) | The brand name and a support contact — an email address, a phone number, or a support website. |
8.2 The six call-to-action elements
The CTA must describe how consumers opt in and grant consent, be explicitly clear about the nature of the program, and list every opt-in method if more than one exists. It must display: (1) the program name, (2) message frequency, (3) the "message and data rates may apply" disclosure, (4) a STOP keyword, (5) a link to terms and conditions, (6) a link to a privacy policy.
8.3 Hosted document requirements
- Terms and conditions must contain: message frequency, a description of the message program, fees, opt-in and opt-out instructions, customer-care contact information, and a reference to the privacy policy. It must be consistent with the registered brand.
- Privacy policy must explain how personal data is collected and used, and must state that mobile opt-in data is not shared with third parties for marketing purposes. It too must be brand-consistent.
- Both must actually resolve. "Brand-consistent" in practice means hosted on a domain that reads as the brand's own — see the website-verification failure codes in §9.2.
Upload channels are content-typed and mutually exclusive: the supporting-document slot is for CTA, terms, and privacy evidence and explicitly not for message samples; the sample-multimedia slot is explicitly not for CTA or policy material. Five files each, ten megabytes apiece.
9Rejection taxonomy & carrier codes
Since a 2025 platform release, a party declining a shared campaign must select at least one category and provide an explanation — which made rejection reasons machine-readable for the first time. Nine categories exist at the registry layer; beneath them the carriers use their own numeric codes, which are not published anywhere and are reproduced here from observed rejections.
9.1 The nine registry categories
| Category | The computable check |
|---|---|
BRAND_INCONSISTENCIES | Brand fields complete for the entity type, and brand details consistent with campaign details — names, domains, program identity all resolving to one entity |
CALL_TO_ACTION | All six CTA elements present (§8.2) |
CAMPAIGN_DESCRIPTION_OR_ATTRIBUTES | Description states brand and purpose; the eight attribute declarations are consistent with the samples |
MANDATORY_MESSAGE_TERMINOLOGY | Opt-in confirmation, opt-out confirmation, and help response present with required disclosures (§8.1) |
SAMPLE_MESSAGE | Samples align with the declared use case; no public URL shorteners |
TERMS_AND_CONDITIONS | Resolvable, brand-consistent, containing the six required elements (§8.3) |
PRIVACY_POLICY | Resolvable, brand-consistent, with the no-third-party-marketing statement |
DISALLOWED_CONTENT | The content-posture category — see §14 |
OTHER | Free-text catch-all |
9.2 Observed carrier codes Tier 1
These numeric codes appear in real rejection payloads. They are the operative vocabulary of the review layer and are documented in no public source.
| Code | Meaning | Underlying requirement |
|---|---|---|
| 603 | Inaccurate registration — inconsistency between brand, website, description, CTA, and/or samples | Coherence (§9.1 brand inconsistencies) |
| 611 | Consent-message content failure — the single most common rejection observed | §8.1, verbatim in §9.3 |
| 701 | Prohibited content — controlled substances | Content posture (§14) |
| 707 | Prohibited content — tobacco/vape: failure to age-gate | Age-gate attribute vs content |
| 803 | Verification failure (general) | Brand validation |
| 804 | Unable to verify — needs a working website or online presence for brand validation | Website existence |
| 805 | Verification failure — related brand/website evidence | Website coherence |
| 806 | Unable to verify online presence | Website coherence |
| 807 | Unable to verify — inauthentic website | Website authenticity |
| 861 | Program-composition failure (e.g. lead generation or affiliate marketing indicators) | Program nature vs declaration |
9.3 Verbatim server and carrier text Tier 1
These strings are the specification, as the enforcing systems state it.
Consent-message content (code 611)
EIN format
Business email quality
Registration coherence (code 603)
Website authenticity (codes 804 / 807)
Other observed registry failures
Note that the 611 text is materially stricter than the portal's own helper prose: the portal says the brand name "may" appear in the opt-out and help replies, while the carrier requires it. Where tier 3 and tier 1 diverge, this is the direction the divergence takes — the enforcing layer is harsher than the submitting layer suggests.
10Carrier terms & throughput
Approval is not binary; it comes with a throughput grant that varies by carrier, use case, entity type, and vetting outcome. The two largest carriers use different models:
- One carrier assigns a message class per campaign — a letter grade mapping to messages per minute, separately for SMS and MMS. Government entities and certain special use cases receive fixed classes that vetting cannot improve.
- The other assigns a brand tier and a daily cap, where the cap is a brand-level property rather than per-campaign. Verified non-profits and government entities receive elevated or uncapped treatment; a political vet can lift an otherwise-capped brand.
Two structural consequences follow. First, throughput is a function of identity, not of need — the way to send more is to be more verifiable, not to ask. Second, some grants are vet-immune: for government entities and several special use cases, buying a vet cannot improve terms, so vetting spend there is pure waste. Sole-proprietor and free-trial programs carry hard per-number daily caps that the submitting CSP is contractually responsible for enforcing.
11Lifecycle, events & traps
11.1 The state machines
Brand: created → identity verification (async) → verified or failed → optionally vetted → (on identity edit) demoted to unverified. Campaign: created → shared upstream → accepted or declined by each connectivity partner → provisioned or rejected per carrier → live → renewed monthly → optionally suspended → expired or deactivated.
Observed live campaign states include registry-side failure, carrier rejection, full carrier provisioning, expiry, and per-carrier suspension flags — the last of which can be set on an otherwise healthy campaign.
11.2 The event stream
The registry emits an immutable event stream covering brand lifecycle (creation, identity-status change, identity-vet failure, appeals, revets, one-time-password verification), campaign lifecycle (creation, billing, updates, expiry), the sharing chain (shared, accepted, declined — carrying the mandatory rejection categories), per-carrier operations (review, approved, rejected, suspended, unsuspended), aggregator-level suspensions with a category, complaints, and carrier suspension rules. Billing events fire on creation and on every renewal, which makes the stream a usable cost telemetry source.
11.3 Four traps worth institutional memory
- The exclusion deadlock. A downstream aggregator may exclude specific carriers when accepting a campaign. If an excluded carrier is not explicitly removed by the submitter, the "fully provisioned" completion event never fires. Any process waiting on that event waits forever; the only exit is an explicit removal call.
- EIN-keyed suspension. Carrier suspension rules may key on the brand identifier or on the tax ID. An EIN-keyed rule suspends every brand sharing that tax ID on that carrier at once. Any entity that registers many brands under one tax ID carries correlated, fleet-wide risk.
- Silent identity demotion. Covered in §5.1 — the drop to unverified is announced only by an event, and blocks new registration while leaving existing campaigns running. A monitor that only watches campaigns will not see it.
- Asymmetric nudge routing. A formal unstick mechanism exists, with counterintuitive routing: a review nudge may be sent only while a campaign is pending and goes to the last party that has not accepted; an appeal nudge may be sent only after rejection and goes to the last party that did accept — because the rejector has left the chain.
12The fee schedule
Prices as published in the operator's own fee document. The pattern to notice is not the magnitude but the structure: failure is billed, appeals are billed regardless of outcome, and every correction to a mistake costs the price of the original action.
| Action | Fee | Structure note |
|---|---|---|
| Submitter (CSP) registration | $200.00 | one-time entry cost |
| Brand registration incl. identity verification | $4.50 | $4.00 for sole proprietor, including its OTP |
| Brand identity resubmission | $4.50 | charged for any key-field correction |
| Identity status appeal | $11.00 | charged win or lose; 45-day window |
| Standard vet | $41.50 | failed standard vet still billed $5.00 |
| Enhanced vet | $101.50 | failed enhanced vet still billed $6.00 |
| Auth+ vet | $12.50 | charged for success or failure |
| Political vet | $66.00–$96.00 | failure billed $22.00; express PIN delivery costs more |
| RCS vet | $50.00 | failure billed more than success at $75.00; appeal $20.00 |
| RCS brand assets | $20.00 each | re-verification $50–75 per asset |
| Campaign, most use cases | $10.00/month | auto-renewing; a rejected campaign still consumes a billing period |
| Campaign, discounted tiers | $1.50–$5.00/month | low-volume, UCaaS-low, sole proprietor, charity, emergency |
| Campaign, premium tier | $30.00/month | agents and franchises |
| Submitter migration | $0.50 per campaign | sole-proprietor brands cannot migrate |
The economics in one sentence: the regime charges per error against rules it does not publish. Any party that reconstructs the mechanical layer and validates before submitting converts a recurring, unpredictable tax into a fixed engineering cost — which is the entire practical argument for documents like this one.
13Special programs
13.1 Sole proprietor
A path for entities without an EIN — explicitly not a cheap alternative for EIN-holders, and audited as such. Limits: one campaign and one phone number per brand. SMS one-time-password verification is mandatory before any campaign may register, and re-verification is required after a mobile-number change. Cross-submitter duplicate caps apply and are enforced server-side with distinct numeric errors: three brands per mobile number, ten per email address, ten per street address — across all submitters industry-wide. Disposable email domains are refused; names are run through an obfuscation detector. Monthly per-carrier volume reporting is mandatory even for zero traffic, with a five-business-day cure period before the submitter's entire sole-proprietor book is disabled.
13.2 Platform free trial
For non-paying, time-limited trial users. Restricted to pre-approved submitters under contract; the trial brand is created by the registry itself, not by the submitter. One campaign for the submitter plus one per reseller. One verified sending number per participant; a maximum of ten opted-in destination numbers per participant; a hard per-number daily cap the submitter must enforce; and a mandatory watermark on every message naming the submitting platform. Monthly compliance reporting required. Vetting cannot improve free-trial terms.
13.3 Government
US-based with a valid EIN, verified against the tax authority; foreign government bodies are ineligible and must register as private companies. Enhanced vetting is never required. Verified status grants elevated fixed carrier terms that vetting cannot further improve, and bars several use cases (§6.4).
13.4 Non-profit edge cases
Where automated verification returns no tax-exempt subsection — common for small religious organizations absent from tax-authority databases — a paper attestation path exists: an identity-status or vet appeal accompanied by a sworn form asserting exclusively charitable purpose, no private inurement, no substantial lobbying, no political-campaign intervention, and lawful purposes. All five assertions are required. Note the content implication: an organization cleared by this route has formally attested away political-intervention messaging.
13.5 UCaaS and RCS
UCaaS requires a carrier-reviewed application by the submitter, and mandates that each business using the platform registers as its own brand — aggregating businesses under one submitter brand is prohibited. Description and samples must name the specific business and its intended use. Automated or API-driven traffic is excluded, as is registering UCaaS traffic under any other use case.
RCS (rich messaging) is an adjacent regime with its own vet class, valid one year, and its own gates: sole proprietors excluded entirely; brand logo and banner each individually verified for a fee; a platform-minted agent identifier per campaign; external content verification after carrier acceptance, initially without appeal; and asset immutability after verification. A successful RCS vet also confers Auth+ compliance.
14Posture versus practice
The regime's published content rules and its observed enforcement differ, and any accurate reading of the rulebook must account for the gap.
What the documents say: a disallowed-content category names gambling, drugs, hate speech, illegal activities, and high-risk services as strictly prohibited. Carrier codes exist for controlled substances and for age-gating failures. A suspension-rule category references controlled substances.
What the outcomes show: regulated-vertical brands register successfully under ordinary verticals, achieve high identity-vetting scores, and operate provisioned campaigns at scale. The taxonomy contains no vertical for such industries — they are not modelled as a category at all. Enforcement, when it occurs, lands on campaign content and coherence rather than on the brand's industry: the observed prohibited-content rejections are a small minority of submissions, and sit alongside far more numerous consent-copy and website-verification failures.
15Structural conclusions
- Most of the regime is arithmetic. The mechanical layer — formats, bounds, enumerations, required-field matrices, consent-copy elements — is deterministic and now written down. Analysis of a large outcome corpus puts roughly sixty percent of historical failure volume in this layer, with the single largest cause being a message-content rule that a string check catches. The expertise the ecosystem prices as judgment is mostly an unpublished specification.
- The judgment layer measures coherence, not merit. Does the DBA derive from the legal name; does the contact email's domain match the registered website; do the campaign's policy pages live on the brand's own domain; does the copy name the registered brand. Four separate carrier codes exist for website verification alone. A brand that is internally consistent and externally verifiable passes; one that is fragmented does not, regardless of legitimacy.
- Scores are not facts. Ninety percent of vetting variance lies outside the payload, and the two graders differ by roughly eleven points at the median on the same population. Any use of a score must carry its vendor and epoch, and no process should gate on a predicted score.
- Enforcement is post-hoc as well as pre-hoc. Declared attributes are checked against live traffic; suspensions can key on a tax ID and take out an entire fleet; identity demotion is silent and blocks new registration while leaving existing traffic running. A compliance posture that ends at submission is incomplete by design.
- Secrecy is load-bearing. Failure is billed, appeals are billed regardless of outcome, and every correction costs the price of the original action — against rules that are not published. The absence of a specification and the per-error fee model are structurally the same fact.
- The knowledge decays. The regime drifts without a changelog; the operator's own corpus records a mid-2026 tightening. A reconstruction is a photograph. The one durable source of truth is the regime's own output: mandatory rejection categories, carrier codes, vetting scores, and status transitions, captured continuously. A party that structurally records those outputs holds a self-correcting model of an unpublished regulator; a party that does not holds folklore.