Am I Compliant? A Checklist for US Messaging
US carriers block unregistered SMS traffic and fine businesses that violate messaging rules. This checklist covers every compliance requirement for sending texts from US numbers through JustCall — 10DLC registration, toll-free verification, opt-in rules, and content restrictions.
Use it as an audit. Work through each section, check the boxes, and fix anything that's not in place. If you're setting up for the first time, follow this from top to bottom.
Who this is for: IT admins, ops leaders, and compliance officers managing a team's JustCall SMS setup.
Section 1: Number registration
Every US number you use for SMS must be registered. The type of registration depends on the number type.
Local numbers → 10DLC registration
- Brand registered with The Campaign Registry (TCR) through JustCall. Check status at Settings → Compliance → 10DLC → Brand. Status should show "Approved."
- EIN verified. TCR validates your EIN against IRS records. If your brand was rejected, the most common cause is an EIN mismatch with your legal business name.
- Trust score reviewed. Your trust score determines messaging throughput. Low trust = 1 msg/sec. High trust = 75+ msg/sec. If your score is low, check whether your business details are complete and accurate.
- At least one campaign registered. Each campaign represents a use case (marketing, customer service, account notifications). Check status at Settings → Compliance → 10DLC → Campaigns.
- Campaign approved. Status should show "Active." If rejected, review the rejection reason — common causes: vague use case, missing opt-in flow, sample messages that don't match the stated use case.
- Numbers associated with a campaign. Go to your campaign → Numbers tab. Every local number you send SMS from must be listed here. Unassociated numbers get their traffic blocked.
Detailed guide: 10DLC registration steps · Campaign approval best practices
Toll-free numbers → Toll-free verification
- Verification submitted. Go to Settings → Compliance → Toll-Free Verification. Submit your business details and use case.
- Verification approved. Status should show "Verified." Unverified toll-free numbers are limited to low-volume messaging and risk carrier blocks.
- Use case matches actual usage. If you registered for "customer support" but you're sending marketing blasts, carriers can revoke verification.
Detailed guide: Toll-free verification
Section 2: Consent and opt-in
US law (TCPA) and carrier rules require documented consent before you text someone.
Opt-in requirements
- Every contact has given explicit consent. "Explicit" means the contact took a specific action: checked a box, texted a keyword, filled out a form, or verbally agreed (documented in CRM).
- Consent records are stored. You need to prove consent if a carrier or regulator asks. Store the timestamp, source (which form, which keyword), and the exact language the contact agreed to.
- Opt-in language is clear. The consent text must state: (1) you'll receive texts from [your company], (2) message frequency, (3) "message and data rates may apply," (4) how to opt out.
- Double opt-in for marketing (recommended). Send a confirmation text after initial opt-in: "Reply YES to confirm you'd like to receive marketing texts from [Company]. Reply STOP to cancel."
Opt-out handling
- STOP replies processed automatically. JustCall handles this by default — when a contact replies STOP, they're added to the Do Not Message (DNM) list. Verify by testing: text STOP from a test number and confirm you can't send to it afterward.
- HELP replies return a help message. Contacts who text HELP should get a response with your company name and a support contact. Configure this at SMS → Settings → Auto-Replies.
- DNM list reviewed. Go to Settings → Do Not Message and spot-check. Contacts on this list must not receive texts from any number on your account.
- Marketing messages include opt-out language. Every marketing text must end with "Reply STOP to unsubscribe" or similar.
Detailed guide: SMS opt-in and opt-out · 10DLC message flow guidelines
Section 3: Message content
Carriers scan message content. Violations result in filtering (messages silently dropped) or account suspension.
Forbidden content
- No SHAFT categories. Sex, hate, alcohol, firearms, tobacco — carriers block these outright. Even oblique references can trigger filters. Full list: Forbidden message categories.
- No cannabis/CBD messaging from standard 10DLC campaigns. Some carrier-approved programs exist, but standard campaigns can't mention cannabis products.
- No loan/debt collection via marketing campaigns. Financial services messaging requires specific campaign types and additional compliance.
Content best practices
- Messages identify your business. Include your company name in every text. Contacts don't always have your number saved.
- No misleading content. Don't impersonate another business. Don't claim "you've won" without a legitimate offer. Carriers treat deceptive messaging as a policy violation.
- Avoid URL shorteners. bit.ly, tinyurl, and similar short links are spam signals for carriers. Use your own domain or JustCall's built-in link shortener (which uses your branded domain).
- Frequency matches consent. If you told contacts "up to 4 messages per month," don't send 20. Excessive messaging triggers carrier complaints and can get your campaign suspended.
Detailed guide: JustCall messaging policy · US carrier penalties
Section 4: Throughput and delivery
Compliance isn't just about legality — it's about deliverability. Improperly configured accounts get filtered silently.
- Throughput matches your trust score. Sending faster than your approved rate causes messages to queue or get dropped. Check your throughput limit at Settings → Compliance → 10DLC → Brand (trust score section).
- Messages per number per day within limits. JustCall enforces daily limits per number based on carrier guidelines. If you're hitting limits, spread traffic across more numbers.
- Delivery reports monitored. Check SMS → Analytics for delivery rates. If delivery drops below 90%, investigate — likely causes: carrier filtering, unregistered numbers, or bad contact data.
- Carrier feedback reviewed. Carriers send back error codes for undelivered messages. Common codes: 30007 (carrier filtering), 21610 (contact opted out), 30003 (unreachable number).
Detailed guide: Messaging throughput · SMS delivery troubleshooting
Section 5: Account-level compliance
- JustCall account contact info is current. If JustCall or carriers need to reach you about compliance issues, outdated contact info means you won't get warnings before enforcement.
- Team members trained on compliance. Agents sending texts should know: don't text contacts who haven't opted in, always include company name, stop means stop.
- Audit trail exists. Keep a log of when you registered, which campaigns are active, and when you last reviewed your opt-in process. If you're audited, you'll need this.
Quick status check
Run through this 60-second check to see where you stand:
| Check | Where to look | Green light |
|---|---|---|
| Brand registration | Settings → Compliance → 10DLC → Brand | Status: Approved |
| Campaign registration | Settings → Compliance → 10DLC → Campaigns | Status: Active |
| Numbers associated | Campaign → Numbers tab | All SMS numbers listed |
| Toll-free verification | Settings → Compliance → Toll-Free | Status: Verified |
| DNM list active | Settings → Do Not Message | List exists, STOP auto-processed |
| Delivery rate | SMS → Analytics | Above 90% |
If any check shows red, fix it before sending more messages. Carriers don't warn before blocking — they just stop delivering.
Related guides
- What is 10DLC? — background on the registration system
- 10DLC FAQs — common questions
- SMS compliance guide — full compliance reference
- Set up business texting from scratch — end-to-end setup guide