O pacote de evidências é o produto final de toda Sessão de Confiança concluída. É a prova jurídica de que uma identidade autenticada confirmou uma ação específica em um momento específico. Mesmo formato e mesma força probatória do pacote da Assinatura Expressa — apenas com document: null e action preenchido.
{
"evidenceId": "ev_01JXYZ...",
"schemaVersion": "1.0",
"purpose": "ACTION_AUTHENTICATION",
"tenantId": "tnt_01HXXX",
"transactionId": "01JXYZ...",
"sessionId": "01JXYZ...",
"document": null,
"action": {
"type": "approve_disbursement",
"description": "Aprovar liberação do empréstimo consignado #INSS-2026-007482"
},
"signer": {
"name": "Maria Souza",
"cpf": "12345678909",
"email": "maria@example.com"
},
"policy": {
"profile": "BIOMETRIC_SERPRO"
},
"steps": [
{
"type": "CLICK_ACCEPT",
"status": "COMPLETED",
"startedAt": "2026-05-08T14:00:12Z",
"completedAt": "2026-05-08T14:00:25Z"
},
{
"type": "BIOMETRIC_LIVENESS",
"status": "COMPLETED",
"startedAt": "2026-05-08T14:00:26Z",
"completedAt": "2026-05-08T14:01:18Z",
"result": {
"matchScore": 0.987,
"livenessScore": 0.994,
"provider": "AWS_REKOGNITION"
}
},
{
"type": "SERPRO_IDENTITY_CHECK",
"status": "COMPLETED",
"startedAt": "2026-05-08T14:01:19Z",
"completedAt": "2026-05-08T14:01:42Z",
"result": {
"matchScore": 0.962,
"documentType": "CNH",
"documentValid": true
}
}
],
"timestamps": {
"createdAt": "2026-05-08T14:00:00Z",
"completedAt": "2026-05-08T14:01:42Z"
},
"context": {
"ipAddress": "200.123.45.67",
"userAgent": "Mozilla/5.0 (Linux; Android 13)...",
"geolocation": { "lat": -23.5505, "lon": -46.6333, "accuracy": 12 }
},
"metadata": {
"regulation": "IN-138-2022",
"contract_id": "INSS-2026-007482"
}
}
| Campo | Importância |
|---|---|
evidenceId |
Identificador imutável; use como referência cruzada em logs internos |
purpose: ACTION_AUTHENTICATION |
Distingue Sessão de Confiança de Assinatura Expressa |
document: null |
Confirma que nenhum PDF foi anexado (é o esperado nessa modalidade) |
action.type + action.description |
A "coisa autenticada"; deve ser autoexplicativo para um juiz/regulador ler isoladamente |
signer.cpf |
CPF completo (não mascarado) no pacote canônico; mascarado apenas no verificador público |
steps[].result |
Pontuações biométricas e resultados de checks; comprovam a robustez do processo |
timestamps |
UTC ISO 8601; reflete o relógio do servidor SignDocs |
context.ipAddress, geolocation |
Apoia análise de padrão (mesmo dispositivo? mesma localização da criação da conta?) |
metadata |
Suas chaves livres; use para amarrar à sua transação no sistema interno |
Dois formatos disponíveis:
GET /v1/verify/{evidenceId} — público, sem auth, retorna a estrutura acima.GET /v1/trust-sessions/{id}/evidence — autenticado; retorna o JSON canônico envelopado em CMS assinado com certificado ICP-Brasil A1. Valida com qualquer cliente PKCS#7 (OpenSSL, Bouncy Castle, .NET SignedCms).Para apresentação a juiz/regulador, prefira o .p7m — a assinatura ICP-Brasil garante autenticidade e integridade sem confiar em sua palavra.
.p7m com OpenSSL# Extrai o conteúdo JSON sem verificar assinatura (debug)
openssl cms -verify -in evidence-01JXYZ.p7m -noverify -out evidence.json
# Verifica assinatura contra a cadeia ICP-Brasil (raiz oficial)
openssl cms -verify -in evidence-01JXYZ.p7m \
-CAfile /usr/share/ca-certificates/icp-brasil-bundle.pem \
-out evidence-verified.json
A saída evidence-verified.json é byte-a-byte idêntica ao retorno do verificador público — comprova que o JSON não foi alterado.
https://verificador.signdocs.com.br/{evidenceId} permanece resolvível enquanto o pacote existir — produção é praticamente permanente.Padrão recomendado:
evidenceId.https://verificador.signdocs.com.br/{evidenceId})..p7m baixado..p7m.O regulador pode validar tudo independentemente do SignDocs — basta o .p7m, OpenSSL e a cadeia ICP-Brasil pública.
O pacote canônico contém PII (nome, CPF, email, foto biométrica indireta via score). Tratamento:
GET /v1/trust-sessions/{id}/evidence) requer Bearer JWT do mesmo tenant que criou./v1/verify/{evidenceId}) mascara dados sensíveis (CPF parcial, email parcial) e não retorna o metadata interno.A força probatória do pacote vem da combinação:
action.description faz parte do que é assinado).p7m)Lei 14.063/2020 e MP 2.200-2/2001 + jurisprudência STJ reconhecem esse arranjo como assinatura eletrônica avançada com presunção de autenticidade.