Skip to main content

Brazil LGPD + Anatel Sender Posture

Brazil shapes A2P messaging along two axes, and operators usually meet the second before the first. Meta’s WhatsApp Business Account rules and Anatel’s A2P SMS regime (short-code dominance, carrier-side sender filtering) decide whether your traffic delivers at all — the Lei Geral de Proteção de Dados (LGPD), enforced by the ANPD, then decides what you owe the person behind each +55 number once it does. This page is the canonical Brazil reference: which controls are yours, where each one lives on Orbit, and how they fit together for SMS, WhatsApp, and RCS traffic to Brazilian recipients.
Everything below is a tenant-owned control. Orbit ships the surfaces — consent records, suppression, the DSAR workflow, tenant-configurable quiet hours, sender registration status — defaults-open; your organization configures them for Brazil. Compliance with LGPD, Anatel rules, and Meta’s policies remains your responsibility, and the carriers and regulators enforce them regardless of what any toggle says.

1. Scope: which traffic touches LGPD

LGPD applies to the processing of personal data of individuals in Brazil. For messaging, that covers every channel where the recipient’s phone number is the identifier:
  • SMS — the A2P traffic Anatel and the carriers regulate.
  • WhatsApp — Meta’s WABA layer on top; LGPD obligations still apply underneath.
  • RCS — treated like SMS for lawful-basis purposes.
The channel differences sit mostly on the sender-readiness side (sections 2–3). The LGPD obligations — lawful basis, consent records, data-subject rights — are channel-independent. Pick an LGPD-compliant delivery path first, then document the lawful basis per recipient either way.

2. Anatel SMS rules

Brazil’s three dominant carriers (Claro, Vivo, TIM) treat A2P SMS as a registered-sender market:
  • Short codes dominate. Dedicated short codes are the dependable A2P sender type in Brazil; long numbers and unmanaged alphanumeric sender ids are heavily filtered at the carrier edge.
  • Registration lead time is 4–8 weeks. Short-code registration with the carriers is not a same-week operation — budget the lead time before a launch date depends on SMS.
  • Unregistered alphanumeric senders are filtered rather than delivered with a degraded sender, so an unvetted from value does not gracefully fall back — it disappears.
Sender registration status and the accepted sender types per country are exposed on the country-rules surface — filter GET /compliance/country-rules with country_code=BR to read Brazil’s row fields (sender_types, registration, sender_rules, content_restrictions). End-to-end sender-id onboarding is covered in the LATAM channels onboarding guide and the sender ID registration page.

3. WhatsApp WABA rules and RCS as the second channel

WhatsApp is the default messaging app in Brazil, so most tenants open with a WABA rather than an SMS short code:
  • WABA first. Sender identity on WhatsApp is bound to your connected WhatsApp Business Account; you never pass it per send. Complete the WABA setup guide, and keep the display name in the local language — Meta rate-limits sends when display-name quality is low.
  • Template language codes. Business-initiated sends need an approved template, and the language code in your request must match the approval exactly. For Brazil, submit templates in pt_BR — Meta does not fall back across language codes.
  • Quality grounds. Watches you already run for Meta apply: a low quality rating throttles or pauses template sends, so treat block-rate and user-feedback signals as a sender-readiness metric, not a nice-to-have.
RCS is the natural second channel in Brazil — Samsung Messages and Google Messages have good penetration. Confirm your RCS agent is verified per country before you lean on it as a fallback; RCS verification is per-country, exactly like WABA and short-code registration. The channel choice per LATAM country — with Brazil’s WhatsApp-primary, SMS/RCS-fallback row — is mapped in the LATAM channels onboarding guide.

4. LGPD lawful bases for messaging

LGPD names ten lawful bases; for messaging traffic, two do nearly all the work, and one more covers the tail: Whatever basis you rely on, stamp it on the consent record so the claim survives audit. Orbit’s consent surface carries lawful_basis (consent, legitimate_interest, contract, legal_obligation) alongside the channels and the purpose:
Verify the record before a campaign with GET /compliance/consent/lookup?identifier=%2B5511987654321&channel=sms. For contacts with no recorded consent, your tenant-owned default decides what happens: the unknown-marketing policy defaults to refuse for marketing sends, and the consent-default policy governs CDP fanout. Legitimate-interest marketing in Brazil is a deliberate posture with a documented balancing test — not a synonym for leaving the unknown-marketing policy open without one. See Consent Management for the record contract.

5. DSAR posture: erasure and portability under LGPD

LGPD is a first-class regime on Orbit’s data-subject-request surface — it is one of the supported applicable_jurisdiction values, and the SLA tracker applies a 15-day clock to requests filed under it (see the jurisdiction table on the DSAR page). Requests arrive through operator workflows or the self-service portal, and erasure requests run the lifecycle that page documents (cooling-off window, then the scheduled hard-delete). To handle Brazil-bound subjects correctly:
  1. File with the right jurisdiction. Set applicable_jurisdiction: "lgpd" on intake (or reclassify when a request arrives generically) so the 15-day statutory clock applies from the start.
  2. Erasure flows feed suppression. When an erasure completes, the outcome flows into suppression — so a deleted contact does not re-enter marketing sends via a later import. See Opt-Out & Suppression Lists.
The Mexico-style country gate (regional_send_gates.MX.enabled) does not have a BR analog — Brazil enforcement here is the DSAR surface plus the consent ledger plus your ERP-side suppression, not a send-gate toggle. The LGPD regime’s presence on the erasure/portability surface is also catalogued in the privacy register (dsar-tracker activities).

6. Data residency

Voice is the one channel where you pin a resident region directly; SMS, WhatsApp, RCS, and the audit trail are covered by the platform geography Devotel publishes, plus the guarantees that apply when a data-subject request is exported. The full map — which surface answers which channel’s residency question, and what belongs in a residency-aware tenant checklist — is the Data Residency Overview.

7. Quiet hours and marketing windows

Brazil has no single federal SMS quiet-hours statute comparable to the US TCPA calling window; the practical restraint comes from carrier filtering, Anatel consumer-protection guidance, and LGPD’s purpose limitation — sending marketing at 03:00 is a complaint magnet even where no statute forbids it. Orbit’s enforcement layer is therefore yours to configure: Use the local recipient timezone (São Paulo time for the bulk of Brazilian traffic) set deliberately per campaign; the resolver maps the +55 country prefix unless you override it. A deliberately chosen window is the difference between a tenant-controlled posture and an accidental default.

8. Where Orbit gates Brazilian number purchases

BR is a member of the platform’s phone_number_purchase regulated set (DE, GB, FR, BR, MX, IN, JP, FI, NL, SE) — the same registry that drives the compliance-profile wizard — and it carries the strictest packet of the ten. A Brazilian number order opens only after an approved profile is attached; assembling the packet is a tenant-owned declaration, not a platform mandate.
1

Create the profile

POST /api/v1/compliance/compliance-profiles with country_code: "BR" and use_case: "phone_number_purchase". The wizard surfaces the Brazilian packet: required business registration certificate (business_doc), proof of address (address_proof), and government-issued ID (id_proof), plus the authorization role for the authorization letter or power of attorney a carrier may ask for, attached as power_of_attorney (or other). On top of the shared base fields — the business identity block, website, and the use-case description with the no-sub-allocation statement — Brazil requires the structured cnpj field, the registry number issued to every Brazilian legal entity.
2

Submit and wait for carrier review

Submission fans the bundle to the carrier for review, typically a few business days. The gate opens only on approved. See the KYC Profile Submission Runbook.
3

Order the number

Place the Brazilian order with the approved profile attached (compliance_profile_id). Without one, the order gate answers the same 422 family as a missing profile (COMPLIANCE_PROFILE_REQUIRED / COMPLIANCE_PROFILE_NOT_APPROVED), and a number bought ahead of approval lands at pending_compliance and cannot originate traffic until the profile is attached and the carrier confirms.
Assemble the packet like this, adapted from the guide’s Brazil worked example:
Then attach the documents — the company registration as business_doc, a recent address document as address_proof, a director’s ID as id_proof, and the signed authorization letter as power_of_attorney — by referencing their doc_… ids on the profile. When the carrier rejects the bundle. A missing or malformed CNPJ is a structured-field miss: correct the cnpj value with PUT /api/v1/compliance/compliance-profiles/:id/data and resubmit. A carrier ask for the authorization letter is a document-role miss: upload the letter and attach it to the authorization role, then resubmit through the runbook’s attach flow. Read it back. GET /api/v1/compliance/compliance-profiles?use_case=phone_number_purchase&country_code=BR lists your Brazilian purchase profiles and their review status; the regulatory preview (GET /api/v1/numbers/regulatory-preview?country=BR) reports the BR requirement set and your compliance_profile_satisfies flag before you place the order. Related: Regulated Number-Purchase Packets — Brazil · KYC Profile Submission Runbook

Frequently asked questions

Does Orbit register my short code with Anatel or the carriers? No — carrier/Anatel-facing registration is yours to file (or to file through your aggregator), the same way sender registration works in every market. Orbit exposes the country-rules row for Brazil so you can confirm sender_types and registration status, and it delivers your traffic once the sender is registered. Which lawful basis should my marketing sends carry? Nearly always consent. Legitimate interest for promotional messaging in Brazil requires a documented balancing test your counsel signs off on; legitimate interest without the test is how ANPD complaints start. Does the Mexico-style country send gate exist for Brazil? No. Brazil enforcement on Orbit = the consent ledger + the DSAR/erasure surface + tenant-configured quiet hours + your suppression flow. Check the ledger before the campaign, not after. What clock does an LGPD data-subject request carry? 15 days — file or reclassify the request with applicable_jurisdiction: "lgpd" and the SLA tracker applies the statutory clock. Also remember opt-out keywords in-market: a recipient-initiated STOP/SAIR flow must work on every sender you run in Brazil.
This page is documentation, not legal advice — an engineering map of the Orbit surfaces, not a legal opinion. LGPD, Anatel rules, and Meta’s WhatsApp policies carry real enforcement (ANPD, carrier edge-filtering, Meta quality-downgrading); have counsel review your lawful-basis choices, consent capture language, and sender registrations before you send to Brazilian recipients.