Mexico NOM-184 Consent Posture
Mexico’s NOM-184-SCFI standard — the enforced compliance guideline for Mexico’s SMS industry by the Secretaría de Comunicaciones y Transportes (SCT) and the carriers that move A2P traffic — requires every promotional SMS sent to a Mexican subscriber to be backed by explicit, time-stamped opt-in consent. The disclosure language goes on your opt-in surface; the consent record goes in Consent Management; Orbit’s Mexico send gate enforces the pairing at dispatch.The MX gate is a tenant-owned control, off by default. It runs
only on Mexico-bound destinations and only when your organization has
opted in via the
regional_send_gates.MX.enabled settings key (see
Gate scope). With the toggle off, sends
are unchecked regardless — Mexican carriers and the regulator enforce
NOM-184 anyway, so the toggle-off path is a carrier-side risk, not a
workaround.Why NOM-184 matters
Two carrier-side realities shape what “compliant” means in Mexico:- Disclosure at opt-in. Each opt-in surface (SMS keyword answer, web form, paper form) must tell the subscriber what they are agreeing to — the brand, the kind of messages they will get, the cadence, and the opt-out path. Carriers reject promotional A2P traffic whose upstream opt-in did not carry that language.
- Time-stamped consent records. A consent claim you cannot tie to a time, a purpose, and the disclosure version the subscriber saw does not survive an audit — carriers and the SCT will ask for the record, not the assertion.
422 MESSAGING_MX_NOM184_CONSENT_MISSING on violation,
see Troubleshoot Mexico NOM-184 consent gate 422
rejects) enforces the second
bullet at dispatch. The posture you assemble in this page feeds the
first.
The NOM-184 disclosure block
Carriers expect this disclosure at every opt-in point. Assemble it once and reuse it across surfaces:Ejemplo: “Al registrarte, aceptas recibir mensajes SMS promocionales de [Tu Marca] sobre ofertas y novedades, hasta 4 veces al mes. Puedes darte de baja en cualquier momento respondiendo ALTO o desde nuestro centro de preferencias. Aplican tarifas estándar de mensajería. Consulta términos en [URL de tu política de privacidad].”Adapt the cadence line and the opt-out verb to your own agreements, but do not drop the four elements the standard expects:
For a back-office transcription of paper-form consent the disclosure is
the paper the subscriber signed; ensure the signed copy goes to
consent_proof_url alongside the record below.
Recording the consent artifact
With the disclosure shown, stamp the artifact on Orbit withPOST /compliance/consent. The fields below are what turns a consent
claim into a defensible record:
Verify the record reads
opted_in with
GET /compliance/consent/lookup?identifier=%2B525512345678&channel=sms
before your next campaign. The full field contract is in
Consent Management & Receipts.
Where disclosures live in Orbit
Three surfaces carry disclosure copy; all three wire back to the same consent records the gate reads:- Public consent form — the hosted preference centre you enable per tenant (Settings → Compliance → Public consent form). Customize the Headline/Body/Footer fields with your NOM-184 block so recipients opting in via the URL see the disclosure before they consent. See Public consent form.
- Keyword auto-replies — your SMS keyword configuration (Messages →
SMS, Opt-out Rules) answers
ALTO/STOP and reinforces data-theft guard copy. The opt-in confirmation you send back when a subscriber texts a keyword should carry the full disclosure block above so the keyword-opt-in is signed with the language carriers expect. - Templates — bake the disclosure into the first message of every
campaign template that opens an opt-in conversation (transactional
sends can carry
metadata.nom184_exempt=trueinstead, per below).
consent_type: nom184 record, so the disclosure copy only differs in location, not in
artifact shape.
Example: assembling a Mexico + US dual posture
A tenant planning both Mexican promotional SMS and parallel US transactional SMS assembles the following:- Enable the MX gate in the production organization
(
regional_send_gates.MX.enabled = true) and keep a dedicated sandbox organization with the key off for gate-free test traffic. - Publish the disclosure block once in the public consent form and reuse it in your keyword-reply template and the first template message.
- Tag US traffic differently: US-destined OTP and account alerts
carry
metadata.nom184_exempt=true, so the gate never asks for a NOM-184 record on genuinely transactional traffic (and US TCPA windows apply separately — see Send Gates). - Verify per recipient with the consent lookup endpoint before the campaign goes out.
Gate scope: the MX toggle
The gate guards the organization settings key:- Path:
regional_send_gates.MX.enabled - Default: off — Mexico-bound sends are unchecked until you opt in.
Symptom → fix mapping (operational half)
This page documents the posture; the operational half — diagnosis, reject response, corrective retry — lives in Troubleshoot Mexico NOM-184 consent gate 422 rejects. Read the mapping there before you open a support ticket.Country requirements reference
The per-country row for MX (sender types, registration, content limits) with the fullGET /compliance/country-rules row contract
lives in Country Compliance
Requirements. Filter the endpoint
with region=LATAM or country_code=MX to read the live row.
Related references
- Consent Management & Receipts — the consent API contract, evidence fields, and proof-of-record export.
- Troubleshoot Mexico NOM-184 consent gate 422 rejects — the operational diagnosis page this page is paired with.
- Public consent form — hosted preferences page where the disclosure block goes.
- Send Gates — other send-time gates (quiet-hours, DNC, RND, rate windows).
- Country Compliance Requirements — the curated per-country reference behind the send gates.
- Opt-out and suppression — what happens to the consent record when a subscriber texts ALTO/STOP.