Add facial biometrics today.
30 free every month.
Liveness, face match against the ID, face authentication and a signed receipt for every decision. SDKs in eight languages, unlimited sandbox, no contract.
Free forever · no card · no minimum commitment · no sales call
One platform to verify who is on the other side of the screen
Four products on the same engine, with the same API and the same receipt. Use one, or use them all.
How verification works
- 01Send the link
WhatsApp, email, QR or inside your app.
- 02The person shows their face
The page guides each gesture and says what is left.
- 03You get the receipt
Approved, rejected or sent to human review.




Is the person alive?
Are they who they claim to be?
Six layers of fraud protection
- LivenessReal skin, not paper or a screen.
- Randomized gesturesYesterday's video won't pass today.
- Same face throughoutNo one can swap people mid-session.
- Capture integrityVirtual cameras go to review.
- Per-person lockoutRepeated attempts lock the CPF (Brazilian taxpayer ID).
- Signed evidenceNo one can alter the result afterward.
Measured in a virtual-camera injection test: a genuine video from an approved session, replayed into a new session, was rejected by the randomized gestures.
In our cloud or in yours
A 100% Brazilian product with its own engine: biometric data never goes through an outside vendor. You choose where it runs.
The ready-to-use platform, on Catalisa infrastructure in Brazil. Integrate in an afternoon and pay only for verifications that reached a decision.
- Our own engine, no face images sent to third parties
- Scaling, monitoring and engine updates handled by us
- 30 free verifications per month, no card
The same platform, installed in your data center or private cloud, with your brand. Capture, models and images stay in your environment, and no outside server takes part in the decision.
- On-premises or private cloud, fully white-label
- Encryption keys, retention and access under your control
- Same API and same receipt: start in the cloud and migrate without rewriting
Solutions by industry
Banks and fintechsAccount opening and fighting mule accounts.
Credit and payroll loansLoans signed by the right person, present.
Retail and marketplacesHigh-value purchases and seller onboarding.
HealthcareMember cards and care without identity fraud.
BettingSign-up and withdrawals by an identified player.
Mobility and rentalsVerified drivers and renters.Integrate via API, iframe or SDK
A ready-made page with your brand, an iframe with events, or our SDK. Test keys don't use your included verifications.
# opens the session and returns the capture link curl -X POST https://api.biometrics.catalisa.app/v1/sessions \ -H "Authorization: Bearer $CHAVE" \ -d '{ "flow": "ONBOARDING", "purpose": "account opening" }' { "status": "SESSION_OPEN", "captureUrl": "https://biometrics.catalisa.app/c/eyJ…" }
# arrives when the decision is ready { "type": "biometrics.session.completed", "status": "APPROVED", "checks": [ { "kind": "liveness.passive", "score": 0.97, "threshold": 0.8 }, { "kind": "match.1_1", "score": 0.95, "threshold": 0.7 } ], "evidence": { "signature": "ed25519:9f3a…" } }
<!-- the capture page inside your app --> <iframe src="CAPTURE_URL" allow="camera"></iframe> window.addEventListener('message', (e) => { if (e.data?.event === 'done') buscarDecisao() })
In the language you already use
Official SDKs for Python, PHP, Go, .NET, Ruby and Java — and the API is REST with JSON, so any language works. The SDK verifies the webhook signature and the receipt for you.
Results measured in staging
Public pricing, per verification that reached a decision
Only verifications that reached a decision count.
2,000 included · R$ 0.55 per extra verification