> ## 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.

# Singapore SGNIC Sender-ID Registration Rules

> Singapore sender-ID registration rules on Orbit — the IMDA SGNIC alphanumeric sender registry that pre-registers every Sender ID before a +65 handset will receive it, the PDPA deemed-consent marketing posture layered on top, the English STOP opt-out vocabulary, the no-send convention vs tenant quiet hours, and the send-time gate the SG row feeds.

# Singapore SGNIC Sender-ID Registration Rules

Singapore regulates commercial A2P SMS through the **SGNIC sender-ID
registry** — the alphanumeric sender registration regime administered by
the Infocomm Media Development Authority (IMDA). An alphanumeric Sender
ID reaches a `+65` handset only once that sender name is registered on
the SGNIC registry and approved; unregistered alphanumeric traffic is
rejected at the carrier edge, not held for review. Marketing SMS into
`SG` follows the PDPA deemed-consent posture — opt-out, not opt-in —
which the [Singapore and Thailand PDPA Posture](/compliance/pdpa-singapore-thailand)
page documents at the privacy-law level. This page documents the
**sender-registration mechanics only**: the SGNIC registry, the
send-time gate, the opt-out keyword, and the quiet-hours convention.

Singapore is a **tenant-owned burden**. Orbit never mandates your
posture — it keeps the [country-rules reference](/compliance/country-requirements)
that feeds the send-time gates, and it gives you the consent ledger,
the suppression layer, the English opt-out aliases, and the
sender-registration tracking. The legal posture is yours.

<Note>
  This page is documentation, not legal advice. IMDA blocks unregistered
  alphanumeric senders at the carrier — traffic on a Sender ID with no
  approved SGNIC entry does not deliver — and the PDPA consent duty is
  enforced against the sender. Have counsel review your sender-name
  choice, your consent capture, and your DNC-register scrubbing; Orbit
  supplies the surfaces.
</Note>

***

## The SG row — accepted sender classes for Singapore

Read the SG row of `GET /compliance/country-rules?channel=sms` (see
[Country Compliance Requirements](/compliance/country-requirements)).
Consolidated:

| Rule | SG value | What it means for you |
| - | - | - |
| Sender types | `alphanumeric` | Alphanumeric Sender IDs are the registered-sender class for SG. A numeric long code bypasses the SGNIC gate — carriers provision numeric senders at purchase time — but the PDPA consent and DNC surfaces still apply. |
| Registration | `required` | The send-time gate holds A2P SMS to SG on an alphanumeric sender until the SG entry is `approved`. File through [Sender-ID Registration](/compliance/sender-id-registration) and wait for approval before launch. |
| Sender-ID length | 3–11 characters | SGNIC rejects Sender IDs shorter than 3 characters — the same regulatory floor [Sender-ID Registration](/compliance/sender-id-registration) names alongside AGCOM (IT), ANATEL (BR), and OFCOM (UK). Pick a brand name of at least 3 characters. |
| Marketing consent | PDPA — deemed consent (opt-out) | Singapore marketing SMS follows PDPA's deemed-consent posture: you may send on a disclosed, recorded basis until the recipient opts out, subject to the DNC register. This is the opt-out line, not the EU opt-in line. See the [PDPA posture page](/compliance/pdpa-singapore-thailand). |
| Opt-out keyword | English `STOP` | Singapore's opt-out vocabulary is English-language; `STOP` (and its aliases) writes the suppression entry. See [Opt-Out Keyword Alias Table](/compliance/opt-out-keyword-alias-table). |
| DNC register | Singapore DNC provisions (Part 9 PDPA) | The Singapore Do Not Call register gates marketing SMS, voice, and fax to `+65` numbers. Pre-flight through the DNC scrub chain before outbound — see the [PDPA posture page](/compliance/pdpa-singapore-thailand). |
| Quiet hours | Tenant-configured posture | No single statutory SMS marketing window exists under PDPA; the carrier convention avoids overnight sends. Configure tenant quiet hours deliberately — see the quiet-hours section. |

***

## SGNIC — the alphanumeric sender registry

SGNIC is the Singapore sender-ID registry IMDA administers. Singapore
runs a registry-based alphanumeric-sender regime: a Sender ID that
appears as the "from" on an SMS must be on file with the SGNIC registry
before the carriers pass it, and unregistered alphanumeric senders are
rejected at the carrier edge — this is not a filtering posture you can
negotiate with after the fact.

**The rules as they apply to your traffic:**

* **Pre-registration is required.** An alphanumeric Sender ID on an
  SMPP-routed channel into SG delivers only when the SG entry on your
  registration is `approved`. Before approval the send-time gate holds
  the traffic with `MESSAGING_SG_SENDER_NOT_REGISTERED` (422); troubleshoot
  that code with [Troubleshooting Compliance Error Codes](/compliance/troubleshooting-compliance-error-codes).
* **The 3-character floor is regulatory.** SGNIC rejects Sender IDs
  shorter than 3 characters, the same floor enforced by AGCOM, ANATEL,
  and OFCOM — the format rule is 3–11 characters, letters, digits, space,
  hyphen, and underscore. A two-letter abbreviation is not a viable SG
  sender.
* **The sender name must match the brand.** IMDA rejects generic names
  (`INFO`, `SMS`, `ALERT`) that do not tie back to your registered
  entity. Pick a registrable brand name the KYC documents you upload can
  support.
* **Register before traffic.** Unlike a post-paid registration market,
  Singapore rejects the traffic itself when the name is unregistered —
  the send-gate returns the SG sender-not-registered error on any A2P
  attempt until the entry is `approved`.

**Tenant-owned controls that map to the SGNIC rule:**

| SGNIC obligation | Orbit surface |
| - | - |
| Pre-register the alphanumeric Sender ID for SG | [Sender-ID Registration](/compliance/sender-id-registration) — `POST /compliance/sender-id-registrations` with a `country: "SG"` entry referencing your `doc_…` KYC documents; poll until `status: "approved"`. |
| Respect the 3-character floor | Sender-ID format validation on the registration flow — the floor is documented on [Sender-ID Registration](/compliance/sender-id-registration). |
| Pre-flight the sender before filing | `GET /compliance/check?sender_id=<id>&country=SG` — answers "can this Sender ID work in SG?" before you file. |

***

## SGNIC sender registration vs PDPA privacy posture

This page and the [Singapore and Thailand PDPA Posture](/compliance/pdpa-singapore-thailand)
page cover different obligations under the same statute. Read both;
neither substitutes for the other.

| Obligation | This page (sender registration) | The PDPA posture page (privacy) |
| - | - | - |
| **What it governs** | The alphanumeric Sender ID — the "from" name on the SMS | Personal data — consent, DNC, DSAR, the privacy register |
| **Regulator surface** | IMDA SGNIC sender registry | PDPC Singapore + the DNC register |
| **Orbit surface** | [Sender-ID Registration](/compliance/sender-id-registration) + the send-time gate | Consent ledger, suppression, DNC scrub, DSAR, privacy register |
| **Failure mode** | Unregistered sender rejected at the carrier (422) | Unconsented send, DNC-listed number, unfiled DSAR |

A fully-registered SGNIC sender with no PDPA consent records is still a
non-compliant SG posture; PDPA consent with an unregistered sender never
delivers. Both surfaces close the SG row.

***

## PDPA deemed-consent overlay on the registry

SGNIC's registry is a sender-identity regime, not a consent regime. The
PDPA consent duty applies on top of it — registering the sender never
substitutes for consent. Singapore's PDPA operates a **deemed-consent**
posture (strengthened in the 2020 amendment with a
deemed-by-business-necessity class): you may send marketing on a
disclosed, recorded basis until the recipient opts out, subject to the
DNC register.

* **Record the basis.** At acquisition, record the grant with
  `lawful_basis` and a `purpose` string per `(contact, channel)` through
  [Consent Management](/compliance/consent-management). The deemed-consent
  nuance lives in the basis you record, not in a platform default.
* **Scrub the DNC register.** Singapore's DNC register gates marketing
  SMS, voice, and fax to `+65` numbers. Wire the pre-flight check into
  your campaign rollout so an SG-destination list scrubs against the
  combination of your suppression layer and the national register before
  the first send — see the [PDPA posture page](/compliance/pdpa-singapore-thailand)
  and [DNC Scrubbing](/compliance/dnc-scrub).
* **Withdrawal lands on one list.** STOP keywords, the consent API with
  `opt_in: false`, and the preference center all land on the same
  suppression list. A revoked +65 contact stays suppressed regardless of
  which entry point they used.

***

## No-send convention vs tenant quiet hours

Singapore's marketing convention — the carrier expectation under PDPA's
consent context — treats overnight sends as violations of the consent
you captured, but no single statutory SMS marketing window exists under
PDPA. The posture is deliberate configuration, not a default Orbit sets
for you.

| Surface | Behaviour for SG |
| - | - |
| Tenant quiet hours (deliberate) | [Quiet-Hours Configuration](/guides/quiet-hours-configuration) — opt-in tenant control, default **OFF / fail-open**; configure a window covering Singapore overnight hours (a conservative start is 21:00–09:00 Asia/Singapore) if you want the platform to hold SG marketing sends. Nothing in Orbit defaults this on. |
| Platform default (fallback) | When no tenant window is set, drip/journey sends inherit the platform default 21:00–09:00 recipient local — a fallback that incidentally covers a conservative Singapore window, not a tenant guarantee. |
| DNC register | Separate from quiet hours — a `+65` number on the DNC register is blocked at any hour, not just overnight. Pre-flight through [DNC Scrubbing](/compliance/dnc-scrub). |

Singapore runs a fixed **UTC+8** zone with **no daylight saving**, so a
recipient-timezone-resolved window applies the same offset all year.
Validate the recipient timezone resolution with
[Quiet-Hours Preview](/compliance/quiet-hours-preview) before you flip SG
live.

***

## English-language opt-out keyword handling

The [Opt-Out Keyword Alias Table](/compliance/opt-out-keyword-alias-table)
includes the English opt-out vocabulary: `STOP`, `UNSUBSCRIBE`, `CANCEL`,
`END`, `QUIT` — matched with locale-insensitive case-folding and Unicode
normalisation, so a reply `stop`, `Stop`, or `STOP.` all write the
suppression entry.

Singapore's primary commercial-messaging language is English, so the
seeded English aliases carry the SG opt-out vocabulary. When an SG
opt-out fires, the suppression entry it writes is channel-scoped to
`all`, not `sms` — the same propagation behaviour as the English `STOP`
alias. A recipient's `STOP` knocks that contact off SMS, WhatsApp, and
RCS simultaneously: the opt-out is a request to stop being contacted,
not a request to stop SMS. If you have pruned the seeded English rules
in the dashboard, re-add them under **Messages → SMS → Opt-out Rules**
before launching SG traffic.

Publish the opt-out keyword you reference in your consent text and
sender-name footer; the auto-reply your keyword rule writes should
acknowledge the opt-out in English.

***

## Posture-FAQ tuple for Singapore

When you answer "what does Singapore need?" against the
[Posture FAQ](/compliance/posture-faq), the SG-specific tuple is:

* **Default quiet-hours window**: platform fallback 21:00–09:00
  (fail-open fallback only — configure tenant hours deliberately).
* **Opt-in required before marketing**: no — PDPA deemed consent
  (opt-out), subject to the DNC register. See the
  [PDPA posture page](/compliance/pdpa-singapore-thailand).
* **Sender registration level**: `required` (SGNIC pre-registration;
  3-character minimum Sender-ID length).
* **Opt-out keyword family**: English `STOP`, `UNSUBSCRIBE`, `CANCEL`,
  `END`, `QUIT`.
* **Official law**: Singapore Personal Data Protection Act 2012
  (amended 2020); IMDA administers the SGNIC sender-ID registry.

***

## Worked configuration to a defensible SG posture

Narrowed from the generic launch checklist in
[Country Compliance Requirements](/compliance/country-requirements) to
the SG row:

<Steps>
  <Step title="Look up the SG row">
    Call `GET /compliance/country-rules?channel=sms&country=SG` and read
    the SG row's `sender_types`, `registration`, `content_restrictions`,
    and `stop_requirement`. If `registration` is `required`, the
    send-time gate holds SG traffic until an `approved` sender is
    attached — this is the intended behavior, not a fault.
  </Step>

  <Step title="Pick a sender type">
    Alphanumeric Sender ID (pre-registered with SGNIC) or a numeric
    long code — both reach `+65` handsets. Pick an alphanumeric brand of
    at least 3 characters if you want a named sender.
  </Step>

  <Step title="Pre-flight then file the Sender ID">
    `GET /compliance/check?sender_id=<id>&country=SG` to confirm the
    sender is viable, then `POST /compliance/sender-id-registrations`
    with a `country: "SG"` entry referencing your `doc_…` KYC documents.
    Budget the SGNIC registry approval lead time — days to weeks. See
    [Sender-ID Registration](/compliance/sender-id-registration).
  </Step>

  <Step title="Record PDPA consent with the basis">
    Record a consent entry with `lawful_basis` and a `purpose` string per
    `(contact, channel)` before any SG marketing send; Singapore is
    deemed-consent (opt-out) under PDPA, subject to the DNC register.
    See [Consent Management](/compliance/consent-management) and the
    [PDPA posture page](/compliance/pdpa-singapore-thailand).
  </Step>

  <Step title="Scrub the DNC register before outbound">
    Wire `GET /compliance/dnc/check` into your campaign rollout so an
    SG-destination list scrubs against the national DNC register and
    your suppression layer before the first send. See
    [DNC Scrubbing](/compliance/dnc-scrub).
  </Step>

  <Step title="Set tenant quiet hours deliberately">
    Turn on tenant quiet hours covering a window your counsel accepts
    for SG marketing (a conservative start is 21:00–09:00
    Asia/Singapore). Orbit defaults this off. Validate with
    [Quiet-Hours Preview](/compliance/quiet-hours-preview). See
    [Quiet-Hours Configuration](/guides/quiet-hours-configuration).
  </Step>

  <Step title="Wire the English opt-out family">
    Confirm `STOP`, `UNSUBSCRIBE`, `CANCEL`, `END`, `QUIT` are mapped
    into the alias table and write suppression entries at scope `all`.
    See [Opt-Out Keyword Alias Table](/compliance/opt-out-keyword-alias-table).
  </Step>

  <Step title="Launch">
    With the SG sender `approved`, PDPA consent recorded, DNC scrubbed,
    quiet hours set, and the English aliases wired, start sending.
  </Step>
</Steps>

***

## Related references

* [Country Compliance Requirements](/compliance/country-requirements) —
  the full matrix this page expands one row of.
* [Sender-ID Registration](/compliance/sender-id-registration) — the
  submit-and-track flow for the SG `required` registration, the 3–11
  character format rules, and the lead-time table.
* [Send Gates](/compliance/send-gates) — the send-time enforcement the
  SG `required` registration feeds.
* [Singapore and Thailand PDPA Posture](/compliance/pdpa-singapore-thailand) —
  the PDPA privacy posture (consent, DNC, DSAR, privacy register) this
  page's sender-registration mechanics layer on top of.
* [Opt-Out Keyword Alias Table](/compliance/opt-out-keyword-alias-table) —
  the English `STOP` and verb-form aliases the SG opt-out wires.
* [DNC Scrubbing](/compliance/dnc-scrub) — the DNC-register pre-flight the
  SG outbound sequence wires.
* [Quiet-Hours Configuration](/guides/quiet-hours-configuration) — the
  tenant-owned opt-in control you use to cover the SG window.
* [Quiet-Hours Preview](/compliance/quiet-hours-preview) — validate the
  recipient timezone resolution before you go live.
* [Consent Management](/compliance/consent-management) — where the SG
  PDPA consent record lives.
* [Troubleshooting Compliance Error Codes](/compliance/troubleshooting-compliance-error-codes) —
  the regional-gate error surface the SG row lands in
  (`MESSAGING_SG_SENDER_NOT_REGISTERED`).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.