> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbit.devotel.io/llms.txt
> Use this file to discover all available pages before exploring further.

# SMS opt-out & opt-in rules

> Configure the keyword rules that unsubscribe and re-subscribe contacts on the dedicated Opt-out & opt-in rules page — deterministic seed defaults, scope, role access, and how to prove a rule fired.

# SMS opt-out & opt-in rules

The **Opt-out & opt-in rules** page is where you manage the inbound SMS keywords that unsubscribe (opt-out) or re-subscribe (opt-in) a contact, and the auto-reply text each keyword sends. Open it from the SMS workspace at **Messages → SMS → toolbar: Opt-out Rules**, or directly at `/messages/sms/opt-out-rules`.

## Who can open the page

The page is restricted to **owner, admin, and developer** roles. Billing, viewer, and supervisor roles get a "you don't have access" screen instead of the editor. If the keyword editor is grayed out for one of your teammates, check their role in the organization settings.

## What each rule configures

Each rule is a keyword plus the auto-reply it sends, in one of two groups:

* **Opt-out keywords** — unsubscribe the contact (STOP, CANCEL, and so on).
* **Opt-in keywords** — re-subscribe the contact (START, YES, and so on).

For each keyword you set:

| Field           | Purpose                                                                                                                                                                   |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Keyword         | The exact inbound word that fires the rule. Keywords are stored uppercase; an inbound match on the word flips the contact's consent in the direction of the rule's group. |
| Auto-reply text | The message the contact receives back (for example, STOP: "You have been unsubscribed. Reply START to re-subscribe."). Leave it blank to change consent silently.         |

Editing is local until you click **Save Rules**. Deleting a row asks for confirmation first, and leaving the page with unsaved edits opens a discard prompt — a reload or closed tab uses the browser's own "leave site?" guard instead.

### Language labels are informational

A keyword recognized as a localized opt-out term (STOP, ALTO, STOPPER, SCHLUSS, PARAR, DUR, and the like) shows its language and the markets where it is common — as a hint, not a filter. A rule for `ALTO` behaves exactly like a rule for `STOP` and applies to every reply-capable number.

## A dedicated route, not an overlay

This editor used to live inside the SMS message list — first stacked above the message-history table, then as a slide-over panel toggled from the list's toolbar. Both shapes mounted compliance management inside the message-operations view, which made the workspace hard to read. The editor is now its own route, reached by real navigation from the SMS toolbar — the message list no longer embeds it at all. When you plan a layout change like this in your own integrations, keep the same split: message operations on one route, compliance configuration on another.

## Where the rules apply

A banner at the top of the page states the scope explicitly:

* **Account-wide.** The rules apply to inbound replies on every reply-capable number (a long code or short code that accepts inbound SMS) in your account. They are not tied to a messaging service, so you don't need to attach one for them to run.
* **Per messaging service.** Each service keeps its own opt-out suppression list, managed on the service — see [Custom Opt-Out Keyword Lists](/guides/opt-out-lists).
* **Per number.** A keyword reply is only recognized on a reply-capable number. An alphanumeric sender ID cannot receive replies, so keyword handling never triggers for those senders. The page shows which of your numbers qualify and warns when none do.

For inbound routing of non-keyword replies, see [Inbound SMS routing](/guides/inbound-sms-routing).

## Merging with the platform STOP/START set

Your rules are **additive only** on top of the platform-level, carrier-mandated keyword set. Deleting every STOP rule from the page still leaves STOP handled at the platform layer — TCPA and CTIA mandate it, and Orbit enforces it regardless of what a tenant configures. Your rules can widen the trigger surface (an alias such as `CANCELAR`, or a branded opt-in like `REJOIN`) but never narrow it.

### Seeded defaults

On first open, the page seeds a multilingual default set — STOP / UNSUBSCRIBE / CANCEL / QUIT / END, Spanish ALTO, French STOPPER, German SCHLUSS, Portuguese PARAR, and Turkish DUR / IPTAL / RED, each with a localized auto-reply, plus opt-in pairings (START, YES, SUBSCRIBE, and localized SI / OUI / JA / SIM / EVET). Because the defaults are deterministic, a seeded `ALTO` row appears on every workspace until you edit and save it.

Prune the rows your audience doesn't use, or add regional aliases as new rules — but keep at least one opt-out path per language you send in. A regulator-audited opt-out word is only ever an addition to the platform set; removing your seeded copy of it does nothing either way.

## Attach and test

The rules apply automatically to every reply-capable number; there is nothing to attach. To prove a rule fired:

1. Text the keyword to one of your reply-capable numbers from a handset.
2. The [Inbox](/guides/inbox-setup) shows the inbound turn and the auto-reply in the same conversation.
3. The contact's profile shows the flipped consent state, with the keyword recorded in consent history; the [Opt-Outs view](/guides/opt-out-lists) lists the record.
4. The [Delivery log](/guides/delivery-log) tracks your auto-reply through `queued → sent → delivered`.

Before you rely on a keyword in a campaign, send a real inbound and confirm the auto-reply lands and the consent state flips — the same test-then-send discipline as the Test delivery check on [Sender IDs](/guides/audience-senders-hub). The editor itself always shows whether keyword handling is operational: the status banner names the eligible numbers, or warns with a direct **Get a number** action when none qualifies.

## Brand-specific opt-outs

If a sender needs branded keyword copy or a region-scoped suppression list, attach a [custom opt-out list](/guides/opt-out-lists) to its messaging service instead of editing the global rules. For a hosted contact-facing page where recipients manage their own subscriptions, use the [Preference center](/guides/preference-center-opt-out-page).
