Política de Privacidade

O que guardamos, o que nunca guardamos e quem mais toca nisso.

A Tamperlens analisa documentos e guarda quase nada. Esta página descreve o sistema real, coluna por coluna, em vez da lista habitual de tudo que uma empresa poderia coletar.

A versão curta

  • Os PDFs que você analisa nunca são gravados em disco e não são mantidos depois da resposta. Sem cópias, sem cache, sem backup deles.
  • Nunca registramos o conteúdo de um documento, seu texto ou seu nome de arquivo em operação normal.
  • O banco de dados guarda três coisas sobre você: uma linha de conta, um hash da sua chave de API e uma linha de registro por análise.
  • Não há cookies de análise nem rastreadores de terceiros em página nenhuma. A contagem de visitas acontece no nosso próprio servidor e registra apenas uma data, um caminho e um número.

1. Documentos enviados para análise

Quando você envia um PDF — para o verificador gratuito, para o console de teste do painel ou para POST /api/v1/inspect — os bytes ficam em memória, são interpretados em uma thread de trabalho, transformados em relatório e descartados ao fim da requisição. Nada é gravado em disco em momento algum, e não existe fila, cache ou armazenamento de objetos atrás do endpoint.

O relatório é devolvido a você e também não é guardado do nosso lado. Se quiser mantê-lo, guarde-o você.

PDFs criptografados são reportados como "conteúdo não analisado" em vez de descriptografados. Não tentamos quebrar proteção por senha.

Os logs do servidor registram o fato da requisição (método, caminho, status, duração), nunca o conteúdo de um documento. Nomes de arquivo não são registrados em operação normal.

2. Sua conta

Se você criar uma conta, guardamos, em um único banco SQLite:

  • seu endereço de e-mail, em minúsculas;
  • um hash scrypt da sua senha com um salt aleatório por conta — nunca a senha em si, e o hash não é reversível;
  • o momento em que você confirmou seu e-mail, se confirmou;
  • seu id de cliente na Stripe, se você já iniciou um checkout — uma referência opaca, sem dado de cartão;
  • a data de criação da conta.

Chaves de API: guardamos apenas um hash SHA-256 de cada chave, ao lado do plano, da cota mensal, do rótulo e da data de criação. A chave em si existe nos nossos sistemas só pelo tempo de ser exibida uma vez a você. É também por isso que não podemos reenviá-la — a rotação emite uma nova.

Sessões: entrar cria uma linha com um id de sessão aleatório, o id da sua conta e uma validade (30 dias, estendida enquanto você usa o painel). Sair apaga a linha; linhas expiradas são apagadas automaticamente.

Links por e-mail: os links de "confirme seu endereço" e "redefina sua senha" são apoiados por uma linha com um hash SHA-256 do token, seu tipo, sua validade (7 dias para confirmação, 1 hora para redefinição) e se já foi usado. Cada link funciona uma única vez. Linhas expiradas são apagadas automaticamente.

3. O registro de uso

Cada análise acrescenta uma linha ao registro de uso. Essa linha é o registro completo da requisição:

  • um horário;
  • o tamanho em bytes do arquivo enviado;
  • a faixa de risco do relatório (baixo / elevado / alto);
  • e ou o id da chave de API usada (em chamadas autenticadas) ou o endereço IP do cliente (em chamadas anônimas ao verificador gratuito) — nunca os dois.

Não existe coluna para o documento, seu nome, seu conteúdo ou qualquer sinal que ele tenha produzido. O registro existe para aplicar as cotas mensais, cobrar corretamente, mostrar a você o seu próprio uso e tornar auditável o limite anônimo.

Retenção:

  • Linhas anônimas (com endereço IP): 90 dias. Endereço IP é dado pessoal, então essas são as linhas de vida mais curta do banco.
  • Linhas com chave (sem endereço IP): 400 dias — um ano com folga, para que comparações mês a mês continuem funcionando.

Uma varredura diária apaga tudo que passou desses prazos.

4. Cookies

Existe exatamente um cookie neste site: tl_session, definido quando você entra. Ele guarda um identificador de sessão aleatório e nada mais — sem nome, sem e-mail, sem preferências. É HttpOnly (JavaScript não consegue lê-lo), SameSite=Lax (o navegador nunca o envia em uma requisição feita por outro site — só quando você mesmo navega até aqui, que é o que faz a volta da página de pagamento funcionar), Secure em produção, e expira em 30 dias.

Esse cookie é estritamente necessário para manter você logado, e é por isso que não há banner de consentimento perguntando sobre ele. Não há cookies de publicidade, análise ou preferência, e nenhuma página carrega script, fonte, imagem ou folha de estilo de outro domínio — a Content-Security-Policy de todas as páginas proíbe isso.

5. Como contamos as visitas

Queremos saber se alguém está lendo o site. Então o servidor mantém um contador: a cada página servida com sucesso ele incrementa uma linha identificada por (data UTC, caminho da página).

É esse o registro inteiro. Não há endereço IP, agente de usuário, referenciador, cookie, sessão, identificador de visitante ou de dispositivo, nem forma de reconstruir um — uma linha diz "a página de preços foi servida 14 vezes em 2026-07-25" e não consegue dizer mais, porque a tabela não tem outras colunas. Não sabemos se foram 14 pessoas ou uma pessoa catorze vezes, e estamos satisfeitos com isso.

Somente o titular do site consegue ler esses contadores, por um endpoint protegido por um token secreto separado.

6. Quem mais processa seus dados

  • Hetzner (hospedagem) — a aplicação e o banco rodam em um único servidor virtual no data center da Hetzner em Helsinque, Finlândia. A Hetzner é uma empresa alemã e suas instalações estão na União Europeia. Backups criptografados do banco permanecem no mesmo provedor.
  • Cloudflare (CDN, proxy, TLS) — todo o tráfego chega a nós pela Cloudflare, que termina o TLS, serve os arquivos estáticos em cache e provê o túnel até nosso servidor. A Cloudflare processa metadados da requisição, incluindo seu endereço IP, sob os termos dela; recebemos o IP do cliente pelo cabeçalho CF-Connecting-IP e o usamos apenas como descrito na seção 3.
  • Stripe (pagamentos) — se você assinar, a Stripe coleta e processa seus dados de pagamento e cobrança. Dados de cartão nunca chegam aos nossos servidores; guardamos apenas a referência de cliente da Stripe. A Stripe atua como controladora independente para fins de conformidade próprios.
  • Resend (e-mail transacional) — usada, quando configurada, para enviar os dois e-mails que este serviço envia: confirmação de endereço e redefinição de senha. Ela recebe seu e-mail e a mensagem. Não existe lista de marketing e não enviamos newsletter.

Não vendemos nem alugamos dados pessoais, e não os compartilhamos com mais ninguém a não ser quando legalmente obrigados.

7. Por que podemos guardar isso (bases legais)

  • Execução do contrato com você — sua conta, sua chave, o registro de cota, a sessão e os e-mails sobre sua conta. Sem isso o serviço não funciona.
  • Legítimo interesse — o registro anônimo do limite de taxa e os contadores de página, ambos o mínimo necessário para manter o serviço disponível e para saber se alguém o lê.
  • Obrigação legal — manter registros de cobrança pelo prazo que a legislação tributária exigir.

8. Seus direitos

Você pode pedir para ver o que guardamos sobre você, corrigir, exportar ou excluir. Escreva para [email protected] a partir do endereço da conta e agiremos — normalmente em poucos dias, e em qualquer caso dentro de um mês.

A exclusão remove a linha da sua conta, seus hashes de chave, suas sessões e suas linhas do registro de uso. Duas coisas sobrevivem, e é justo que você saiba: os registros de cobrança na Stripe, que não podemos apagar por ela e que a legislação tributária exige guardar; e os contadores de visita, que não contêm nenhuma referência a você e portanto não podem ser ligados a você.

No Brasil, você pode também reclamar à ANPD. Na União Europeia ou no Reino Unido, à autoridade local de proteção de dados.

9. Segurança

  • Tudo é servido sobre HTTPS; não existe endpoint em HTTP puro.
  • Senhas usam hash scrypt com salt por conta; chaves de API e tokens de e-mail são guardados como hashes SHA-256.
  • Todas as páginas rodam sob uma Content-Security-Policy estrita, sem scripts embutidos e sem origens de terceiros.
  • O parser de PDF trata todo arquivo como hostil: limites rígidos de tamanho e complexidade, orçamento de tempo e execução em uma thread separada que é morta e substituída se um arquivo demorar demais. JavaScript embutido é sinalizado, nunca executado.
  • O contêiner da aplicação roda como usuário sem privilégios, com sistema de arquivos somente leitura fora do volume de dados, e não publica portas diretamente na internet.

Nenhum sistema é perfeito. Se você encontrar uma vulnerabilidade, escreva para [email protected] antes de divulgá-la publicamente, e trabalharemos com você.

10. Crianças

A Tamperlens é uma ferramenta para desenvolvedores e não é dirigida a crianças. Não criamos contas conscientemente para menores de 16 anos.

11. Alterações desta política

A data de "última atualização" no topo sempre reflete a versão vigente. Se uma mudança afetar materialmente como tratamos dados pessoais, avisaremos os titulares de conta por e-mail antes de ela valer.

12. Contato

O controlador dos dados é o titular individual da Tamperlens, no Brasil. Para qualquer dúvida, pedido ou reclamação de privacidade: [email protected].