SaqSaq Docs

TrueHolder

O TrueHolder é uma trava de segurança que valida a titularidade do documento (CPF ou CNPJ) em transações. Aplica-se tanto a cash-in (depósito) quanto a cash-out (saque), antes de aceitar o dinheiro entrando ou antes de enviar o dinheiro saindo, a Saq compara o documento com o titular autorizado.

Se bate, a transação segue. Se não bate, é bloqueada automaticamente.

Para que serve

  • Anti-fraude em cash-in: impede que terceiros paguem cobranças destinadas a um titular específico (lavagem, fraude de boleto-Pix, ataques de engenharia social).
  • Anti-fraude em cash-out: impede saque para chave Pix de outro CPF/CNPJ, evitando desvio mesmo se o token vazar.
  • Conformidade KYC/AML: garante que o fluxo financeiro respeite o titular declarado durante o onboarding.
  • Reduz disputas MED: pagamentos que chegam do titular autorizado têm menos chance de virar contestação.

Como funciona

Em cash-in (depósito)

Quando você cria uma cobrança Pix via POST /pix com generatedDocument, o TrueHolder valida que o CPF/CNPJ do pagador (payerDocument) bate com generatedDocument no momento do pagamento.

CenárioResultado
Pagador é o titular autorizadoTransação COMPLETED normalmente
Pagador é outra pessoa/empresaPagamento rejeitado, transação ERROR
generatedDocument não informadoSem validação, qualquer pagador é aceito

Em cash-out (saque)

Em POST /withdraw e POST /withdraw/qrcode, o TrueHolder compara o titular da chave Pix de destino (consultado via DICT internamente) com o documento autorizado para a conta.

CenárioResultado
Chave Pix pertence ao titular autorizadoSaque COMPLETED
Chave Pix de outro CPF/CNPJSaque bloqueado antes de sair

Como ativar

O TrueHolder não é ligado por API. Entre em contato com o suporte da Saq para habilitar na sua conta. Uma vez ativo, funciona automaticamente em todas as transações.

Tratamento de bloqueio

Quando uma transação é bloqueada pelo TrueHolder, ela aparece no callback com:

{
  "id": "SAQ20251123104518DF75D20A8F",
  "status": "ERROR",
  "type": "DEPOSIT",
  "cancellationReason": "TRUEHOLDER_DOCUMENT_MISMATCH",
  "payerDocument": "11122233344",
  "generatedDocument": "55566677788"
}

Sugestões:

  • Avise o cliente final que o pagamento veio de documento diferente do autorizado.
  • Logue o caso com id, payerDocument e generatedDocument, pode ser sinal de tentativa de fraude ou erro de cadastro do cliente.
  • Não retente automaticamente, o cliente precisa pagar do CPF/CNPJ correto.

Combinação com outras travas

TravaCamadaCobre
TrueHolderServidor SaqBloqueia documento divergente em depósito/saque.
Consulta DICTAplicaçãoConfirma titular antes de iniciar saque por chave.
2FAAplicaçãoMFA antes de operações sensíveis.
IP whitelist do webhookAplicaçãoAceita callbacks apenas do IP oficial Saq.

Use em conjunto. TrueHolder é a última linha de defesa no servidor; DICT e 2FA são as primeiras camadas no seu app.

Limitações

  • TrueHolder valida documento, não nome ou banco. Cliente pode ter conta em vários bancos sob o mesmo CPF e qualquer uma é aceita.
  • Em depósito, depende do generatedDocument ser informado na criação. Sem ele, não há comparação.
  • Pessoa jurídica (CNPJ) com vários sócios pagando: bloqueado se for CPF de pessoa física, mesmo sócio. O documento autorizado é único.

On this page