Skip to main content

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.
This page describes Orbit’s platform controls. It is not legal advice. Which obligations apply to you — TCPA, state mini-TCPA statutes, CTIA messaging principles, carrier 10DLC rules — depends on your traffic and recipients. Confirm with qualified counsel.

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. Record consent per channel through POST /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.
Evidence left behind: a per-channel consent row with basis, source, and timestamp — exportable as the proof-of-record file in Export Consent & Suppression Records.

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/consent with opt_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.
If you are migrating from another platform, bulk-import the legacy list via 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 on dnc_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 through POST /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_enabled so the FCC Reassigned Numbers Database safe-harbor verdict backs each retry. Most marketing-only tenants leave it off. See RND Scrub.
Evidence left behind: the RMD filing state and live recertification verdict; the RND verdict (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.