The right face, on the right CPF.
Liveness detection and selfie-to-CPF-holder matching, delivered through a hosted link. No SDK, no changes to your application — on the same query API you already use.
The flow is designed together with our team.
- Liveness
- Face match against the CPF
Four steps between sign-up and verdict
None of it requires touching your application. Verification happens outside of it and comes back done.
- 1
Your application calls the API
One request with the holder's CPF and your webhook URL. The response carries the verification link.
- 2
The link reaches the user
Send it through the channel you already use — email, SMS, WhatsApp or inside your own flow. If you prefer, we send it for you.
- 3
They take a selfie on the hosted page
Passive liveness: the user simply looks at the camera. The page is white-label — your brand, your colours, your domain.
- 4
You get the verdict by webhook
Approved or rejected, with the liveness result and the match against the CPF holder. Your application decides what happens next.
// 1. your application creates the verification $ curl -X POST -H "X-API-Key: SUA_CHAVE" \ -d '{"cpf":"12345678900","callback_url":"https://sua-app.com/hook"}' \ "app.fontedata.com/api/v1/verificacao-facial" // 201 Created — returns the hosted link { "id": "vf_9f2c41", "status": "pending", "url": "https://verificacao.sua-marca.example/vf_9f2c41" } // 2. the user takes the selfie on your branded page // 3. POST to your webhook — the verdict { "id": "vf_9f2c41", "status": "approved", "cpf": "123.***.***-00", "liveness": true, "face_match": true }
status: approved — APPROVED1:N at the door, 1:1 on every sensitive transaction
Every verification starts from a design made with you: how many attempts, what fails, what goes to human review.
The most common case. You send the CPF, the user takes a selfie, and we return whether that face matches the holder of that CPF — with liveness in the same step. The selfie is validated against Unico's biometric base, a reference in digital identity in Brazil.
- Account opening and sign-up
- First access to the platform
- Age verification at sign-up
The selfie of the moment is compared against the photos you already have of that user — the reference captured at onboarding. It re-authenticates someone who is already your customer, without sending them through sign-up again. Custom flow: we design it with you.
- Risky login and device change
- Transaction or withdrawal approval
- Changes to registration data
Decision rules, number of attempts, routing to human review, branching by outcome, automatic link resend. Tailored flows are the rule, not the exception.
Identity fraud has reached industrial scale — and the law has caught up
In twelve months, 24 million Brazilians were victims of Pix-related scams, with R$ 29 billion in losses, according to a Febraban survey with Datafolha. This is not artisanal fraud: Serasa Experian recorded 10.89 million fraud attempts between January and September 2025 — one every 2.2 seconds.
The technology on the other side has accelerated too. Sumsub reports a 126% rise in deepfakes in Brazil from 2024 to 2025. Once a face can be synthesised, confirming that a real person is in front of the camera stops being a refinement and becomes a requirement.
The regulatory bar rose alongside it. The ECA Digital act (Law 15,211/2025), in force since 17 March 2026, requires effective age verification — self-declaration no longer counts — under fines of up to 10% of revenue, capped at R$ 50 million. In the betting market, Ordinance SPA/MF 722/2024 already requires facial recognition when a bettor registers.
Where face verification pays for itself
Ordinance SPA/MF 722/2024 requires facial recognition when a bettor registers. The hosted link slots into onboarding without rewriting the app.
An account opened with someone else's identity is the front door to a mule account — and the start of a chargeback dispute. Liveness at sign-up sharply reduces that risk.
Social networks, online course platforms, streaming and app stores need effective age verification. Self-declaration no longer counts.
Sellers, couriers and high-value buyers: confirm who is on the other side before releasing the payout.
Car, property, equipment. Confirming the holder's face before handing over the asset costs less than recovering it afterwards.
Onboarding without a face-to-face meeting: confirm that whoever signs is whoever was interviewed.
Approved? Now query.
An approved verification is not the end of the flow — it is the beginning of it.
Face verification confirms that a real person exists and that they hold the CPF you sent. What it does not tell you is who that person is. At FonteData that is one call away: once the verification is approved, your application fires whatever queries you want on the same CPF — registry, criminal record, PEP, credit score, vehicle — on the same key, the same billing and the same dashboard.
https://sua-app.example/hook{
"cpf": "123.***.***-00",
"status": "approved"
}- Basic CPF lookup R$ 0,24
- Phones and addresses R$ 0,35
- Full personal registry R$ 0,72
- Politically exposed person R$ 0,43
- Criminal record (Federal Police) R$ 0,60
- Arrest warrants (CNJ) R$ 0,86
- Credit score R$ 2,34
- Anti-money laundering (AML) R$ 0,98
- Death record check R$ 0,43
- Vehicle lookup R$ 1,99
- Betting compliance R$ 0,86
- Court proceedings R$ 2,50
Prices come from the live catalogue. You choose which queries join the flow — none of them is mandatory. See the full price list →
What the verification delivers — no fine print
We validate that the selfie belongs to the holder of the CPF you provided.
Liveness detection to confirm there is a real person in front of the camera, not a photo or a video.
It helps meet the ECA Digital age-verification requirement, which bars self-declaration.
It reduces the risk of an account being opened with someone else's identity.
Biometric data is sensitive personal data under Brazil's LGPD. It is collected for a specific purpose, with a defined retention period and no reuse for anything else.
Frequently asked questions
No. Delivery is through a hosted link: your application calls the API, receives a URL and sends it to the user. The selfie and the liveness check happen on the hosted page — your app does not change. An SDK is not required to run the flow.
Yes. The page is white-label: logo, colours and copy are yours. To the end user, the verification looks like part of your product.
Biometric data is handled as sensitive personal data, with a specific purpose — confirming identity —, a defined retention period and no reuse for anything else. The legal basis and the retention period are agreed with you before the flow goes live.
It helps meet the age-verification requirement of ECA Digital (Law 15,211/2025), which has barred self-declaration since 17 March 2026. Full compliance also depends on how your platform handles content, consent and user data — we design that part together.
Yes, as a custom flow. The selfie of the moment is compared against the photos you already have of that user — the reference captured at onboarding — to re-authenticate on a risky login, a transaction approval or a device change. Retention, decision rules and approval criteria are designed with your team. Talk to us.
Face verification pricing is agreed with the commercial team, based on volume and flow. Cross-sell queries follow the public catalogue prices.
It is the same FonteData API and the same key you already use for queries. Existing customers usually run their first verification on the same day.
You define it in the flow: number of attempts, automatic link resend, routing to human review or rejection. The webhook reports the outcome either way.
Liveness runs on the hosted page itself. The face match is done with Unico's biometric validation (IDCloud), comparing the selfie against the holder of the CPF you sent. The biometric data stays treated as sensitive personal data under the LGPD — specific purpose, defined retention period and no reuse for any other purpose.
Let's design your verification flow
Talk to the commercial team and build the flow with us — from 1:N at sign-up to the full dossier in the same callback.
Already a FonteData customer? Verification runs on the same key.