US TCPA Junk Fax Prevention Act Compliance for Fax
Fax is a fully shipped Orbit channel. You send withPOST /api/v1/messages/fax on the unified Messaging API and track
delivery under /api/v1/fax (see Fax); inbound faxes
arrive on the fax webhook (see
Fax receive workflow). Any
unsolicited fax advertisement you send to a US recipient also sits
inside the Junk Fax Prevention Act of 2005, which amended the
Telephone Consumer Protection Act (TCPA), 47 U.S.C. § 227, and the
FCC’s implementing rules at 47 C.F.R. § 64.1200. This page maps what
those rules require onto the Orbit controls you already own, so a
marketing-adjacent fax program is configured deliberately rather than
by accident.
Like every compliance control on Orbit outside the platform’s sole
federal voice dialing-window guard, fax posture is tenant-owned.
Orbit ships the send surface and the suppression machinery; it does
not write your cover page or choose your consent basis. This page is
not legal advice — confirm your fax obligations with counsel.
What the Junk Fax Prevention Act requires
Three obligations drive everything else on this page:- Opt-out notice on the first page. Every unsolicited advertisement sent to a telephone facsimile machine must carry, on its first page, a clear and conspicuous notice that the recipient may opt out of future faxes, together with a cost-free mechanism (a fax number, a telephone number, or both) that works at all times.
- The established business relationship (EBR) carve-out. An unsolicited ad fax is permissible only where you have an established business relationship with the recipient and the recipient voluntarily provided the fax number — a prior purchase or a current relationship from a voluntary submission, such as a checkout form that asked for the fax number. The EBR is a carve-out, not a blanket permission: the first-page opt-out notice is still required on every fax you send under it, and any opt-out request ends the relationship for fax purposes.
- Do-not-fax list maintenance. A recipient’s opt-out request must be honored within 30 days and indefinitely, and you must keep an internal do-not-fax list so a number that asked out never re-enters a campaign.
What is tenant-owned on Orbit
Sending flows through one surface only:
POST /api/v1/messages/fax. Because every fax crosses the same
endpoint, the gates and suppression checks described below see every
fax you send, whether it came from a campaign, a flow, or a direct
API call.
Configure a TCPA-safe fax posture
Work through these in order before the first campaign fax:- Put the opt-out notice on every cover page. Render a first page that names your organization, states the fax is an advertisement where that is not obvious, and gives the opt-out mechanism with its “operable at all times” number. Keep it in the base template so no campaign ships without it. Orbit does not inject this language for you — the cover page is your content.
- Classify campaign faxes as marketing. Tag campaign sends with the marketing class in your campaign configuration so the consent, suppression, and quiet-hours gates evaluate them under your marketing posture rather than a transactional one.
- Enable the fax quiet-hours window. Quiet hours are opt-in per
channel; turn the
faxchannel on in your organization’s quiet-hours settings and set the window your reviewers expect (the 8 am to 9 pm recipient-local window is the familiar TCPA default for other channels). CheckGET /api/v1/compliance/quiet-hours/preview?channel=faxwith a destination number before scheduling a blast. - Alias the STOP-fax keyword. Add STOP-FAX and its spelling variants to the opt-out keyword alias table so a recipient who replies “stop faxing me” lands on the suppression ledger instead of an inbox.
- Import your do-not-fax list before any legacy program. If you
are migrating an existing fax program, run the suppression CSV
import with the fax (or cross-channel) scope before the first
send, not after the first complaint. Revoked rows stay exported
with
status=all, which is also your audit artifact later.
How the send gates evaluate a fax
A fax held before dispatch has usually moved through this chain. The order is the order the gates consult your records:- Consent gate. If your organization’s consent policy requires
consent for the send classification, a fax without a consent
record on file is rejected with
MESSAGING_CONSENT_REQUIRED. The gate reads the consent controller’s records — the EBR you recorded in step 2 of your posture setup is what passes this gate. - DNC / suppression scrub. The destination is checked against your suppression ledger and do-not-fax entries. A matching entry does not dispatch: the send result comes back as a skipped / suppressed outcome, and the drop is visible in your delivery events. This is the gate your CSV import and STOP-fax aliases feed.
- Quiet hours. With the
faxchannel enabled in your quiet-hours settings, a fax outside the configured window is held withQUIET_HOURS_BLOCKED; the preview endpoint above returnsallowed_now: falseand the next allowed time, so a scheduler can defer instead of fail. - Frequency caps. If your organization’s frequency caps cover the contact, a fax beyond the cap is held like any other channel’s send.
Canada and the UK apply the same rules to fax
The opt-out discipline does not stop at the US border:- Canada. CASL and the CRTC’s Unsolicited Telecommunications Rules reach fax the way they reach voice: internal do-not-contact lists, identification, and an unsubscribe mechanism that is honored promptly. The posture map is CASL — Canada’s Anti-Spam Legislation.
- United Kingdom. PECR requires prior consent for marketing faxes to individuals and obliges senders to screen against the Fax Preference Service (FPS) and corporate opt-out registers; business-to-business fax carries identification and opt-out obligations. See UK PECR and ePrivacy.
FAQ
Does Orbit add opt-out language to my fax automatically? No. The cover page is your content; Orbit transmits the pages you render without editing them. The statute binds the sender, so the notice, the opt-out number, and your identification belong in your template — kept in the base template, the way CAN-SPAM footers are kept in an email template. How is a replied STOP-fax keyword recorded? An inbound reply matching an alias in the opt-out keyword alias table writes a suppression entry for that sender, scoped so later fax sends to the number are dropped before dispatch, and appends the opt-out to your audit log — the same lifecycle as a STOP on SMS. How do we prove opt-out compliance in an audit? Export the ledger:GET /api/v1/compliance/suppression-list/export
with status=all preserves revoked rows, so the file proves when a
number was suppressed and that no later fax crossed it; pair it with
GET /api/v1/compliance/consent/export for the consent basis you
relied on (the EBR record), and the opt-out audit events for the
requests themselves. The same exports back the quarterly posture
review your counsel asks for.
Related references
- Fax — the send surface, read routes, and delivery status lifecycle.
- Fax receive workflow — the inbound side.
- US CAN-SPAM Compliance for Email — the sibling opt-out model; the same suppression ledger, same footer discipline.
- TCPA Posture Guide — the broader TCPA map across voice and messaging.
- Opt-Out & Suppression Lists — the suppression ledger, scopes, and the bulk CSV import.
- Consent Management — record the EBR / consent basis your faxes rely on.
- Send Gates — every send-time gate, its toggle, and its fail-default.
- CASL — Canada’s Anti-Spam Legislation and UK PECR and ePrivacy — the international equivalents for fax.