SignXP Docs

Documento final e verificação

O que o PDF final contém

Quando o último signatário conclui, o SignXP monta a via definitiva:

  1. as assinaturas e rúbricas carimbadas nas coordenadas informadas no envio;
  2. o Termo de Evidências, com uma página geral e uma página por signatário (IP, dispositivo, data/hora, geolocalização, consentimento e imagens coletadas);
  3. um rodapé em todas as páginas com o SHA-256 do conteúdo original e a numeração Página X de Y, para que nenhuma folha possa ser trocada;
  4. um selo criptográfico PAdES aplicado com o certificado do SignXP — qualquer edição posterior invalida o selo e o Adobe Reader acusa.

Verificação pública

Cada documento recebe uma URL de verificação, devolvida na consulta de status e no callback:

https://app.signxp.com.br/validar/{token}

A página é pública e mostra a validade, o hash do conteúdo, a lista de signatários e um QR Code. O mesmo QR fica impresso no Termo de Evidências, permitindo conferir a autenticidade a partir de uma via impressa.

Publique essa URL no seu sistema: ela é a prova de autenticidade e continua válida independentemente de onde o arquivo esteja — e continua respondendo mesmo depois que os arquivos saem do nosso armazenamento (veja "Retenção dos arquivos", abaixo).

Quem recebeu o documento e não tem o link

Nem sempre quem precisa conferir tem a URL: o contrato chega por e-mail, é impresso, é reenviado adiante. Para esses casos existe o validador público:

https://validar.signxp.com.br

Ele aceita duas entradas, e nenhuma delas exige conta:

Entrada Como funciona
Código de verificação A pessoa digita o código de 40 caracteres que vem impresso ao lado do QR Code, no Termo de Evidências — ou cola a URL de verificação inteira, que nós recortamos. É a mesma resposta da página /validar.
Arquivo PDF A pessoa envia a via que tem em mãos. Calculamos o SHA-256 do arquivo e o casamos contra o que foi gravado no momento da selagem.

A verificação por arquivo é a mais forte das duas: casar o hash prova, byte a byte, que o PDF em mãos é exatamente o que o SignXP selou — nada foi acrescentado nem removido depois. O validador ainda confere a assinatura PAdES embutida e fixa o certificado contra o certificado público do SignXP, então um PDF assinado por outra pessoa não passa por documento nosso.

Verificando pelo seu próprio código

As duas provas também são endpoints públicos do motor. Não exigem chave de API:

GET /api/verify/{token}
GET /api/verify/by-hash/{sha256}
GET /api/verify/certificate
  • /api/verify/{token} e /api/verify/by-hash/{sha256} devolvem o mesmo corpo: título, licenciado, situação, content_hash (SHA-256 do PDF original), sealed_hash (SHA-256 da cópia selada), signatários e se o download está liberado. Um 200 no by-hash já é a prova de integridade; 404 significa que o arquivo não saiu daqui ou foi alterado depois de selado.
  • /api/verify/certificate publica o certificado PÚBLICO do SignXP em PEM, com o fingerprint_sha256. É o que permite ao seu código validar a assinatura PAdES sem confiar no certificado que vem dentro do próprio arquivo.

O sha256 é o hash da cópia selada — a via que o signatário recebeu, com Termo de Evidências, rodapé e selo. Não confunda com o content_hash, que é o do PDF original enviado por você: eles são diferentes de propósito.

Verificação pública é um recurso da licença. Quando ela não o inclui, todos estes endereços respondem 404 — inclusive a página /validar.

Retenção dos arquivos

Os arquivos (PDF original, cópia selada, Termo e imagens de identificação) podem ter prazo de guarda definido na sua licença — dois prazos, na verdade, um para as imagens de identidade (dado sensível, prazo em geral mais curto) e outro para os documentos. Passado o prazo, eles saem do nosso armazenamento. Sem prazo configurado, nada é apagado.

A verificação não morre com o arquivo. Metadados, hashes, signatários e o token de verificação são preservados para sempre: a página pública continua provando que o documento existiu, quem assinou e qual era exatamente o seu conteúdo. O que deixa de existir é o download.

Na prática: publique a URL de verificação e guarde uma cópia do PDF final no seu sistema, se você precisa do arquivo a longo prazo. O document.completed é o sinal para baixá-lo — mas a selagem termina logo depois do aviso, então trate um 404 ali como "ainda não" e tente de novo, em vez de erro.

Baixar a via final

O download da cópia certificada é controlado por download_policy, definido no envio:

Valor Comportamento
all_signed (padrão) A via só fica disponível quando todos assinam.
anytime O documento pode ser baixado a qualquer momento (o original, antes de concluir).
disabled Nenhum download pela página pública; apenas a conferência de autenticidade.

Use disabled para documentos sensíveis, em que a verificação deve confirmar a existência e a integridade sem expor o conteúdo.

A sua conta pode desligar o download inteiro. Em Configurações → Entrega do documento assinado, no portal, você decide se o SignXP oferece a cópia a quem assinou. Desligado, o arquivo não sai por nenhuma ponta voltada ao signatário — tela de conclusão, e-mail de documento concluído e esta página —, vale para os documentos já em assinatura e o download_policy do envio passa a ser ignorado. É para quem entrega o documento pelo próprio canal.

A verificação continua funcionando: o que sai é o arquivo, não a prova. E o seu acervo no portal não muda — você continua baixando o que é seu.