Este documento explica, para o jurídico do seu negócio e para qualquer interessado, como o SimpleSigner protege cada documento, como cada pessoa é identificada ao assinar e por que as assinaturas colhidas por ele têm validade jurídica no Brasil.
O SimpleSigner colhe assinaturas eletrônicas de clientes, pacientes, fornecedores e demais interessados por WhatsApp, e-mail ou SMS, e depois aplica a assinatura digital qualificada da sua empresa (certificado ICP-Brasil) sobre o documento final. O resultado é um PDF que contém:
Essa combinação atende ao que a lei brasileira exige para a assinatura eletrônica ter validade entre as partes (MP 2.200-2/2001, art. 10, §2º; Lei 14.063/2020, art. 4º) e produz as provas que o Código de Processo Civil admite (arts. 369, 411 e 439 a 441).
A Lei 14.063/2020 (art. 4º) classifica as assinaturas eletrônicas em três níveis:
| Nível | O que é | No SimpleSigner |
|---|---|---|
| Simples | Qualquer meio que permita identificar o signatário e anexar dados ao documento. | Superado: além de identificar, confirmamos a posse do canal de contato da pessoa e registramos a trilha. |
| Avançada | Usa certificado não ICP-Brasil ou outro meio que associe o signatário de forma unívoca, com dados sob seu controle exclusivo, e permita detectar alterações posteriores. | É o nível da assinatura de cada pessoa: link pessoal + código de uso único (WhatsApp, e-mail ou SMS), mais o hash que detecta alteração. |
| Qualificada | Certificado digital ICP-Brasil (MP 2.200-2/2001). | É o nível do selo da sua empresa no documento final, que fecha o arquivo. Também é o nível da assinatura direta com certificado A1 ou em nuvem (BirdID/VaultID), quando a própria empresa assina. |
Para contratos privados entre a empresa e particulares (prestação de serviços, termos de consentimento, autorizações, propostas, recibos), a lei não exige o nível qualificado de todas as partes: basta que a forma seja aceita pelas partes e que a autoria e a integridade sejam comprováveis. O documento deixa isso expresso nos termos que a pessoa aceita antes de assinar.
Todo signatário passa pelos mesmos passos: lê o documento, aceita os termos, confirma a identidade e assina. A identidade é confirmada pela posse do canal que recebeu o convite, e a trilha registra qual foi usado:
| Canal | Como a identidade é confirmada | Na trilha |
|---|---|---|
| O convite vai ao número cadastrado pela empresa, pela API oficial da Meta, com modelos de mensagem aprovados. Antes de assinar, a pessoa pede um código de 6 dígitos que vai ao mesmo número. Vale 5 minutos, 5 tentativas por código, no máximo 5 códigos por hora. Só o hash com sal fica no banco. A Meta registra entrega e leitura da mensagem. | wa_sent, wa_delivered, wa_read, otp_sent, otp_verified, otp_failed | |
| Convite e código vão à caixa de e-mail cadastrada. Mesmas regras de validade e tentativas. | email_sent, otp_sent, otp_verified | |
| SMS | Convite e código vão ao número cadastrado por SMS. Mesmas regras. | sms_sent, otp_sent, otp_verified |
O texto dos termos aceitos é versionado, e a versão aceita fica gravada na trilha.
Cada signatário recebe um link com um token de 256 bits aleatórios, gerado por gerador criptográfico. Não é adivinhável nem derivável de outro link. O link só serve para aquela pessoa, naquele documento. Depois que o envio é concluído, cancelado ou vence, o link deixa de aceitar assinatura.
No WhatsApp, convites e códigos saem pela API oficial da Meta, com modelos aprovados, e o envio, a entrega e a leitura são registrados com identificador da Meta. Por e-mail e SMS, o envio e o resultado ficam registrados na trilha.
Prova que quem assina tem em mãos o aparelho vinculado ao número (ou acesso à caixa de e-mail). Limites: 5 minutos, 5 tentativas por código, 5 códigos por hora, e o portal do signatário tem teto de ações por link contra robôs.
A pessoa declara que leu o documento, que aceita a assinatura eletrônica como forma válida (requisito do art. 10, §2º da MP 2.200-2), como confirmará a identidade e que sabe quais dados são registrados. O aceite vira um evento datado na trilha, com a versão do texto. A geolocalização só é pedida ao navegador e é opcional.
Se a empresa ativar a opção, a pessoa consente de forma específica e envia pelo próprio aparelho uma foto do rosto antes de assinar. Ela não vai no PDF: fica guardada com data, hora, aparelho e IP gravados na própria imagem, e seu hash SHA-256 fica na trilha. É um registro complementar de quem assinou, para consulta da empresa e perícia; não é verificação biométrica.
O desenho da assinatura na tela é guardado como imagem PNG (o servidor recusa qualquer outro formato) e o seu hash SHA-256 fica no evento "assinado". A imagem aparece no PDF final ao lado dos dados da pessoa.
Cada passo (convite enviado, entregue, lido, link aberto, documento visualizado, termos aceitos, código enviado, confirmado ou errado, assinatura) é gravado com data e hora, IP, cabeçalhos de proxy, navegador e idioma. O aceite e a assinatura carregam o SHA-256 do documento, amarrando cada ato à versão exata do PDF. A aplicação só insere eventos; não há tela nem rotina que edite ou apague a trilha. A trilha bruta vai em JSON anexada dentro do PDF final, coberta pelo selo digital: é verificável sem o banco de dados e qualquer alteração invalida a assinatura.
O SHA-256 do PDF original é calculado na chegada e nunca muda. O SHA-256 do PDF final é calculado na conclusão. Ambos ficam no banco, impressos no PDF e expostos na página pública de validação, que compara o arquivo apresentado com o registrado sem enviá-lo ao servidor.
Depois de anexar assinaturas e trilha, o arquivo é assinado digitalmente com o certificado A1 da sua empresa (ou em nuvem, BirdID/VaultID), no padrão PAdES com assinatura CAdES, SHA-256 e a cadeia de certificação completa. Em PDFs que já chegam assinados, o selo é acrescentado de forma incremental, preservando as assinaturas anteriores.
O PDF sai com QR Code e código de verificação. Qualquer pessoa que receba uma cópia confere no site se ela existe, quem assinou, quando, e se o hash do arquivo que tem em mãos é o mesmo do registrado. O endereço de validação também responde no formato do validador do ITI. Consultas em excesso bloqueiam o endereço de origem.
Certificado da empresa guardado fora do código, com a senha cifrada em repouso e a chave mestra fora do banco; senhas de acesso com PBKDF2; limite de tentativas no login e bloqueio por conta; API com chave por empresa e avisos (webhooks) assinados por HMAC; registro de cada ação do painel (auditoria) e de cada download do documento; cabeçalhos de segurança e HTTPS.
| Passo | Quem faz | O que fica registrado |
|---|---|---|
| Criação do envio | Empresa (painel) ou sistema integrado (API) | Conta que criou, cofre, PDF original, SHA-256 do original, prazo, lista de signatários e o canal de cada um. |
| Convite | SimpleSigner → Meta / SMTP / operadora SMS | Pedido enviado, id da mensagem no provedor, resposta, e (no WhatsApp) status de entrega e leitura. |
| Abertura do link | Signatário | Evento link_opened: data/hora, IP, navegador, idioma, cabeçalhos de proxy. Robôs de prévia de link não geram evento. |
| Visualização do documento | Signatário | Evento document_viewed no primeiro acesso ao PDF. |
| Aceite dos termos | Signatário | Evento terms_accepted com a versão do texto aceito. |
| Confirmação da identidade | Signatário | Código enviado, confirmado ou errado, com tentativas erradas incluídas. |
| Assinatura | Signatário | Evento signed: hash da imagem, geolocalização (se autorizada), IP, navegador, horário. Status muda de forma atômica (uma única assinatura por pessoa). |
| Conclusão | SimpleSigner (automático) | Montagem do PDF final, selo ICP-Brasil, SHA-256 do final, aviso aos signatários e webhook ao sistema de origem. |
| Download do final | Quem tem o código | Data, hora, IP, navegador e origem (página pública, painel ou API). |
trilha-auditoria.json: a mesma trilha em dados brutos (IPs, cabeçalhos, hashes, versão dos termos), embutida no PDF e coberta pelo selo. Abra o painel de anexos do leitor de PDF para extrair.Não vai no PDF: a foto do rosto, o CPF completo, o telefone e o e-mail completos. O PDF circula entre todos os signatários e pode ser impresso; esses dados ficam só na trilha interna, acessível à empresa e extraível para perícia.
O conjunto de provas vincula o ato ao signatário por vias independentes: (a) o convite e o código foram entregues ao número ou e-mail informado no cadastro, e no WhatsApp a Meta registra entrega e leitura; (b) o código de uso único só chega a quem tem o aparelho ou a caixa de e-mail; (c) a trilha mostra IP, navegador, horário e geolocalização, confrontáveis com outros registros da pessoa; (d) o desenho da assinatura, com hash registrado no momento do ato; (e) quando a empresa ativou a opção, a foto do rosto carimbada com data, hora e aparelho. Cabe a quem nega demonstrar que perdeu o controle do aparelho e do número naquele momento.
Impossível sem ser detectado: o SHA-256 do original e do final estão registrados e impressos; o selo ICP-Brasil cobre o arquivo inteiro; qualquer leitor de PDF e o validador do ITI acusam modificação. A página pública permite a comparação a qualquer tempo.
O aceite dos termos é um evento datado e exigido antes da identificação e da assinatura. O texto aceito declara expressamente a concordância com a forma eletrônica (MP 2.200-2, art. 10, §2º) e a versão aceita fica na trilha.
A data e hora vêm do relógio dos servidores do SimpleSigner, sincronizados por NTP, e são corroboradas pelos registros do provedor do canal (entrega e leitura das mensagens). Um carimbo de tempo de Autoridade de Carimbo do Tempo da ICP-Brasil pode ser acrescentado ao selo (seção 11).
A empresa consegue extrair, para qualquer documento: o PDF final selado, o PDF original, as imagens das assinaturas, a trilha em formato estruturado (JSON) com os cabeçalhos brutos de cada requisição, o registro das mensagens trocadas com o provedor, os downloads feitos e a auditoria de quem operou o painel.
Documento de referência técnica e jurídica do SimpleSigner. Não substitui parecer jurídico sobre casos concretos.