Saltar para o conteúdo principal

Visão geral

O relatório de prova de vida regista tudo o que a Didit observou ao verificar que uma pessoa real e viva estava em frente à câmara — e não uma fotografia impressa, uma reprodução de ecrã ou um deepfake. Inclui o método de prova de vida, uma pontuação de confiança de 0 a 100, a selfie de referência e o vídeo de captura, uma estimativa de idade opcional, métricas de qualidade de prova de vida passiva e correspondências faciais entre sessões com o histórico e a lista de bloqueio da sua aplicação. O relatório é gerado após o utilizador concluir o passo de prova de vida num fluxo (ou chamar o endpoint facial independente). A Didit executa um dos três métodos de prova de vida (3D ativo, intermitência ou passivo), pontua a captura, faz a triagem de padrões de spoofing conhecidos e compara o rosto biometricamente com todos os outros rostos observados na sua aplicação. Cada relatório inclui o seu próprio status — independente do estado geral da sessão — que reflete como o passo de prova de vida foi resolvido isoladamente:
  • Aprovada — rosto detetado, pontuação de prova de vida acima do limiar de revisão, nenhum aviso de recusa automática acionado.
  • Em análise — um ou mais avisos encaminhados para revisão foram acionados, ou a pontuação está no limiar de revisão ou abaixo deste, mas acima do limiar de recusa.
  • Recusada — uma condição de recusa automática foi acionada (NO_FACE_DETECTED, LIVENESS_FACE_ATTACK, FACE_IN_BLOCKLIST ou os riscos de idade em fluxos de estimativa de idade), um aviso configurável foi encaminhado para recusa, ou a pontuação está no limiar de recusa ou abaixo deste.
  • Não concluída — o utilizador nunca concluiu o passo de prova de vida.

Onde surge nas respostas da API

O relatório de prova de vida surge como liveness_checks[] em GET /v3/session/{sessionId}/decision/ — sempre como um array JSON, nunca como um objeto liveness singular. Surgem múltiplas entradas quando um fluxo executa a prova de vida mais de uma vez (por exemplo, uma verificação principal mais uma nova captura).
  • API de decisão da sessão — GET /v3/session/{sessionId}/decision/ devolve liveness_checks[] no nível superior. Consulte Obter decisão da sessão.
  • Webhooks — os payloads de session.status.updated incluem o mesmo array liveness_checks[] assim que o passo tiver produzido dados. Consulte Webhooks.
  • API independente de prova de vida — consulte API independente de prova de vida.
Leia response.liveness_checks[0] e itere o array — a estrutura singular liveness referida em alguns tutoriais mais antigos não existe no endpoint de decisão v3.

Esquema

O esquema canónico campo a campo encontra-se na página de referência Modelos de dados. Os campos abaixo refletem esse esquema canónico.

Correspondências faciais entre sessões

O campo matches[] lista os rostos no histórico da sua aplicação que excederam o limiar de semelhança biométrica face a esta selfie — até 5 entradas, com rostos na lista de bloqueio e na lista de permissões primeiro, seguidos por ordem decrescente de semelhança. Os candidatos elegíveis são rostos na lista de bloqueio, rostos na lista de permissões, rostos de sessões com Approved e rostos importados associados aos seus utilizadores do fornecedor. Os rostos pertencentes ao mesmo utilizador (mesmo vendor_data, ou o mesmo utilizador do fornecedor quando disponível) são excluídos de toda a pesquisa — tanto da deteção de duplicados como da triagem de lista de bloqueio. Cada entrada inclui:

Valores de estado

Os estados são provenientes do enum partilhado de estados de funcionalidades (FeatureStatusChoices).

Exemplos

Approved — captura 3D ativa limpa

In Review — prova de vida passiva, captura de baixa qualidade e um possível duplicado

Aqui, a qualidade facial (12.4) situa-se abaixo do limiar de revisão predefinido (15), a luminância (18.7) situa-se abaixo do mínimo predefinido (20) e a ação de rosto duplicado do fluxo está configurada para Revisão — pelo que todos os três avisos apresentam log_type: "warning" e o relatório é resolvido com In Review.

Nota de segurança

Os vídeos e as selfies de prova de vida constituem dados biométricos — os URLs assinados são temporários e expiram (após 4 horas por predefinição). Trate-os como de curta duração: não os guarde em cache nem os exponha publicamente. Normalmente, a sua aplicação necessita apenas de status, score e dos avisos — armazene o mínimo possível para minimizar os dados biométricos nos seus servidores.

Relacionados

Última modificação em 7 de novembro de 2026