Substitua a senha única por SMS. Faça de uma selfie o segundo fator.
Aumente a segurança de fluxos sensíveis com uma correspondência facial em menos de 2 segundos com o retrato cadastrado. Resistente a phishing. À prova de troca de SIM. $0.10 por autenticação. 500 verificações gratuitas todos os meses.
Confiado por mais de 2.000 organizações em todo o mundo.
Resistente a phishing · À prova de troca de SIM
Sem código para phishing. Sem SIM para trocar.
O segundo fator é o rosto do usuário, correspondido 1:1 com o retrato
que ele cadastrou no momento da inscrição. A prova de vida bloqueia o ataque de impressão / reprodução / máscara /
Rede Generativa Adversarial (GAN) no mesmo quadro. Veredito em menos de 2 segundos
em Android de nível básico. $0.10 por autenticação. 500 verificações
gratuitas todos os meses.
Como funciona
Do cadastro ao usuário verificado em quatro etapas.
Passo 01
Crie o fluxo de trabalho
Escolha as verificações que deseja — ID, prova de vida, correspondência facial, sanções, endereço, idade, telefone, e-mail, perguntas personalizadas. Arraste-as para um fluxo no painel ou publique o mesmo fluxo em nossa API. Ramifique em condições, execute testes A/B, sem necessidade de código.
Passo 02
Integre
Incorpore nativamente com nosso SDK Web, iOS, Android, React Native ou Flutter. Redirecione para uma página hospedada. Ou apenas envie um link ao seu usuário — por e-mail, SMS, WhatsApp, em qualquer lugar. Escolha o que melhor se adapta à sua pilha.
Passo 03
O usuário passa pelo fluxo
Didit hospeda a câmera, as dicas de iluminação, a entrega móvel e a acessibilidade. Enquanto o usuário está no fluxo, pontuamos mais de 200 sinais de fraude em tempo real e verificamos cada campo em relação a fontes de dados autorizadas. Resultado em menos de dois segundos.
Passo 04
Você recebe os resultados
Webhooks assinados em tempo real mantêm seu banco de dados sincronizado no momento em que um usuário é aprovado, recusado ou enviado para revisão. Consulte a API sob demanda. Ou abra o console para inspecionar cada sessão, cada sinal e gerenciar casos do seu jeito.
Substituição para SMS OTP · Vinculado ao usuário, não a um código
Seis capacidades. $0.10 por autenticação.
Um fluxo de trabalho adaptável, um veredito assinado, o mesmo formato de callback do seu fluxo OAuth existente. Sem dependência de operadora, sem superfície SS7, sem exposição a troca de SIM.
Abra uma chamada da API de Sessões, redirecione o usuário para a interface de usuário hospedada, capture um quadro passivo. Prova de Vida + Comparação Facial 1:1 + o retorno do webhook assinado dentro dos mesmos dois segundos. Sem instalação de aplicativo, sem SDK, sem caminho de operadora.
Interface de usuário hospedada em um URL de sessão exclusivo — nenhum aplicativo é necessário.
02 · Comparação Facial 1:1
Compare a selfie ao vivo com o retrato registrado.
O retrato capturado durante a sessão KYC original do usuário é o modelo. Cada autenticação subsequente compara a nova selfie a ele e retorna um similarity_score (0-1). Ajuste o limite de aprovação automática por fluxo de trabalho. $0.05 por chamada de Comparação Facial autônoma; $0.10 quando combinado com Prova de Vida.
Combine a selfie ao vivo com o retrato cadastrado.
$0.05 / match
Registrado
Similaridade
0.96
Correspondência
Ao vivo
Vinculado ao usuário, não a um código.Ajustar limiar por fluxo de trabalho
03 · Derrota a superfície de ataque por SMS
Troca de SIM. Phishing de OTP. Smishing. SS7. Tudo bloqueado.
Os quatro ataques sobre os quais o Federal Bureau of Investigation (FBI) dos Estados Unidos e o National Cyber Security Centre (NCSC) do Reino Unido alertam para senhas de uso único por SMS — troca de SIM, phishing de OTP, kits de smishing, interceptação de operadora — todos derrotam o SMS. Nenhum deles funciona contra uma selfie ao vivo comparada ao retrato registrado. A FIDO Alliance lista o reconhecimento facial no dispositivo como resistente a phishing.
A FIDO Alliance lista o reconhecimento facial no dispositivo como resistente a phishing.
04 · Aumente a segurança onde importa
Acione apenas nas superfícies que o justificam.
Login de um novo dispositivo, transferência acima do seu limite de risco, alteração de senha/configurações, recuperação de conta. Combine com Análise de Dispositivo + IP para que uma reautenticação em um dispositivo totalmente novo + um novo Protocolo de Internet (IP) seja automaticamente intensificada. Mesmo fluxo, gatilhos mais inteligentes.
Login de um novo dispositivoForçar reautenticação antes da concessão
Transferência de grande valorAcima do seu limite de risco
Alteração de senha / configuraçõesBloquear preenchimento de credenciais
Recuperação de contaImpedir apropriação por troca de SIM
Adaptável — somente quando o risco justificar.~2s por verificação
05 · Uma carga útil assinada
Substituição direta para o seu callback de OTP existente.
O webhook entrega status, similarity_score, método e o cabeçalho X-Signature-V2 para verificação de Hash-based Message Authentication Code (HMAC) SHA-256. Mesma forma de callback, mesmo padrão de redirecionamento. A maioria das equipes troca SMS por reconhecimento facial em um fim de semana.
Substituição direta para seu callback OTP existente.
06 · Mais barato que SMS
$0.10 per auth, no carrier fees, no minimums.
O custo de uma senha de uso único por SMS de Nível 1 nos Estados Unidos varia entre $0.05 e $0.30 por envio, dependendo da operadora — e você paga mesmo quando o usuário nunca recebe o código. A autenticação biométrica da Didit custa $0.10 fixos com 500 verificações gratuitas por mês. Sem dependência de operadora, sem tarifa por país, sem mínimos contratuais.
Use apenas quando você for o proprietário do pipeline de captura. Fluxos do navegador = sessão hospedada.docs →
Integração pronta para agente
Substitua o OTP por SMS em um prompt.
Cole no Claude Code, Cursor, Codex, Devin, Aider ou Replit Agent. Preencha sua pilha. O agente provisiona o Didit, constrói o fluxo de autenticação biométrica, troca seu callback OTP existente e é lançado em um fim de semana.
didit-integration-prompt.md
You are integrating Didit's Biometric 2FA into <my_stack>. Replace SMS one-time-password (OTP) on sensitive flows — login from a new device, large-value transfer, settings change, account recovery — with a sub-2-second face match against the user's enrolled portrait. Cheaper than SMS. Phishing-resistant. SIM-swap-proof.
1. Enrol the user's portrait ONCE at sign-up via the standard Know Your Customer (KYC) session.
2. On every sensitive action, open a Biometric Authentication session that runs Passive Liveness + Face Match 1:1 against the stored portrait. Verdict in sub-2-seconds.
Pricing (public):
- Biometric Authentication: $0.10 per authentication (Sessions API)
- Standalone Face Match 1:1: $0.05 per match (server-to-server)
- First 500 verifications free every month, forever
PRE-REQUISITES
- Production API key from https://business.didit.me (sandbox key in 60s, no card).
- Webhook endpoint with Hash-based Message Authentication Code (HMAC) SHA-256 verification using the X-Signature-V2 header.
- The user has previously enrolled — either via a full KYC session (recommended; the portrait is stored automatically and never leaves Didit) or via a portrait you supply on each re-auth.
- A workflow_id from the Workflow Builder. The workflow MUST contain LIVENESS, and the session must be opened with workflow_type = "biometric_authentication" (or use a workflow that has FACE_MATCH and pass a portrait_image at session creation).
STEP 1 — Enrolment (one-time, at user sign-up)
Run a standard KYC session at sign-up. Didit stores the portrait (the face captured during the liveness step) as the user's enrolled template, bound to vendor_data.
POST https://verification.didit.me/v3/session/
Body:
{
"workflow_id": "<your KYC workflow>",
"vendor_data": "<your user id>"
}
No additional code — once the user passes KYC, their enrolled portrait is ready for every future re-auth.
STEP 2 — Re-authentication (on every sensitive action)
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<your biometric_authentication workflow>",
"workflow_type": "biometric_authentication",
"vendor_data": "<the same user id used at enrolment>",
"callback": "https://<your-app>/2fa/callback",
"metadata": {
"reason": "<login_new_device | high_value_txn | settings_change | account_recovery>",
"amount": "<optional, for large-value transfers>"
},
"portrait_image": "<base64 JPEG of the user's enrolment selfie, ≤ 1 MB — REQUIRED when the workflow has FACE_MATCH active; OMIT for liveness-only mode>"
}
Response: 201 Created with the hosted session_url. Redirect the user to it. The hosted UI:
- Opens the front camera
- Captures one passive frame
- Runs Liveness + Face Match 1:1 against the user's enrolled portrait
- Returns the verdict in sub-2-seconds
STEP 3 — Read the signed verdict on the webhook
Body (excerpted for a passing re-auth):
{
"session_id": "<uuid>",
"vendor_data": "<your user id>",
"status": "Approved",
"liveness": { "status": "Approved", "method": "PASSIVE", "score": 96 },
"face": {
"status": "Approved",
"similarity_score": 0.96
}
}
Verify X-Signature-V2 BEFORE trusting the body — HMAC SHA-256 of the raw bytes with your webhook secret.
Session status enum (exact case): Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned.
Branch your application:
Approved → execute the action (sign in, release the transfer, save settings).
Declined → block the action, re-prompt with a higher-friction recovery path (support contact / KYC re-do).
In Review → hold; route to your operations queue.
Not Finished → user abandoned the capture; safe to re-prompt or fall back.
STEP 4 — Alternate path (server-to-server, when you already have the selfie)
If you already captured the selfie locally (native mobile SDK, in-app camera):
POST https://verification.didit.me/v3/face-match/
Headers:
x-api-key: <your api key>
Body (multipart/form-data):
image_a <the live selfie>
image_b <the enrolled portrait>
Response: similarity_score (0-1), status (Approved | Declined | In Review).
Use the standalone path only when you trust your client-side capture pipeline. For browser flows or any surface where the SDK is not embedded, always prefer the hosted session — Didit's liveness check is harder to defeat than a raw camera grab.
WEBHOOK EVENT NAMES
- Sessions: status changes flow through the standard session webhook.
- Always verify X-Signature-V2 on every payload.
CONSTRAINTS
- Base URL for /v3/* endpoints is verification.didit.me (NOT apx.didit.me).
- Feature enum is UPPERCASE: LIVENESS, FACE_MATCH, ID_VERIFICATION, AML, IP_ANALYSIS, AGE_ESTIMATION.
- Method enum is UPPERCASE: PASSIVE, FLASHING, ACTIVE_3D.
- Auth header is x-api-key (lowercase, hyphenated).
- Webhook signature header is X-Signature-V2 (NOT X-Signature).
- Status casing matches exactly: Approved, Declined, In Review, Expired, Not Finished, Resubmitted, Kyc Expired, Abandoned.
- The biometric template is irreversible (a one-way hash) and stored on Didit's infrastructure. You never receive the raw template. Standard data-subject-deletion rules apply.
PRO TIPS
- Pair Biometric 2FA with Device & IP Analysis (bundled into the 200+ fraud-signal stack). A re-auth that originates from a brand-new device + a brand-new IP should always step up to face.
- For the strongest possible surface, swap method PASSIVE for ACTIVE_3D — a short motion challenge — on transfers above your operational risk threshold.
Read the docs:
- https://docs.didit.me/core-technology/biometric-auth/overview
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/integration/webhooks
Start free at https://business.didit.me — sandbox key in 60 seconds, 500 verifications free every month, no credit card.
Precisa de mais contexto? Consulte a documentação completa do módulo.docs.didit.me →
Conforme por design
Abra um novo país com um clique. Nós fazemos o trabalho difícil.
Abrimos as subsidiárias locais, garantimos as licenças, realizamos os testes de penetração, obtemos as certificações e nos alinhamos com cada nova regulamentação. Para enviar verificações em um novo país, basta ativar uma chave. Mais de 220 países ativos, auditados e testados trimestralmente — o único provedor de identidade que um governo de um estado membro da UE formalmente considerou mais seguro do que a verificação presencial.
Por autenticação, fixo. O OTP por SMS varia de $0,05 a $0,30 nos EUA.
<0s
Reautenticação de ponta a ponta em Android de nível básico — da captura ao webhook assinado.
0
Dependências da operadora, superfície de troca de SIM ou vetores de ataque SS7.
0
Verificações gratuitas todos os meses, para sempre.
Três níveis, uma lista de preços
Comece grátis. Pague pelo uso. Escale para o Enterprise.
500 verificações gratuitas todos os meses, para sempre. Pague conforme o uso para produção. Contratos personalizados, residência de dados e SLAs (Service Level Agreements) no Enterprise.
Grátis
Grátis
$0 / mês. Não é necessário cartão de crédito.
Pacote KYC gratuito (Verificação de ID + Prova de Vida Passiva + Correspondência Facial + Análise de Dispositivo e IP) — 500 / mês, todos os meses
Comece grátis → pague apenas quando uma verificação for executada → desbloqueie o Enterprise para um contrato personalizado, SLA ou residência de dados.
FAQ
Perguntas comuns
O que é Didit?+
Didit é infraestrutura para identidade e fraude — a plataforma que gostaríamos que existisse quando estávamos construindo produtos nós mesmos: aberta, flexível e amigável para desenvolvedores, para que funcione como uma parte real da sua pilha, em vez de uma caixa preta que você integra por fora.
Uma API cobre a verificação de pessoas (KYC, know your customer), verificação de empresas (KYB, know your business), triagem de carteiras de cripto (KYT, know your transaction), e monitoramento de transações em tempo real — em uma pilha construída para ser:
Rápida — p99 em menos de 2 segundos em cada sessão
Confiável — em produção com mais de 1.500 empresas em mais de 220 países
Segura — SOC 2 Tipo 1, ISO 27001, nativa do GDPR, e formalmente atestada pelo regulador financeiro da Espanha como mais segura do que verificar alguém pessoalmente
A base subjacente: mais de 14.000 tipos de documentos em mais de 48 idiomas, mais de 1.000 fontes de dados, e mais de 200 sinais de fraude em cada sessão. A infraestrutura Didit aprende dinamicamente de cada sessão e melhora a cada dia.
O que é 2FA biométrico?+
Autenticação de segundo fator usando o rosto do usuário, não um código enviado pela rede. O primeiro fator é o que o usuário sabe (senha, chave de acesso, link mágico). O segundo fator é o que o usuário é — uma selfie ao vivo comparada 1:1 com um retrato que o usuário cadastrou anteriormente.
Ele se encaixa no mesmo lugar que a senha de uso único por SMS (OTP) no fluxo da sua aplicação, mas com um custo, segurança e perfil de conversão diferentes.
Por que a senha de uso único por SMS é considerada fraca?+
Quatro classes de ataque bem documentadas a derrotam. O Federal Bureau of Investigation (FBI) dos EUA e o National Cyber Security Centre (NCSC) do Reino Unido publicaram orientações afastando as organizações do SMS para fluxos sensíveis.
Troca de SIM. O atacante convence a operadora a portar o número do usuário para um novo SIM. Todos os códigos agora vão para o atacante.
Phishing de OTP. O atacante atua como proxy do site legítimo, captura o código enquanto o usuário digita, e o reproduz antes que expire.
Kits de smishing. Kits pré-construídos executam milhares de textos falsos de entrega/banco que capturam códigos em escala.
Interceptação do Sistema de Sinalização 7 (SS7). Adversários com acesso à operadora podem ler códigos passivamente da rede.
Qual a velocidade da verificação para o meu usuário final?+
O fluxo completo normalmente leva menos de 30 segundos de ponta a ponta — pegar o documento de identidade, tirar foto do documento, tirar a selfie, pronto. Essa é a mais rápida do mercado. Provedores de KYC legados geralmente levam mais de 90 segundos para o mesmo fluxo.
No back-end, Didit retorna o resultado em menos de dois segundos no p99, medido desde o momento em que o usuário termina a selfie até o momento em que seu webhook é acionado. A captura móvel é ajustada para telefones lentos e redes lentas: compressão progressiva de imagem, carregamento lento do kit de desenvolvimento de software, e uma transferência com um toque do desktop para o telefone via código QR se o usuário começar na web.
Como o rosto do usuário é realmente "cadastrado"?+
A maioria das equipes cadastra durante a sessão original de Know Your Customer (KYC) do usuário. O retrato capturado pela etapa de vivacidade é armazenado vinculado aos seus vendor_data e usado como modelo para cada reautenticação subsequente.
Se você não executa KYC no momento do cadastro, pode executar uma sessão de cadastro única em um fluxo Didit que contém apenas LIVENESS + FACE_MATCH. Qualquer um dos caminhos custa $0.10 uma vez, e o modelo resultante é reutilizável para cada autenticação futura.
O que acontece se um usuário falhar, abandonar ou expirar?+
Cada sessão chega a um de sete status claros, para que seu código sempre saiba o que fazer:
Approved — todas as verificações passaram. Avance o usuário.
Declined — uma ou mais verificações falharam. Você pode permitir que o usuário reenvie a etapa específica que falhou (por exemplo, tire a selfie novamente) sem refazer todo o fluxo.
In Review — sinalizado para revisão de conformidade. Abra o caso no console, veja todos os sinais, decida aprovar ou recusar.
In Progress — o usuário está no meio do fluxo.
Not Started — link enviado, o usuário ainda não o abriu. Envie um lembrete se demorar muito.
Abandoned — o usuário abriu o link, mas não terminou a tempo. Reengaje ou expire.
Expired — o link da sessão expirou. Crie uma nova sessão.
Um webhook assinado é acionado a cada mudança de status, para que seu banco de dados esteja sempre sincronizado. Sessões abandonadas e recusadas são gratuitas.
Onde meus dados de cliente são armazenados e como são protegidos?+
Os dados de produção são processados e armazenados na União Europeia por padrão, na Amazon Web Services. Contratos empresariais podem solicitar regiões alternativas para jurisdições cujos reguladores o exijam.
Criptografia em todos os lugares. AES-256 em repouso em cada banco de dados, armazenamento de objetos e backup. Transport Layer Security 1.3 em trânsito em cada chamada de API, webhook e sessão do Business Console. Dados biométricos são criptografados sob uma Customer Master Key separada.
A retenção é sua para controlar. A retenção padrão é indefinida (ilimitada), a menos que você configure um período menor — entre 30 dias e 10 anos por aplicação — e você pode excluir qualquer sessão individual a qualquer momento do painel ou da API.
Certificações: SOC 2 Tipo 1 (auditoria Tipo 2 em andamento), ISO/IEC 27001:2022, iBeta Nível 1 PAD, e uma atestação pública do Tesoro / SEPBLAC / CNMV da Espanha de que a verificação de identidade remota da Didit é mais segura do que verificar alguém pessoalmente. Relatório completo em /security-compliance.
A Didit está em conformidade com a minha indústria?+
Didit está em conformidade por padrão para os reguladores que importam para a infraestrutura de identidade:
GDPR + UK GDPR — divisão controlador/processador, Acordo de Processamento de Dados completo publicado, autoridade supervisora principal nomeada (AEPD da Espanha).
AMLD6 + EU AML Single Rulebook — mais de 1.300 sanções, pessoa politicamente exposta e listas de mídia adversa rastreadas em tempo real.
eIDAS 2.0 — alinhado com a Carteira de Identidade Digital da UE; pronto para identidade reutilizável.
MiCA (Mercados em Criptoativos) — pronto para rampas de acesso a cripto, exchanges e custodiantes.
DORA — Digital Operational Resilience Act, resiliência operacional de serviços financeiros da UE.
BIPA, CUBI, Washington HB 1493, CCPA / CPRA — privacidade biométrica dos EUA (Illinois, Texas, Washington) e privacidade do consumidor da Califórnia.
UK Online Safety Act — obrigações de controle de idade e segurança infantil.
FATF Travel Rule — dados do originador e beneficiário em transferências de cripto, interoperável com IVMS-101.
Memorando detalhado, todos os certificados, todas as cartas regulatórias: /security-compliance.
Com que rapidez posso integrar e começar a verificar usuários?+
60 segundos para uma conta sandbox em business.didit.me — sem cartão de crédito.
5 minutos para uma verificação funcional através do Claude Code, Cursor, ou qualquer agente de codificação via nosso servidor Model Context Protocol (MCP).
Um fim de semana para uma integração pronta para produção com verificação de webhook assinado, retentativas e um fluxo de remediação quando um usuário é recusado.
Três caminhos de integração — escolha o que melhor se adapta à sua pilha:
Incorpore nativamente com nosso SDK para Web, iOS, Android, React Native ou Flutter.
Redirecione o usuário para a página de verificação hospedada — sem SDK.
Envie um link por e-mail, SMS, WhatsApp ou qualquer canal — sem trabalho de front-end.
É um substituto direto para o seu contrato de callback de senha de uso único existente.
POST /v3/session/ com workflow_type: "biometric_authentication" e os mesmos vendor_data que você usou no cadastro.
Redirecione o usuário para o session_url retornado.
Verifique o cabeçalho X-Signature-V2 no webhook antes de confiar no corpo.
Ramifique no status — Approved (execute a ação), Declined (bloqueie), In Review (enfileire), Not Finished (solicite novamente).
A maioria das equipes troca SMS por reconhecimento facial em um fim de semana. O prompt completo que pode ser colado no agente está acima; o servidor Model Context Protocol (MCP) fala com ambas as superfícies.
E se o rosto do usuário mudar (corte de cabelo, barba, óculos)?+
O Face Match 1:1 é robusto a mudanças moderadas na aparência — pelos faciais, óculos, cor do cabelo, iluminação. A pontuação de similaridade retornada por autenticação reflete a confiança do modelo.
Para usuários que se afastam do limite de aprovação automática (caso típico: mudança drástica de peso, cirurgia, envelhecimento ao longo de muitos anos), o veredito retorna In Review e é encaminhado para sua fila de operações. O caminho de recuperação padrão é uma sessão de recadastro — uma chamada KYC atualiza o retrato, e a próxima autenticação usa o novo modelo.
Isso está em conformidade com a autenticação forte de cliente PSD2 da UE?+
Sim, para a categoria de inerência. Os Padrões Técnicos Regulatórios da Autoridade Bancária Europeia sobre Autenticação Forte de Cliente reconhecem atributos biométricos (algo que você é) como um segundo fator válido quando combinado com uma das outras duas categorias (conhecimento ou posse).
Para um fluxo completo de autenticação forte de cliente PSD2, combine o 2FA biométrico com a senha do usuário (conhecimento) ou uma sessão vinculada ao dispositivo (posse). O veredito assinado da Didit é a evidência do pacote de auditoria do fator de inerência.