Document, selfie and live movement checks in one web link. Every result comes back approved, rejected or sent to review, with reason codes your rules and your auditors can read.
Example verification: a person completes three live movements, the document is read and checked by check digits, and the API returns an approved decision with its checks and reasons.
Check digits recomputedCPF and CNH, digit by digit
3 of 3 movements in the time windowDrawn at random, timed by the server
Most verification tools return a score with no reason attached, a price you only learn after a sales call, and a reading of the document that nobody double-checks.
Fraud in Brazil
10.9M
fraud attempts in Brazil from January to September 2025, one every 2.2 seconds
The person only sees the outcome, never the reasons. Reasons are for you.
Checks
Every check, by name.
Each one returns pass, warn or fail with a stable reason code. Any fail rejects. Any warn sends the session to review. Nothing missing is ever treated as a pass.
pass
warn
fail
Document11
Nothing the reading finds is accepted before a rule confirms it.
document_type
Document type
The images match the document the person chose.
required_fields
Required fields
Name and document number were read.
cpf_valid
CPF check digits
The CPF is recomputed digit by digit. A misread digit fails here.
cpf_matches_expected
CPF matches yours
The CPF on the document matches the one you sent.
name_matches_expected
Name matches yours
Word-by-word comparison that ignores accents and connectors. Raises a warning, never rejects.
birth_date
Date of birth and legal age
The date is read, valid on the calendar, and the holder is 18 or older.
birth_matches_expected
Date of birth matches yours
Same date you already hold.
not_expired
Not expired
Expiry is checked on CNH, CIN and passport. A CNH up to 30 days past expiry goes to review.
cnh_number_valid
CNH number check digits
The 11-digit CNH registration is recomputed.
mrz_valid
MRZ (ICAO 9303)
Passport and CIN machine-readable lines are checked digit by digit and against the printed data.
customer_confirmed
Holder confirmation
If the person flags the data we read as wrong, the session goes to review.
Face and liveness3
Movements drawn at random and confirmed on the server.
liveness_challenges
Live movements
Three movements drawn at random (turn left, turn right, smile, blink), always with a head turn, confirmed on the server.
capture_integrity
Real-time capture
Frames must arrive per movement, inside a time window set by the server, with continuity between them.
face_match
Face match (1:1)
The selfie is compared with the document photo against thresholds you set. In between: review.
Decision safety2
When in doubt, a person decides.
engine_unavailable
Never approved by default
If the face engine is down or busy, the session goes to review. It is never approved for lack of capacity.
decision_mode: manual
Human review by default
Nothing is approved automatically until you turn auto mode on. Clear failures still reject on their own.
Developers
A small API with a stable contract.
Create a session, send the link, read the result. Reason and error codes are part of the contract: changing one is a breaking change.
Biometrics are sensitive personal data under Brazil's LGPD (art. 11) and a special category under the GDPR (art. 9). Here is what we do with them, and what we don't do yet.
You are the controller. We process on your behalf.
Encrypted images
Every image is encrypted by the application with AES-256-GCM before it reaches storage. The bucket only holds ciphertext.
No public links
Storage is private. Images leave only through an authenticated API route, never through a public or pre-signed URL.
No face templates
The numeric representation of a face exists only in memory during comparison. We store scores, never templates.
Deletion by API
One call erases a session's images and personal data. It is idempotent and leaves an audit event.
Retention you set
Retention is configurable per customer, down to zero days (images deleted as soon as the session is decided). A daily job enforces it.
Isolated per customer
Every query is scoped to your account. Another customer's resource answers "not found".
Explicit consent
Before any capture, the person accepts a specific consent for biometric data that names your company as controller. Logged with IP and user agent.
Link token kept out of logs
The capture token travels after the # of the URL, which browsers never send to servers.
Sub-processor disclosed
Document reading uses an external vision provider. It is named in your contract as a sub-processor, with the countries involved.
Compliance roadmap
No certifications yet. This is the list of what is missing and where each item stands. We update it when something changes.
Data processing agreement with zero retention at the document-reading providerIn progress
Document reading inside Brazil, as an optionPlanned
Signed webhooks (HMAC)Planned
Dashboard with user login and review queuePlanned
Published accuracy measurement, with method and samplePlanned
Independent testing of livenessNot started
Information security certification (ISO/IEC 27001 or SOC 2)Not started
Independent penetration testNot started
Who it's for
For teams that sign off on every approval.
Companies that let strangers in at scale and need to explain each decision later.
Fintech and lending
Lenders, payment companies and digital accounts.
The pain
You need identity evidence at onboarding, and today it costs a sales cycle or a monthly minimum in dollars.
What you get
Reason codes that plug straight into your credit rules, and a trail for internal audit.
Typical uses
Compare the document with the CPF and name from the application.
Send name mismatches to an analyst, approve the rest.
Re-verify before a large withdrawal or a change of phone.
Prices in US dollars. Companies registered in Brazil (CNPJ) are billed in BRL; all others in USD, regardless of the site language.Pay 10 monthly minimums upfront and get 12 months. Included verifications become a yearly balance. Overage keeps the plan price.
What counts as a verification
A session that reaches a result: approved, rejected or awaiting review.
Set a monthly cap. Above it, new sessions are refused with quota_exceeded, never billed.
What you never pay for
Links that were never opened or never finished
Retries within the same session
Repeated requests with the same X-Request-Id
Calls that end in an error
Add-ons
1:1 face match$0.05 per match with a decision
Official database check (Brazil) SoonPrice announced at launch.
Third-party certified liveness SoonPrice announced at launch.
Included in every plan
All checks
Human review by API
Evidence sheet per session
Retention you set
Deletion by API
Capture page in 3 languages
Compare all features
Feature comparison across plans
Feature
Free
Starter
Growth
Scale
Enterprise
Price per verification
$0
$0.59
$0.45
$0.39
Custom
Monthly minimum
Not included
Not included
$225
$975
Contract
Included verifications per month
25
25
500
2,500
Contract
Overage
Not included
Pay as you go
$0.45
$0.39
Contract
1:1 face match
100 per month
$0.05
$0.05
$0.05
Contract
Annual billing (2 months free)
Not included
Not included
Included
Included
Contract
Hosted capture page (en, pt-BR, es)
Included
Included
Included
Included
Included
RG, CIN, CNH and passport with check-digit validation
Included
Included
Included
Included
Included
Liveness with 3 random movements
Included
Included
Included
Included
Included
Selfie x document (1:1)
Included
Included
Included
Included
Included
Compare with data you already have
Included
Included
Included
Included
Included
Human review by default, optional automatic approval
Included
Included
Included
Included
Included
Audit trail
Included
Included
Included
Included
Included
Encrypted images, no face template stored, deletion by API
Included
Included
Included
Included
Included
Separate test and live keys, idempotent requests
Included
Included
Included
Included
Included
Maximum image retention
7 days
30 days
90 days
365 days
Up to 5 years
Thresholds tuned to your case
Not included
Not included
Included
Included
Included
Result webhook
Not included
Soon
Soon
Soon
Soon
Dashboard
Soon
Soon
Soon
Soon
Soon
Document reading with data in Brazil
Not included
Not included
Not included
Soon
Soon
Official database check (Brazil, add-on)
Not included
Not included
Soon
Soon
Soon
Third-party certified liveness (add-on)
Not included
Not included
Soon
Soon
Soon
Support
Docs and email
Email, 2 business days
Priority email, 1 business day
Named contact, 4 business hours
Named contact, in contract
Availability SLA
Not included
Not included
Not included
Not included
Soon
Swipe sideways to see every plan.
Billing details
Prices are per completed verification: a session that reaches a result (approved, under review or rejected). Unopened, expired, canceled or abandoned links and retries in the same session are not billed.
USD prices exclude taxes that may apply in your country. BRL prices include taxes and come with a Brazilian service invoice (NFS-e).
Companies registered in Brazil are billed in BRL; all others in USD.
Support response times are targets, not contractual commitments. No plan includes an availability SLA unless stated in an Enterprise contract.
Features marked Soon are not available yet and are not part of any contract until launched.
The free tier requires a verified company and is subject to fair use. Unused verifications do not roll over.
Annual plans are paid upfront and are not refundable. Price changes are announced 60 days in advance and do not affect the current cycle.
Your company is the data controller; we process data on your behalf.
Free plan conditions
Business email on your own domain (no free webmail).
Brazil: active CNPJ. Elsewhere: company website on the same domain as the email.
One free account per company and per domain.
Live key after accepting the terms and the data processing agreement; test key right away.
Regulated sectors (such as betting) provide their license number at signup.
During early access, we set up your account with you: thresholds, documents and retention.
FAQ
Straight answers before the first test.
Didn't find your question?
Tell us about your flow and we will answer with what the API does today.
A session that reaches its first result: approved, rejected or awaiting review. Unopened links, retries in the same session and repeated requests with the same X-Request-Id are free.
How long does it take?
About two minutes for the person verifying, from consent to result. Document reading can take up to 30 seconds. We will publish response times once we have measured them in production.
Which documents do you accept?
Brazil's RG, CIN (the new national ID) and physical CNH, front and back, plus the passport data page. You choose which ones each session accepts.
Does the person need to install an app?
No. The link opens in the phone's browser in English, Spanish or Portuguese. On a computer, a QR code moves them to their phone, or they can continue with a webcam.
Do you store biometric data?
We never store face templates. Images are kept encrypted for the retention period configured for your account, and you can delete any session's data by API.
Is it LGPD and GDPR compliant?
Compliance depends on how you use it, so we don't claim it. We provide the mechanisms: specific consent for biometric data, deletion on request and configurable retention. You are the controller; we process on your behalf under a data processing agreement.
Where is data processed?
Document reading uses an external vision provider, named in your contract as a sub-processor along with the countries involved. An option to read documents inside Brazil is on our roadmap.
What is your accuracy?
We have not published a rate, because we will only do it with a stated method and sample. Until then, you set the approval thresholds and human review is the default.
Can it be fooled by a photo, a screen or a deepfake?
Three movements drawn at random and timed by our server are designed to reject printed photos, screens and pre-recorded video. A virtual camera feeding a live deepfake cannot be reliably detected from a browser, so for high-risk flows keep human review on.
Do you check government databases?
No. We recompute the CPF check digits and compare it with the CPF you already hold. We do not confirm with the tax authority who owns it.
Do you offer webhooks or SDKs?
Not yet. Today you poll the session endpoint; signed webhooks are on the roadmap. There is no native SDK: the capture is a web page, so there is nothing to embed.
Do you have certifications?
Not yet. Our security section lists what is in place (encryption, isolation, audit trail) and a roadmap with the status of each item that is still missing.
Put a reason behind every approval.
We are opening access to a small group of companies. Tell us about your flow and we will set up your test keys with you.