Skip to main content

The send-gate evaluation chain

When an outbound send refuses to dispatch, the response names one gate — never two. That’s because every send passes through a fixed ordered chain of checks, and the first gate that says no is the one you hear about. This page describes that chain end-to-end so you can answer “which gate fired, and what’s upstream of it?” without opening five different pages. Every gate below is tenant-owned — you enabled it, you configure its posture, you decide whether it applies to your traffic. One sole exception is called out in place: the US TCPA federal voice dialing window (a platform-global hard guard with no tenant toggle).
This page describes Orbit’s platform controls. It is not legal advice. Which laws apply to your traffic, and what posture is adequate for it, depends on your jurisdiction, your recipients, and the content of your sends. Confirm with qualified counsel.

1. The chain, in order

Read top to bottom. A send exits the chain at the first failing gate and surfaces that gate’s error code — every later gate is silent. The sequence is:
Not every send traverses every node — toggles mean skips. A contact with no STOP-fence doesn’t fail node 2; an org that isn’t HIPAA-mode skips node 7; a US voice call skips nodes 8–10 (they’re SMS-routed); a domestic short-code skips 10DLC. The chain is canonical order, not a mandate that every send hit every gate.

2. The first-matching-gate mental model

The chain evaluates sequentially and exits at the first failure. When you trace a blocked send, walk the chain top-down and ask, at each node, “could this one have fired?”
Concrete trace. A US campaign targets a contact whose number used to belong to a litigator, and the send is queued outside the federal 8 am–9 pm recipient-local voice window. What blocks it? The federal window (node 13) — not the litigator check (which sits upstream at node 3 in the broader posture shape), and not DNC (node 4), because the campaign dispatcher hits the federal voice-window gate before the SIP INVITE leaves the platform. The recipient never gets a call, and the response carries 422 TCPA_FEDERAL_DIALING_WINDOW_BLOCKED. Re-check the recipient at 9 am their local time with GET /compliance/quiet-hours/preview, and the next gate in the chain is what you’ll see — potentially DNC_CONTACT or HIPAA_BAA_REQUIRED depending on posture. Don’t assume the first error was the only gate between the send and dispatch.
Three implications to keep in mind when triaging:
  1. The first error you see is not the only gate that matters. Fix SENDER_ID_NOT_REGISTERED and the very same send may then hit TEN_DLC_NOT_REGISTERED. Iterate down the chain.
  2. A re-check curls them in order — don’t fix in reverse. GET /quiet-hours/preview answers node 6 and 13; GET /dnc/check answers node 4; the BAA status endpoint answers node 7. Re-probe each in sequence after each fix.
  3. A fail-closed transient is never a fix-it-later gate. Node 7 (HIPAA_BAA_GATE_DB_FAIL) and node 13 (timezone-unresolved blocked) close the send on a transient read rather than let PHI or a federal-window violation through silently. Treat those as support escalations, not retry loops.

3. Per-gate ownership map

Every gate in the chain is owned by you, the tenant, except two. The split matters when you read a posture runbook or write an internal change-management request:
“Tenant-owned” here means you control whether the gate applies to your traffic — not that Orbit mandates the posture. Orbit enforces what you set; the decision to engage a gate is yours.

4. Before you escalate — map the code to its deep page

Every error code in the chain has exactly one deep page that owns it. Use this table to leave this page and land on the fix, rather than chasing multiple symptoms across docs. If the code isn’t here, fall back to the troubleshooting-compliance-error-codes routing surface, which maps every pre-send compliance code by gate family, including regional and industry overlays this chain page doesn’t enumerate.

5. Reading order for the rest of the compliance docs

The chain page is the map. The neighbors:

What this page deliberately does not say

  • It does not say which gates your traffic should engage — that’s your counsel’s call and your regulator’s charter, not Orbit’s.
  • It does not list every regional sender-ID overlay (Argentina Enacom, UAE TDRA, Singapore SGNIC, Saudi CST, Indonesia Komdigi). Those are node 8’s market-specific branches and have their own per-market pages.
  • It does not replace legal advice. Read Compliance posture FAQ for the platform-posture framing that pairs with this chain.