Política de Privacidade

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

A Tamperlens analisa documentos e guarda pouco: nada sem conta, uma lista fechada de campos derivados com conta, e o arquivo só se você pedir. 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

  • Sem conta, os documentos que você analisa nunca são gravados em disco, PDFs, imagens e arquivos do Office igualmente, e não são mantidos depois da resposta. Sem cópias, sem cache, sem backup deles.
  • Uma conta guarda um registro curto de cada análise: hashes, ids dos sinais, a nota. Nunca o arquivo, o nome dele ou qualquer texto dele. Ligado por padrão em contas novas, por 90 dias; contas que já existiam não guardam nada até ligarem. Dá para desligar ou apagar a qualquer momento. A seção 1 lista cada campo.
  • O arquivo em si só fica guardado se a sua conta ativar, cifrado, por 7 a 90 dias.
  • Nunca registramos o conteúdo de um documento, seu texto ou seu nome de arquivo em operação normal.
  • Baselines de emissor guardam uma impressão digital estrutural, nunca um documento. Os documentos de treino são lidos em memória e descartados como qualquer outro envio.
  • O banco de dados guarda uma linha de conta, um hash de cada chave de API, uma linha de registro por análise e os registros derivados que o seu histórico guardou (seção 1).
  • Três cookies, todos nossos, e nenhum deles de publicidade ou de rastreamento: a sua sessão, o idioma que você escolheu e um contador assinado de análises anônimas. A seção 4 lista os três.
  • A nossa contagem de visitas acontece no nosso próprio servidor e registra apenas uma data, um caminho e um número. Dois recursos da Cloudflare (a verificação humana que aparece no verificador gratuito e o Cloudflare Web Analytics) são a única coisa que alguma página carrega de outro domínio, e a seção 4 diz exatamente o que fazem e quando.

1. Documentos enviados para análise

Esta seção vale para todo arquivo que você nos envia, seja qual for o tipo. A Tamperlens aceita PDFs, imagens (JPEG, PNG, WebP, GIF, TIFF, HEIF, BMP) e arquivos do Office (.docx, .xlsx, .pptx), e decide qual deles você mandou lendo os bytes, não confiando no nome do arquivo.

Quando você envia um, para o verificador gratuito, para a checagem de tarja, para o leitor de metadados, para a comparação, para o console de teste do painel ou para POST /api/v1/inspect, POST /api/v1/case, POST /api/v1/metadata ou POST /api/v1/compare. 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. O limite é de 10 MB por arquivo. O arquivo nunca é gravado em disco, a menos que a sua conta tenha ativado a guarda dele (abaixo), e não existe fila nem cache atrás de nenhum desses endpoints.

O relatório é devolvido a você. Não guardamos o relatório em si; o que uma conta guarda é o registro curto descrito a seguir, nunca o texto do relatório.

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.

Os baselines de emissor não mudam nada disso. Se você treinar um baseline (veja o painel), os documentos enviados para o treino são interpretados em memória e descartados exatamente pelo mesmo caminho de uma análise, nunca são gravados em disco. O que fica guardado é a impressão digital estrutural derivada: quais produtores de PDF, versões de PDF, conjuntos de fontes, tamanhos de página, contagens de revisão e estilos de tabela de referências apareceram nas suas amostras, e com que frequência cada um. São algumas centenas de bytes e não há nenhum texto de documento ali (nenhum nome, nenhum número de conta, nenhum saldo), por desenho e por um validador que se recusa a guardar qualquer outra coisa. Você pode excluir um baseline pelo painel ou com DELETE /api/v1/baselines/:issuer, e ele deixa de existir.

O que uma conta guarda: o histórico de análises

Uma análise feita para uma conta, com uma chave de API dela ou por um verificador ou pelo painel com você logado, via POST /api/v1/inspect ou POST /api/v1/case, pode deixar um registro curto. É o que permite ver o seu histórico, ser avisado quando um arquivo tem a mesma origem de um que a sua conta já enviou e rotular resultados. Contas criadas depois que este histórico entrou no ar já nascem com ele ligado; contas que já existiam não guardam nada até ligarem no painel. O registro é uma lista fechada de campos e nada além disso:

  • quando foi feito e quando vence (created_at, expires_at);
  • qual endpoint o criou (source, inspect ou case), o tipo de arquivo (media_type) e a versão do motor (engine_version);
  • uma faixa de tamanho (size_bytes): o tamanho arredondado para cima até uma potência de dois, nunca o tamanho exato;
  • quatro identificadores de linhagem do arquivo, o SHA-256 dele, o /ID permanente do PDF, o instante de criação e as tags de subset de fonte, cada um guardado só como HMAC sob um sal aleatório da sua conta (sha256_hmac, id_permanent_hmac, creation_instant_hmac, font_tags_hmac). Eles deixam a sua conta reconhecer a mesma origem de novo. Sem o sal da sua conta não dá para conferi-los contra um arquivo conhecido, e os identificadores de duas contas nunca casam. O sal fica no mesmo banco, então isso protege uma lista desses valores sozinha, não uma cópia do banco inteiro;
  • um hash do perfil do emissor (issuer_profile_hash), a impressão digital estrutural descrita acima. Ele não leva sal: o mesmo layout dá o mesmo hash em qualquer conta;
  • a nota, a faixa e o código do motivo (risk_score, risk_band, reason_code);
  • os ids e as severidades dos sinais que dispararam (signals), nunca a evidência deles;
  • o veredito da sua política e a versão dela, se você mandou uma política (policy_verdict, policy_version);
  • um HMAC do corpo do relatório sob o mesmo sal (report_hash);
  • e o controle: o id do registro, que é o id do relatório que você já tem (id), a sua conta (user_id) e a chave que fez a chamada (key_id, vazio para o painel).

Nunca o arquivo, o nome dele, qualquer texto dele, um payload recuperado, as palavras sob uma tarja, um autor, um comentário ou uma localização. Um teste lê os bytes crus do banco depois de analisar arquivos que carregam cada uma dessas coisas e não acha nenhuma, e outro falha se uma coluna for criada sem constar nesta página.

Rótulos. Um rótulo que você dá a um registro, ou a um sinal dele (inspection_id, signal_id), fica junto: fraude confirmada, genuíno, falso positivo ou incerto (label), e quando você deu. Não existe campo de texto livre.

Por quanto tempo, quem vê e como desligar

  • Os registros ficam 30, 90 ou 365 dias, à sua escolha; 90 por padrão. Encurtar o prazo vale também para o que já está guardado, e alongar nunca estende um registro já gravado. Uma varredura diária apaga o que venceu, e um registro vencido nunca aparece, mesmo antes da varredura.
  • Dá para desligar para a conta inteira (no painel), para uma chave de API (uma chave configurada com none pelo PATCH /api/v1/retention não guarda nada de nenhuma chamada feita com ela) ou para uma chamada (o cabeçalho X-Tamperlens-Retention: none). A configuração da chave e o cabeçalho só desligam, nunca ligam. O verificador do painel usa a sua chave mais nova e segue a configuração dela.
  • Nada é guardado nunca para o verificador anônimo nem para uma chave sem conta. O leitor de metadados, a comparação e o treino de baseline não guardam nada para ninguém.
  • O painel vê a conta inteira. Uma chave de API vê só os registros que ela fez (uma chave rotacionada fica com os da anterior). Ninguém vê os registros de outra conta.
  • O aviso de "mesma origem" numa análise nova (tenantMatches) compara o arquivo só com registros que a mesma credencial vê, nunca entre contas, e é um fato para revisar, não um veredito. Ele vai dentro da resposta que o recibo assina: quem compartilha a resposta inteira compartilha os ids e as datas desses registros anteriores.

O arquivo em si, só se você ativar

Desligado por padrão. Uma conta com e-mail confirmado pode ligar a guarda do arquivo enviado junto de cada registro, por 7, 30 ou 90 dias e nunca mais que o registro, para poder baixá-lo de novo ou analisá-lo de novo com um motor mais novo. Desligar apaga na hora todos os arquivos que a conta guardou.

Cada arquivo é cifrado com AES-256-GCM sob uma chave só dele, e essa chave é cifrada por uma chave mestra que fica na configuração do servidor, no mesmo servidor. O arquivo cifrado fica fora do banco, e nem ele nem a chave dele entram nos backups do banco descritos na seção 6. A linha do banco (wrapped_dek, iv, tag, mais o id do registro, a conta, uma faixa de tamanho e as datas) guarda a chave cifrada e os parâmetros da cifra, nunca o nome do arquivo. Dois limites: as imagens de disco inteiro que o provedor faz do servidor (a Hetzner mantém sete, uma por dia) contêm os arquivos cifrados e a chave mestra juntos até cada imagem sair da rotação; e quem tem acesso total ao servidor em funcionamento consegue ler os arquivos guardados. A cifra protege uma cópia do banco ou do disco feita sem a configuração do servidor, não um servidor comprometido.

Como apagar

Pelo painel ou pela API você apaga um registro (DELETE /api/v1/history/:id), todos os registros de um arquivo (DELETE /api/v1/history?sha256=…; o servidor calcula o HMAC da sua conta) ou tudo (?confirm=all, só pelo painel, o que também descarta o sal da sua conta). Um registro apagado vai junto com os rótulos e o arquivo dele:

  • some do banco na hora, porque o banco sobrescreve as páginas apagadas;
  • restos nos arquivos do banco em disco somem na próxima varredura diária, no máximo;
  • as cópias nos backups do banco saem em até 60 dias;
  • um arquivo guardado fica ilegível na hora, porque a chave dele é apagada com o registro, e o arquivo cifrado é removido; a exceção são as imagens de disco do provedor citadas acima, até saírem da rotação.

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;
  • a configuração do seu histórico: se está ligado (retention_mode), por quantos dias (retention_days), se guarda arquivos e por quanto tempo (bytes_retention_days), e o sal aleatório da sua conta para os HMACs da seção 1 (retention_salt).

Chaves de API: guardamos apenas um hash SHA-256 de cada chave, ao lado do plano, da cota mensal, do rótulo, da data de criação e da configuração de histórico (retention: inherit ou none). 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 registro de uso.
  • 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 e o que uma página carrega de outros domínios

Três cookies. Os três são definidos por nós, os três são SameSite=Lax (o navegador nunca os 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) e Secure em produção, e nenhum deles é cookie de publicidade ou de análise:

  • tl_session: definido quando você entra. Guarda um identificador de sessão aleatório e nada mais: sem nome, sem e-mail, sem preferências. É HttpOnly, então o JavaScript não consegue lê-lo. Expira em 30 dias, estendidos enquanto você usa o painel, e em nenhuma hipótese passa de 90 dias contados do login que o criou.
  • tl_lang: definido apenas quando você clica em PT ou EN no cabeçalho. Registra essa única escolha, as duas letras pt ou en, para que a página inicial abra no idioma que você pediu em vez de adivinhar pelo navegador. Só de ler uma página ele nunca é gravado. É o único cookie que não é HttpOnly, então um script deste site conseguiria lê-lo; não guarda identificador nenhum e dura um ano, sobreviver à visita é justamente o propósito dele.
  • tl_checks: um contador de quantos documentos este navegador já analisou anonimamente, usado pela verificação humana descrita abaixo. Guarda um número e um prazo, assinados para que não possam ser editados, e nada que identifique você ou seu aparelho. É HttpOnly, dura sete dias e só é gravado depois de uma análise anônima bem-sucedida, e só onde a verificação humana está ligada.

Por que não há banner de consentimento. Dois dos três são estritamente necessários: não dá para manter você logado sem sessão, nem para contar uma franquia anônima sem contador. O terceiro só é gravado em resposta direta ao seu clique no seletor de idioma: o caso de "serviço expressamente solicitado pelo usuário" que as regras europeias de ePrivacy dispensam de consentimento, e a razão pela qual ler uma página nunca o grava. Nenhum dos três traça perfil de ninguém, nenhum é compartilhado e nenhum pode ser lido por outro site. Não existe aqui cookie de publicidade nem de análise para perguntar a você.

O que uma página carrega de outro domínio. Nossas páginas são feitas dos nossos próprios arquivos: a folha de estilo e os scripts são servidos por tamperlens.com, as fontes são as que já estão no seu aparelho, e nenhuma página carrega fonte, imagem ou folha de estilo de qualquer outro lugar. Dois recursos da Cloudflare são a exceção. Os dois estão ligados nesta instalação hoje, os dois podem ser desligados sem mexer em página nenhuma, e o cabeçalho Content-Security-Policy que o site envia nomeia as origens deles e nenhuma outra:

  • A verificação humana: Cloudflare Turnstile. O verificador gratuito e o leitor de metadados deixam você analisar documentos sem conta nenhuma, e isso precisa ser defendido de abuso automatizado sem receber quem chega pela primeira vez com um enigma. Então nada acontece até a sua quarta análise anônima dentro de uma semana, ou antes disso se a rede que você compartilha já tiver gasto a franquia anônima do dia. Até ali seu navegador nunca fala com challenges.cloudflare.com: sem widget, sem tag de script, nem mesmo a chave pública, que só chega na resposta que pede a verificação. Quando ela aparece, a Cloudflare vê a requisição e o seu endereço IP e responde "humano" ou "não"; é uma prova de que você é gente, não uma verificação de identidade, e ela nunca recebe o seu documento. Chamadas com chave de API e sessões logadas no painel nunca são desafiadas.
  • Cloudflare Web Analytics. A borda da Cloudflare acrescenta às páginas, a caminho de você, um pequeno script de medição: servido por static.cloudflareinsights.com e reportando para cloudflareinsights.com. Ele não está no nosso HTML e o nosso próprio servidor não consegue enxergá-lo. O que ele mede (a página, o referenciador, os tempos de carregamento e o endereço IP e a localização aproximada que qualquer requisição web já carrega) é processado pela Cloudflare sob os termos dela, e chega a nós apenas como números agregados no painel da Cloudflare. Ele não define cookie nenhum nosso. O nosso contador da seção 5 é aquele em que este site realmente se apoia, e se você bloquear o script nada muda no site.

Qualquer outra coisa que o seu navegador acabe guardando da Cloudflare (um cookie de detecção de robôs definido na borda, por exemplo) é da Cloudflare, definido sob os termos dela como parte de transportar o tráfego, e nunca é lido por nós.

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, etiqueta de campanha). Ele é nosso, roda na nossa própria máquina e é coisa diferente do script da Cloudflare da seção 4.

A etiqueta de campanha é sobre o link, não sobre você. Quando um link que você seguiu carrega um rótulo ?utm_campaign ou ?utm_source (texto escolhido por quem publicou o link, idêntico para todo mundo que clica nele), guardamos esse rótulo ao lado do caminho, para saber de qual publicação veio a visita. Nunca lemos utm_term nem utm_content, os dois campos que ferramentas de marketing personalizam por destinatário; o rótulo é reduzido a um token curto em minúsculas; e o número de rótulos distintos guardados por dia tem um teto, de modo que uma enxurrada de rótulos únicos desaba numa única linha "(other)" em vez de virar uma impressão digital.

É 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, três delas pelo link da publicação de lançamento" 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

Esta é a lista completa, e é a lista que vale. A tabela da página de segurança é a mesma lista em outro formato; se as duas divergirem, esta aqui é a política. Nenhum desses fornecedores recebe um documento enviado. O único jeito de um documento sobreviver à requisição é a guarda de arquivo que uma conta ativa (seção 1): cifrado, no servidor da Hetzner, e por isso também nas imagens de disco inteiro que a Hetzner faz dele.

  • 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. Um snapshot do banco é tirado a cada seis horas e fica no disco desse mesmo servidor, em um diretório que só a conta de serviço consegue ler, ao lado dos backups que a própria Hetzner faz da máquina. Uma vez por dia, uma cópia desses snapshots também é puxada para uma máquina controlada pelo operador, fora do provedor, e mantida lá por sessenta dias. Assim, perder o servidor não significa perder também todos os backups dele. Uma vez por dia, o snapshot mais recente também é cifrado com age no servidor, com uma chave cuja metade privada o servidor nunca tem, e enviado ao Cloudflare R2, onde não pode ser apagado por sessenta dias e é apagado depois disso. As cópias no servidor e na máquina do operador são protegidas por permissão de arquivo, não por criptografia própria; a cópia no R2 é cifrada. Todas carregam os registros do histórico das contas. Eles não contêm documento nenhum: o banco nunca guarda um, e os arquivos que uma conta ativa ficam fora dele e são deixados de fora desses snapshots, junto com as chaves deles. Os backups de disco inteiro que a própria Hetzner faz do servidor são a exceção descrita na seção 1.
  • Cloudflare (CDN, proxy, TLS, verificação humana, web analytics) : 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. A Cloudflare também fornece os dois recursos de página da seção 4: a verificação humana Turnstile no verificador anônimo e o Cloudflare Web Analytics. E guarda a cópia off-site cifrada dos backups do banco (R2) descrita no item da Hetzner, que ela não consegue ler.
  • 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.
  • Sentry (relato de erros), quando uma requisição falha com erro de servidor, a exceção, o stack trace, o padrão da rota e o método HTTP são enviados ao Sentry para que aquilo possa ser corrigido. O que produziu o erro não vai junto: o corpo da requisição, os cookies, a query string e o seu endereço IP são descartados antes de o evento sair do nosso processo, todo cabeçalho que carrega credencial vira [redacted], e qualquer chave de API, token de sessão, e-mail ou endereço IP que apareça dentro de uma mensagem de erro também é mascarado na saída. Erros que o chamador deve esperar (chave recusada, arquivo grande demais, cota esgotada), não são relatados. Um processador com dados higienizados continua sendo um processador, e é por isso que ele está nomeado aqui.
  • GitHub (código-fonte, CI, deploys): o código vive lá e um push roda os testes e dispara o deploy. Não guarda dado de produção nem nada sobre você. Está na lista porque o código que chega ao nosso servidor passa por ele.

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.
  • As suas instruções, dentro desse contrato: o histórico de análises e os arquivos guardados só existem como a sua conta os configura: ligado ou desligado, por quanto tempo, com ou sem o arquivo. Os documentos que você analisa costumam ser de outras pessoas; você decide quais são conferidos e por quê, e nós os tratamos em seu nome.
  • 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 15 dias.

A exclusão da conta é feita por nós a partir desse pedido; não existe botão para isso. Ela remove a linha da sua conta, seus hashes de chave, suas sessões, suas linhas do registro de uso e tudo que a sua conta guardou: registros, rótulos e arquivos guardados. Como em qualquer exclusão da seção 1, as cópias nos backups do banco saem em até 60 dias, e as imagens de disco do provedor podem manter um arquivo cifrado apagado por até sete dias. 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.
  • Os arquivos que uma conta ativa são cifrados com AES-256-GCM, uma chave por arquivo; a seção 1 diz onde as chaves ficam e contra o que isso não protege.
  • Todas as páginas rodam sob uma Content-Security-Policy estrita, sem scripts nem estilos embutidos. As únicas origens permitidas além da nossa são os dois recursos da Cloudflare citados na seção 4, challenges.cloudflare.com, para a verificação humana, e o script do Cloudflare Web Analytics, e cada um só aparece na política enquanto aquele recurso está ligado.
  • O parser 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; a página Sobre diz quem é. Ainda não há pessoa jurídica. Para qualquer dúvida, pedido ou reclamação de privacidade: [email protected].