Brazil Digital ECA Compliance Guide: How to Comply with the FELCA Law (2026)
Brazil's Digital ECA (FELCA Law, Law 15.211/2025) is now in force. This guide covers everything a developer or product team needs to implement compliant age verification — from choosing the right method for your platform type to integrating the API and logging for ANPD audits.

Law in force — March 17, 2026
Platforms without compliant age verification are subject to fines of up to BRL 50 million or 10% of Brazil annual revenue, service suspension, and permanent bans.
Quick Reference: What Verification Do You Need?
| Platform Type | CPF Age Check | Face Liveness | Risk Level |
|---|---|---|---|
| Social media / community apps | ✅ Required | ⚪ Optional | 🟡 Medium |
| Online games (16+/18+) | ✅ Required | ⚪ Optional | 🟡 Medium |
| Sports betting / gambling | ✅ Required | ✅ Recommended | 🔴 High |
| Streaming with adult content | ✅ Required | ✅ Recommended | 🔴 High |
| Adult content platforms | ✅ Required | ✅ Required | 🔴 Critical |
| E-commerce (alcohol/tobacco) | ✅ Required | ⚪ Optional | 🟡 Medium |
| Fintech / financial services | ✅ Required | ✅ Recommended | 🔴 High |
Step-by-Step Implementation
Add a CPF field to your registration form
Add a CPF input to your sign-up form. In Brazil, users are accustomed to providing their CPF — it is requested by banks, utilities, and most services. Display a brief explanation: "Required by Law 15.211/2025 for age verification."
UX best practices:
- → Auto-format CPF as the user types: 000.000.000-00
- → Validate the check digits client-side before sending to API
- → Show a small lock icon with "Secure — we don't store your CPF"
- → Explain why you are collecting it (legal requirement)
Call the FlagCheck Age Check API
On form submission, call the FlagCheck API with the CPF before creating the user account. The API returns within 2 seconds — fast enough that users don't notice the extra step.
Log the result for ANPD compliance audits
Store the verification result in your database. Never store the raw CPF — store only a SHA-256 hash. This log is your proof of compliance if ANPD investigates.
What to log per user:
- →
cpf_hash— SHA-256 of the CPF (no raw CPF) - →
result— "adult" or "minor" - →
method— "cpf_check" or "cpf_liveness" - →
verified_at— ISO 8601 timestamp from API - →
cpf_status— "regular", "suspended", etc.
Block or allow — and handle edge cases
Handle all result scenarios explicitly:
is_adult: true + status: regular
Allow registration
is_adult: false
Block. Show: "This platform is for adults only." Do not create account.
status: suspended or cancelled
Block. CPF is invalid. Ask user to contact support.
(High-risk platforms) Add face liveness verification
For sports betting, adult content, fintech, and other high-risk categories, add a face liveness step after the CPF check. This prevents minors from registering using a parent's or sibling's CPF.
Liveness flow:
- User passes CPF age check (Step 2–4 above)
- Prompt user to take a live selfie via webcam/camera
- Send selfie + CPF to FlagCheck liveness endpoint
- API returns match score and liveness confirmation
- Allow registration only on successful match
Common Mistakes to Avoid
❌ Wrong
Relying on "I am 18+" checkbox or unvalidated date-of-birth
✅ Correct
Explicitly banned by the Digital ECA. Replace with CPF age check immediately.
❌ Wrong
Calling the verification API from the browser (client-side)
✅ Correct
Exposes your API key and allows bypass. Always call server-side.
❌ Wrong
Storing raw CPF numbers in your database
✅ Correct
Store SHA-256 hashes only. Raw CPFs are sensitive personal data under LGPD.
❌ Wrong
Assuming app store age signals are sufficient on their own
✅ Correct
The Digital ECA requires platform-level verification — app store signals are supplementary.
❌ Wrong
No audit log of verifications
✅ Correct
Without logs, you cannot prove compliance to ANPD. Log every verification event.
Related Guides
FELCA Law in effect — March 17, 2026
Ready to Implement? Start in Minutes.
Get your FlagCheck API key and follow this guide. FELCA Age Check (CPF → is_adult) and FELCA Selfie (face liveness) — both endpoints production-ready and LGPD-compliant.
FELCA Age Check
CPF → is_adult in < 2s
FELCA Selfie
Face liveness + biometrics
LGPD Compliant
No CPF stored · Audit logs
Frequently Asked Questions
Do I need to verify age at every login or just at sign-up?▼
What about foreign users without a Brazilian CPF?▼
Can I rely on Apple or Google age signals to comply?▼
What records do I need to keep for ANPD audits?▼
What should I show users who fail age verification?▼
Is there a grace period for non-compliance?▼
How does LGPD interact with the Digital ECA?▼
Brazil Digital ECA Compliance Implementation Guide
How to comply FELCA law Brazil step by step. CPF age verification implementation developer guide. ANPD audit log Brazil. Digital ECA compliance 2026 international companies. Age gate Brazil platform implementation. LGPD CPF data protection. FlagCheck API integration guide Brazil.