Skip to main content

Omnichannel fallback compliance matrix

Choosing a primary channel is not only a reach and cost decision. Each channel carries a different compliance burden, and a fallback chain only works when the next channel in the chain is one your tenant is actually permitted to use. This page consolidates the compliance comparison that otherwise lives scattered across Country Compliance Requirements, STIR/SHAKEN Attestation Posture, and Outbound send gating. Read it once before you assemble a fallback chain; then dive into the deep page for the one or two planes your traffic actually touches.
Every control described here is tenant-owned. Orbit carries the settings and enforces what you set; which laws apply to your traffic and what posture is adequate is your call. This page is not legal advice — the sole exception is the federal TCPA voice dialing window for US recipients, which is a platform guard you cannot toggle.

1. The three planes you weigh per channel

Before you pick a primary or fallback channel, weigh three independent planes. A channel can clear one plane and fail another — the matrix below scores each channel on all three.
  • Registration plane — what you must register before the first send: US 10DLC brand and campaign, DLT (India), per-country Sender-ID registration, toll-free verification, or nothing. Until registration clears, the channel is either blocked (fail-closed, as with Sender-ID countries) or degraded (unregistered 10DLC traffic gets filtered upstream).
  • Window plane — when you may send, recipient-local: the federal TCPA voice window plus state mini-TCPA overlays on US voice, or the per-channel quiet-hours windows you configure yourself everywhere else.
  • Consent plane — the opt-in regime the traffic must satisfy: TCPA opt-in for US SMS marketing, GDPR prior-consent in the EU, CAN-SPAM and CASL for email, Meta’s opt-in plus template rules on WhatsApp.
Registration is lead time, windows are a send-time gate, and consent is the posture you must be able to evidence. All three are your responsibility to set; Orbit enforces the configuration, it does not decide for you.

2. The per-channel matrix

One row per channel: the registration burden, the window constraints, the opt-in regime, and any attestation layer. The per-country rows behind the SMS column come from GET /api/v1/compliance/country-rules, which is the read-only reference the send-time gates consult — query it per market before you commit a channel plan.

3. The fallback decision table

A fallback hop is legal to configure only when the destination channel clears all three planes for that recipient. Run these checks in order; the first no stops the chain. Two rules hold on every hop:
  1. Consent is per channel. Opting into email does not opt the contact into SMS; a fallback hop re-runs the destination channel’s opt-out, suppression, and quiet-hours gates — the same chain documented in Outbound send gating.
  2. The voice window cannot be configured away. Any chain that ends in US voice is bounded by the federal TCPA window. Plan chains that degrade to SMS or email rather than assuming voice is always available.

4. Where each control lives

Per channel, per plane — the surface where you set the posture:
  • Quiet hours per channelsettings → quiet_hours.<channel>.enabled via PUT /api/v1/settings/general; the full gate order is on Outbound send gating and the window mechanics on Send Gates.
  • Opt-out and suppression — STOP keywords, the Consent API, and bulk import; scope decides breadth (all-scope entries gate voice too). Details on Opt-Out & Suppression Lists.
  • Sender registrationPOST /api/v1/compliance/sender-id-registrations per country; the per-market rules it enforces are readable through GET /api/v1/compliance/country-rules.
  • Attestation target and reporting — Settings → Compliance → Attestation; fields and semantics on Attestation Posture.
  • DNC scrub — org setting dnc_sync_enabled, queried through GET /api/v1/compliance/dnc/check; DNC Scrubbing covers the fail-open posture.
The toggle map across all of these — defaults, fail-open versus fail-closed per surface — is the tenant compliance posture overview.

5. Two worked channel-selection examples

US mixed traffic — 10DLC SMS primary, owned-DID voice fallback. A tenant ships order-status notifications to US recipients and wants a voice fallback for “delivery exception” alerts. Primary is SMS on an approved 10DLC campaign; the fallback chain ends in voice from DIDs the tenant owns, so originations attest A and clear the branded-calling screen when enabled. Every hop into voice is still bounded by the federal window — an exception alert at 22:30 recipient-local holds until the window opens; the chain falls back to holding the SMS rather than dialing. Setup order: register the 10DLC brand and campaign first (lead time), then set per-channel quiet hours, then attach the owned DIDs and declare the attestation target. EU traffic — Sender-ID SMS, email with GDPR prior-consent. A tenant runs lifecycle notifications across France and Germany. SMS rides registered alphanumeric Sender IDs where the corridor recommends them (FR per the country-rules reference), email handles long-form drift (templates, invoices) under GDPR prior-consent evidenced through the Consent API. The fallback email→SMS hop only runs for contacts whose consent record carries the SMS channel — otherwise the hop is refused and the send waits for the email retry window. Registration lead time is days per Sender-ID country; the DNS identity (SPF/DKIM/DMARC) clears the same week, so email opens first and SMS joins as registrations land.

See also