Como funciona

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

01 / 03
Monte um Flow

No dashboard, marque os módulos (CPF, documento, selfie, liveness…). Geramos um flow_id.

02 / 03
Cole o widget

Uma <div> e uma chamada mount(). Sem câmera, upload ou OCR do seu lado.

03 / 03
Receba o resultado

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_.

1 · seu servidor (bash)
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 }).

2 · index.html
<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.

Captura e validação do nosso lado

Câmera, OCR, biometria e prova de vida rodam do nosso lado. Você recebe a decisão pronta, não a imagem.

Customizável por Flow, sem deploy

Escolha os módulos no dashboard: o mesmo widget se ajusta ao Flow, sem você subir código de novo.

Responsivo, do celular ao desktop

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.

Fricção adaptativa em 3 níveis

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.

Quem erra vê o motivo e refaz só aquela etapa

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.

A decisão no seu webhook

Disparamos verification.completed no seu webhook, com assinatura HMAC-SHA256 para você conferir a origem. O formato do evento está na documentação.

O painel

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.

Comece pelo sandbox

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.