Assembling a US Marketing-SMS Posture End to End
The Compliance group documents each TCPA control on its own page: quiet hours, opt-out and suppression, DNC and RND scrubs, sender-ID and 10DLC registration, the emergency stop. This guide is the sequence across all of them — the order a tenant actually assembles a US marketing-SMS posture in, and what each step leaves behind as evidence. It extends Posture A from the posture map into a full walkthrough, the same way Posture B extends the GDPR map for EU drip traffic.The tenant-owned framing
Read this first, because it shapes everything below. Orbit’s US marketing-SMS surface follows the same model as the rest of the compliance map (posture overview):- Every control here defaults open or empty. A new tenant has no consent records, no quiet-hours gate, no DNC or RND scrub, no suppression list, no sender registration, and an inactive emergency stop. Nothing on this page is mandated, and nothing gates sending by itself. You assemble the posture; the platform enforces what you set, not a posture it picked for you.
- Orbit is the conduit and the ledger. It carries your traffic, enforces the gates you configure, and keeps the auditable record. It never decides your legal basis, never files with a regulator for you, and never executes a registration on your behalf beyond the TCR pipeline you submit through.
- The ledger reflects what you did. Consent rows, suppression entries, scrub verdicts, and registration states are the record of your assembly. An empty posture exports as an empty posture.
- One platform-level exception. The TCPA federal dialing window for campaign and dialer voice — 8 AM–9 PM recipient-local — hard-blocks with no tenant toggle and fails closed on an unresolvable timezone. That rail is on the voice path only; every SMS control below is tenant-owned and defaults open. See What is not tenant-toggleable.
Section 1 — The US marketing surface map
One row per obligation a TCPA operator usually has to answer, mapped to the Orbit control that holds it and the deep page that documents it.
One adjacent control rounds the map out: the
compliance-health scores are read-only
signals — consent coverage, opt-out velocity, and carrier rejection
rates — that tell you whether the posture you assembled is holding, and
never gate it.
Section 2 — A worked sequence for a US recipient
A concrete run for a tenant sending marketing SMS to US recipients. Each step names what you do and what evidence it leaves behind. The sequence mirrors the GDPR walkthrough — capture consent, configure the send-time window, wire withdrawal, enable the registry scrub — then adds the US-specific registration and stop steps.1. Capture consent with a lawful basis before the first send
Record consent per channel throughPOST /compliance/consent, with
lawful_basis set. For marketing to new US recipients that is usually
express_written_consent; for a re-engagement of an existing list it
might be implied — the assessment is yours, and Orbit records
whichever basis you assert.
2. Configure the campaign fallback quiet-hours window
Set the fallback window every drip or journey inherits when the campaign row has no window of its own — for US marketing SMS a common shape is 08:00–21:00 recipient-local, the conventional TCPA window on the messaging side. In the dashboard: Settings → Campaign limits → Default quiet hours. Over the API:PUT /api/v1/campaigns/quiet-hours/settings.
This is the highest-value send-time control for a US posture: one
write covers every campaign that never sets its own hours. If you also
want 1:1 SMS held, enable the sms channel on the org gate
(settings → quiet_hours.sms.enabled). Details in
Quiet hours configuration.
Evidence left behind: held sends surface in reporting with the
resolved window, and
GET /api/v1/compliance/quiet-hours/preview answers “would this send
be held, and until when” before you roll out.
3. Wire opt-out via STOP and the preference center
Consent you captured must be cheap to withdraw. Three entry points land on the same suppression list:- STOP keywords on SMS/WhatsApp,
POST /compliance/consentwithopt_in: false,- the preference center — configure it through
POST /compliance/preference-center, then hand each contact a signed link so withdrawal arrives structured instead of as a reply chain.
POST /compliance/suppression-list/import before the first send.
Phone rows default to scope all, which also gates voice and dialer.
See Opt-Out & Suppression Lists.
Evidence left behind: fail-closed suppression rows — a suppressed
address is dropped before dispatch regardless of entry point.
4. Enable the DNC registry scrub
Turn ondnc_sync_enabled so /compliance/dnc/check and the
suppression chain scrub against the federal, state, TCR, and
international feeds — not just your own lists. Read the documented
caveat: until a federal feed is synced, a number only on the FTC list
reads back clear, and the federal_feeds_synced field on every
response tells you which state you are in. See
DNC Scrubbing.
Evidence left behind: the send path re-checks the same chain
fail-closed; the check endpoint is a pre-flight read for your cold
lists.
5. Complete brand and campaign registration
For a US long code, file the 10DLC pair — brand (who you are) plus campaign (what the traffic is) — through The Campaign Registry. Unregistered A2P traffic is filtered, surcharged, and throttled by carriers independent of every gate above. For markets that additionally demand a registered sender ID, file that entry throughPOST /compliance/sender-id-registrations and wait for approved
before sending. See the
10DLC concept page and
Sender-ID Registration.
Evidence left behind: the brand + campaign states the carriers
read; the sender-ID entry progresses draft → pending → approved.
6. Rehearse the emergency stop
Know where the kill switch is before you need it.POST /compliance/emergency-stop/activate halts all outbound SMS, MMS,
voice, and dialer traffic in one owner/admin call; /deactivate lifts
it. Blocked sends are rejected with
403 ORG_COMPLIANCE_EMERGENCY_STOP before provider dispatch, so no
balance is debited. Transactional Verify/OTP and email are never gated
by the switch — a login code must still reach a contact mid-incident.
Rehearse the call in a dry run so the runbook is one API call, not a
search. See Send Gates.
Evidence left behind: the audit-log entry carrying the actor,
timestamp, and the reason you supplied — the record a post-incident
review rebuilds the timeline from.
7. Optionally file the RMD and enable the RND scrub
Two optional steps round out a US posture:- RMD — the FCC Robocall Mitigation Database filing is a voice obligation, but carriers increasingly ask for it on a mixed footprint. Work the lifecycle in RMD Registration: draft, submit, certify, and keep the recertification clock.
- RND — if you run a re-consent program (reaching out to numbers
whose consent you captured some time ago), enable
rnd_scrub_enabledso the FCC Reassigned Numbers Database safe-harbor verdict backs each retry. Most marketing-only tenants leave it off. See RND Scrub.
blocked / not_blocked / no_data) per
scrubbed number.
What Orbit does NOT do
Boundary conditions, stated once and plainly:- Orbit never files with a regulator for you. TCPA compliance, DNC registry membership, and carrier relationship are yours. The RMD surface tracks a filing you make with the FCC; Orbit never submits it. The ledger surfaces your posture as evidence; the obligation is yours.
- Orbit never decides your lawful basis.
express_written_consent,implied, or another basis you record — the register screens and flags; the judgement it records is yours. - Orbit never executes consent or opt-out automatically beyond the channels you wire. Capturing consent, wiring STOP, and publishing a preference-center link all arrive on the same suppression layer because you configured them — nothing on this page auto-exec’ a consent record or a STOP on your behalf.
- Nothing on this page gates sending by itself. The send-time gates that exist — quiet hours you enabled, suppression entries you recorded, the DNC scrub you opted in to — are the ones you turned on, and each defaults open. The one platform-level rail is the voice federal window, documented under What is not tenant-toggleable.
- This is not legal advice. The sequence assembles Orbit’s controls; whether the assembled posture satisfies TCPA, state mini-TCPA statutes, CTIA principles, or carrier rules for your traffic is a call for your counsel.
Related references
- Posture overview — the toggle map this sequence extends.
- Send Gates — the full outbound gate stack: quiet hours, DNC, RND, RMD, emergency stop.
- Quiet hours configuration — the two quiet-hours knobs and their carve-outs.
- Opt-Out & Suppression Lists — withdrawal paths and CSV import.
- 10DLC concept — the brand + campaign pair and how it fits the sender-identity model.
- DNC Scrubbing — feed wiring, the check endpoint, and the fail-open caveat.
- RMD Registration — the filing lifecycle, its five states, and the recertification clock.