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

# SMS sender IDs

> Request, approve and use the branded From name on your SMS — with anti-impersonation screening.

A **sender ID** is the From name recipients see on your SMS. Because every workspace sends through one shared Israeli carrier account, sender IDs are gated to prevent one merchant sending as another's brand — or as a bank.

## The platform pool

`SENDER`, `INFO` and `SHOP` are pre-registered platform sender IDs, available to every workspace with no request. If you never set a sender ID, sends use the default from this pool.

## Requesting a branded ID

<Steps>
  <Step title="Request">
    From **Settings → SMS Sender IDs** (or the onboarding SMS step), request
    your brand. Format: 3–11 characters, `A-Za-z0-9-`.
  </Step>

  <Step title="Automatic screening">
    A clean name **auto-approves instantly**. A name that looks like a bank,
    government body, carrier, a Senderz lookalike, or another workspace's
    active ID is held **pending** for operator review.
  </Step>

  <Step title="Send from it">
    Once **active**, pick it in the SMS composer. Sends from an unapproved
    branded name are rejected at send time.
  </Step>
</Steps>

<Info>
  019 doesn't verify sender IDs — the gate is ours, and it's
  anti-impersonation, not carrier approval. That's why clean names approve
  immediately instead of waiting in a queue.
</Info>

## Status lifecycle

| Status     | Meaning                                             |
| ---------- | --------------------------------------------------- |
| `pending`  | Held for operator review (screening flagged it).    |
| `active`   | Approved — usable in sends.                         |
| `rejected` | Declined or revoked by an operator (with a reason). |

You can remove a `pending` request. A `rejected` row is the operator's decision record and can't be deleted and re-requested into a fresh auto-approve.

## Enforcement at send time

Sender-ID resolution happens **before** the wallet hold, so a disallowed From reserves no credits:

* empty/missing → the platform default (`SENDER`),
* a platform pool ID → allowed,
* your active branded ID → allowed,
* anything else → the send fails with `sender_id_not_approved`. It does **not** silently fall back.

<Warning>
  If an operator revokes an active sender ID, sends from that name start
  **failing** — switch to another approved name. Senderz notifies you when
  this happens.
</Warning>
