Compliance & Regulations
This page describes the compliance controls Sent enforces automatically at send time, the obligations that remain yours, and the primary messaging regulation for each region, with links to authoritative sources. For implementation code, see Handling Opt-Outs and Consent.
This page is an orientation, not legal advice. The linked regulation texts and regulator guidance govern; consult your legal counsel before launching campaigns in a new market.
Enforced at Send Time
Sent applies these controls to every outbound message. They run inside the message pipeline, after the API accepts the send with 202; outcomes surface as message statuses and webhooks, never as synchronous HTTP errors.
| Control | Behavior | Client-visible signal |
|---|---|---|
| Consent gate | Sends to opted-out or suppressed recipients are filtered before any provider call | FILTERED status, reason code ERR_CONSENT_BLOCKED, message.filtered webhook |
| Opt-out keywords | An inbound opt-out keyword sets the contact's opt_out flag across all channels | message.received webhook, opt_out on the contact record |
| Quiet hours | Sends inside a protected local-time window are held, then released automatically | SCHEDULED status, message.scheduled webhook |
| RCS STOP chip | Every outbound RCS message carries a STOP suggested-reply chip | Visible on the delivered RCS message |
Consent Gate
Sent enforces a consent gate on every message. The gate runs inside the message pipeline, after the API accepts your send: if the recipient's contact has opt_out = true, or their phone is on your phone-channel suppression list, the message is finalized as FILTERED instead of being dispatched. No provider call is made and you are not charged. The block is recorded with reason code ERR_CONSENT_BLOCKED (see the Error Catalog); the client-visible signal is the FILTERED status.
The gate is fully asynchronous. A POST /v3/messages batch is accepted with 202 like any other send, even when every recipient has opted out; there is no synchronous BUSINESS_004 rejection. Each message is then finalized as FILTERED individually, so detect opt-out blocks from message statuses (message.filtered webhooks or GET /v3/messages/{id}), not from the HTTP response.
Compliance auto-replies are exempt from the gate: the confirmations Sent sends in response to STOP, START, and HELP keywords are delivered even to opted-out contacts, because CTIA and TCPA guidance permits (and for STOP and HELP requires) that one reply.
Opt-Out Keywords
Every account is seeded with the CTIA/TCPA-mandated default keywords. Matching is exact and case-insensitive: the entire trimmed message body must equal the keyword.
| Action | Default keywords | Effect |
|---|---|---|
| Opt out | STOP, CANCEL, UNSUBSCRIBE, QUIT, END | Sets opt_out = true on the contact |
| Opt in | START, UNSTOP, SUBSCRIBE | Sets opt_out = false on the contact |
| Help | HELP, INFO | Triggers the configured HELP auto-reply |
Opt-out is contact-level and channel-agnostic: a STOP received on any channel suppresses the contact on SMS, WhatsApp, and RCS alike. Custom keywords are configured in the dashboard under Compliance → Opt-Out Keywords. Keyword mechanics, auto-replies, and per-channel caveats are covered in Two-Way Conversations.
Quiet Hours
Quiet-hours rules are defined per destination country and can be scoped to specific channels and template categories. A send that lands inside a protected window is not failed: the message is held with status SCHEDULED and released automatically when the window opens. No action is required to release it.
- The recipient's country and local time zones are derived from the phone number.
- When a number spans multiple time zones, the message is held if any zone is inside a window and released only once the window has opened in all of them.
- Held messages report status
SCHEDULEDonGET /v3/messages/{id}and fire amessage.scheduledwebhook.
RCS STOP Chip
Every outbound RCS message includes a STOP suggested-reply chip; when the template does not define one, Sent appends it automatically. Opt-out footer text is not required on RCS. A tap on the chip is processed through the same keyword pipeline as a typed STOP.
Your Responsibilities
Sent does not collect consent for you and does not know your marketing context. These obligations remain yours under every regulation listed below:
- Consent collection and records. Obtain the legally required form of consent before the first message and keep proof. For US marketing texts this is prior express written consent.
- Sender registration. US long-code traffic requires brand and campaign registration; see 10DLC Registration.
- Data-subject requests. Deletion and access requests under GDPR, LGPD, and similar laws cover the contact data you store in Sent; contacts can be removed with
DELETE /v3/contacts/{id}. - Stricter send windows. Some regimes and some US states restrict marketing hours more tightly than the platform's quiet-hours rules; apply your own send window where your legal review requires one.
Implementation of all four (mirroring opt-outs, setting opt-out state through the API, and custom send windows) is covered in Handling Opt-Outs and Consent.
Regulations by Region
The summaries below orient you; the linked source governs.
| Region | Regulation | Core requirements | Authoritative source |
|---|---|---|---|
| United States | TCPA | Prior express written consent for marketing texts; telephone solicitations restricted to 8 AM–9 PM recipient local time | 47 CFR § 64.1200 (eCFR) |
| European Union | GDPR | Lawful basis for processing (typically consent for marketing); right to erasure; records of processing | Regulation (EU) 2016/679 (EUR-Lex) |
| Canada | CASL | Express consent before sending; sender identification and an unsubscribe mechanism in every message | Canada's Anti-Spam Legislation (ISED) |
| United Kingdom | PECR | Opt-in consent for electronic direct marketing | Guide to PECR (ICO) |
| Australia | Spam Act 2003 | Consent, sender identification, and a functional unsubscribe facility | Spam Act 2003 (Federal Register of Legislation) |
| Singapore | PDPA | Consent for marketing messages; Do Not Call Registry checks | Personal Data Protection Act (PDPC) |
| Brazil | LGPD | Legal basis for processing personal data; data-subject rights | ANPD (national data protection authority) |
Related Pages
- Handling Opt-Outs and Consent: mirroring opt-outs, API opt-out, custom send windows
- Two-Way Conversations: keyword matching, auto-replies, cross-channel opt-out
- Trust & Safety: the full send-time policy pipeline
- 10DLC Registration: US sender registration
Register 10DLC Campaigns via the API
Create, track, update, and delete 10DLC campaigns with the Sent API, from SENT_CREATED to ACTIVE, plus bulk registration patterns for agencies and resellers.
API v2 to v3 Migration
Migrate your integration from the legacy Sent v2 API to v3 and update auth headers, request and response envelopes, error codes, webhooks, and idempotency.