Uma sessão no backend, uma linha no browser
O seu servidor cria a sessão com a chave secreta e recebe um id vs_. No browser, uma linha monta o widget. Nenhum segredo sai do servidor. Sem servidor de mídia do seu lado: a captura, a análise e a guarda da mídia sensível ficam com a gente, e você recebe uma decisão pronta.
Monte o flow, cole o widget, receba a decisão
No dashboard, marque os módulos (CPF, documento, selfie, liveness…). Geramos um flow_id.
Uma <div> e uma chamada mount(). Sem câmera, upload ou OCR do seu lado.
Disparamos verification.completed no seu webhook, e você acompanha tudo no dashboard.
sem códigoNão quer integrar nada? Gere um link de verificação no painel e mande por WhatsApp ou e-mail: a pessoa verifica pelo link e a decisão chega do mesmo jeito, no painel e no seu webhook.
O passo a passo completo, do onboarding à primeira sessão, está na documentação.
A integração em dois passos
Servidor: POST /v1/verification-sessions com a chave sk_, e recebe o id vs_.
curl -X POST https://api.unifokal.com/v1/verification-sessions \
-H "Authorization: Bearer sk_live_…" \
-H "Content-Type: application/json" \
-d '{ "flow_id": "flow_01J8…", "reference_id": "user_123" }'A sk_ fica trancada no servidor; só o vs_ vai ao browser. O vs_ é a credencial do browser: sem chave secreta e sem PII na página. Browser: uma linha, IdSaas.mount({ sessionId }).
<script src="https://api.unifokal.com/dist/widget.global.js"></script>
<div id="identity"></div>
<script>
IdSaas.mount({ sessionId: "vs_01J8…", container: "#identity" })
</script>Self-serve: crie a sk_ no dashboard e gere a sessão. Sem contrato para tocar na API. Referência completa na documentação.
O que o seu usuário vê
Um onboarding de identidade premium, pronto em minutos. O widget abre dentro do seu produto e conduz o usuário passo a passo: documento, selfie e prova de vida. A captura e a análise ficam do nosso lado; você recebe só a decisão.
Câmera, OCR, biometria e prova de vida rodam do nosso lado. Você recebe a decisão pronta, não a imagem.
Escolha os módulos no dashboard: o mesmo widget se ajusta ao Flow, sem você subir código de novo.
A mesma linha abre em qualquer tela. No desktop sem câmera, o usuário passa para o celular por QR ou por link copiado.
Baixo risco avança só com a selfie, sem desafio ativo. O desafio da prova de vida sobe conforme o risco medido, até o desafio completo. O nível nunca conta o motivo e não afrouxa na mesma sessão.
Foto tremida ou escura não derruba o fluxo: o usuário lê o motivo, refaz apenas aquele passo e tem até 3 tentativas por módulo.
O que você vê depois
O ciclo se fecha: o resultado chega assinado no seu webhook e aparece no painel.
Disparamos verification.completed no seu webhook, com assinatura HMAC-SHA256 para você conferir a origem. O formato do evento está na documentação.
Navegue pela barra lateral: verificações, chaves, webhooks e custo por módulo. Cada verificação abre o detalhe: módulos, score e o motivo da decisão. A mídia sensível fica só do nosso lado.
Crie a conta, monte um flow e rode a verificação inteira no sandbox, sem consumir saldo. Quando estiver pronto, vire a chave para produção.