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-IPe 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].
Modelo, não parecer jurídico. Este documento foi escrito para descrever com honestidade o que o software realmente faz — foi conferido contra o código-fonte, não copiado de outro site — mas não foi revisado por advogado, e ainda não nomeia uma pessoa jurídica nem um representante na União Europeia. Revise-o com assessoria jurídica antes de se apoiar nele.