Fluxo para autorizar operações sensíveis sem precisar de contrato/PDF: liberação de empréstimo consignado (IN 138/2022), aprovação de PIX de alto valor, liberação de escrow, autorização de mudança de plano, aceite de uma decisão executiva em ERP/CRM.
| Cenário | OTP+SMS basta? | Use Sessão de Confiança |
|---|---|---|
| Login em portal interno | Sim | Não |
| Transferência interna pequena | Sim | Não |
| Empréstimo consignado INSS | Não (IN 138/2022 exige biometria) | Sim |
| PIX > R$ 5.000 entre contas não-recorrentes | Possivelmente | Recomendado (auditoria robusta) |
| Liberação de escrow | OTP fraco demais | Sim |
| Aprovação de M&A / resolução de diretoria | OTP fraco demais | Sim (BIOMETRIC + DIGITAL_SIGN_A1) |
| Mudança de Pix Key | Sim, na maioria | Recomendado em fraude alta |
{
"action": {
"type": "approve_payroll_loan_disbursement",
"description": "Aprovar liberação de empréstimo consignado #INSS-2026-007482 no valor de R$ 8.450,00 em 60 parcelas"
},
"policy": {
"profile": "BIOMETRIC_SERPRO"
},
"signer": {
"name": "Maria Souza",
"cpf": "123.456.789-09",
"email": "maria@example.com",
"phone": "+5511999990000",
"otpChannel": "sms"
},
"metadata": {
"regulation": "IN-138-2022",
"contract_id": "INSS-2026-007482",
"benefit_number": "1234567890",
"amount_cents": 845000,
"installments": 60
},
"expiresInMinutes": 30
}
A IN 138/2022 do INSS exige biometria facial em cada novo contrato de consignado. A Sessão de Confiança com BIOMETRIC_SERPRO cumpre o requisito e produz evidência aceita em auditoria do INSS.
{
"action": {
"type": "authorize_high_value_pix",
"description": "Autorizar PIX para chave joao@example.com no valor de R$ 9.850,00"
},
"policy": {
"profile": "OTP_AND_BIOMETRIC"
},
"signer": { "name": "...", "cpf": "...", "email": "...", "otpChannel": "sms" },
"metadata": {
"pix_request_id": "PIX-A47291",
"amount_cents": 985000,
"destination_key": "joao@example.com"
},
"expiresInMinutes": 10
}
OTP_AND_BIOMETRIC é a combinação típica para PIX: OTP por SMS prova a posse do telefone, biometria prova a identidade. Use expiresInMinutes: 10 para evitar janelas longas em flows tempo-sensíveis.
{
"action": {
"type": "board_resolution_approval",
"description": "Aprovar Ata da Reunião de Diretoria nº 2026-04 — aporte de capital de R$ 1.200.000,00 na subsidiária X"
},
"policy": {
"profile": "FULL_PLUS_A1"
},
"signer": {
"name": "Ewerton Sava",
"cpf": "987.654.321-00",
"email": "ewerton@example.com",
"otpChannel": "email"
},
"metadata": {
"board_resolution_id": "BR-2026-04",
"amount_cents": 120000000,
"company_cnpj": "12.345.678/0001-90"
}
}
FULL_PLUS_A1 (perfil customizado a contratar com seu CS) executa CLICK_ACCEPT + OTP + BIOMETRIC + DIGITAL_SIGN_A1 sobre o hash da ação — atende o requisito mais rigoroso de governança corporativa quando a empresa quer prova ICP-Brasil sem precisar materializar um PDF.
Para evitar dupla aprovação em retries:
X-Idempotency-Key no seu sistema vinculada ao recurso (ex: loan_disbursement:INSS-2026-007482).trust_session.completed com o evidenceId.evidenceId ainda não foi consumido. Marque-o como consumido na mesma transação que realiza a operação.Isso fecha o ciclo: a operação irreversível só acontece uma vez, mesmo que o webhook chegue duplicado ou que o retry do cliente seja agressivo.
Se o usuário não conclui ou o sistema upstream cancela a operação:
curl -X POST https://api-hml.signdocs.com.br/v1/trust-sessions/$SESSION_ID/cancel \
-H "Authorization: Bearer $JWT"
A cota monthlyTrustSessions consumida não é reembolsada (regra herdada de monthlyTransactions). Isso evita o abuso de criar e cancelar em loop para esquentar contadores.