toolkit

Nada é enviado — veja como conferir

Todo conversor de arquivos tem uma promessa de privacidade em algum canto. Quase nenhum oferece um jeito de testá-la. Esta página oferece: as verificações abaixo levam cerca de trinta segundos cada, não precisam de nada além do navegador que você já está usando, e nos pegariam na hora se estivéssemos mentindo.

O que a afirmação realmente é

Quando você converte um arquivo aqui, os bytes desse arquivo nunca são transmitidos a lugar nenhum. Os decodificadores e codificadores são módulos WebAssembly que o seu navegador baixa uma vez e depois roda localmente, no seu próprio processador. Não há nenhum endpoint de upload no código deste site a que o conteúdo de um arquivo pudesse chegar, porque nenhum jamais foi escrito.

Essa é uma afirmação estreita, e é estreita de propósito. Ela é sobre os seus arquivos. Não é uma afirmação de que a página não faz nenhuma solicitação de rede — a seção abaixo sobre o que o site envia lista essas, porque uma página que as escondesse também não mereceria confiança na primeira afirmação.

Confira você mesmo: a guia de rede

Abra qualquer ferramenta deste site. Antes de converter qualquer coisa, pressione F12 (ou Cmd+Option+I em um Mac) para abrir as ferramentas do desenvolvedor e selecione a guia “Rede”. Marque “Preservar registro”, se a opção for oferecida.

Agora solte um arquivo e converta-o. Observe a lista. Você vai ver o módulo WebAssembly daquele formato ser baixado na primeira vez — um arquivo como heic_bg.wasm, vindo deste domínio — e não vai ver nada levando o seu arquivo no sentido contrário. Ordene por tamanho, ou filtre a lista por Fetch/XHR: um upload teria de aparecer como uma solicitação com o tamanho do seu arquivo em bytes no corpo, e não há como escondê-lo deste painel.

A ausência é todo o ponto. Um conversor que envia arquivos não consegue disfarçar isso aqui, porque o navegador informa toda solicitação que uma página faz, inclusive as que a página preferiria que você não visse.

A verificação mais forte: desligue a rede

A guia de rede mostra o que a página fez. Esta mostra do que ela é capaz. Carregue qualquer página de ferramenta, depois desconecte do Wi-Fi ou ative o modo avião, e converta um arquivo. Continua funcionando.

Uma ressalva, e ela é honesta: a primeira conversão de um dado formato precisa buscar o módulo WebAssembly daquele formato, então faça uma conversão enquanto conectado antes de ficar offline, ou o módulo ainda não vai estar no cache. Depois disso, a máquina é inteiramente local, e ficar offline demonstra isso de um jeito que nenhuma promessa consegue.

A verificação que você não precisa fazer por conta própria

Toda página aqui é servida com um cabeçalho de Content Security Policy (CSP): uma lista — aplicada pelo seu navegador, não por nós — dos únicos lugares para onde esta página tem permissão de enviar qualquer coisa. Você pode ler a nossa nos cabeçalhos de resposta de qualquer página, naquela mesma guia “Rede”.

Isso importa porque não é uma promessa, é uma restrição. Se o JavaScript deste site tentasse enviar sua foto a um servidor não nomeado nessa política, o seu navegador recusaria a solicitação e registraria uma violação. A política é o que torna “nada é enviado” verificável por máquina, em vez de acreditável por reputação.

O que o site envia

Ser direto sobre isto é o propósito da página. No site em produção, privatetoolkit.org carrega o Google Analytics, que informa que uma página foi vista e, aproximadamente, de que lugar do mundo. Ele está configurado com o Google Signals e a personalização de anúncios desativados. Ele sabe que uma página teve um visitante; não recebe, e não poderia receber, nada sobre os seus arquivos, porque o código de conversão e o código de análise nunca se tocam.

O site também tem um espaço para anúncio, que está inteiramente desligado enquanto isto é escrito — nenhum script de anúncio é carregado. Se for religado, será um único banner de uma rede, e será identificado como publicidade.

Essa é a lista completa. Nenhum sistema de contas, nenhum cookie nosso além do que a análise define, nenhum armazenamento de arquivos — e nada para armazenar, porque os seus arquivos nunca chegam.

O que este projeto custa a você

Seria desonesto vender “roda no seu aparelho” como algo de graça. O seu processador faz o trabalho, então um vídeo longo leva tempo de verdade e um arquivo muito grande precisa de memória suficiente para contê-lo; uma fazenda de servidores seria mais rápida. Algumas conversões que um servidor faria não são possíveis em um navegador de jeito nenhum.

E uma conversão de contêiner muda o contêiner, não o codec. Um vídeo HEVC de um iPhone vira um MP4 que continua sem reproduzir em uma máquina sem decodificador HEVC. Dizemos isso quando acontece, em vez de informar um sucesso que você descobriria inútil mais tarde.

Perguntas frequentes

Dá mesmo para conferir isso sozinho, sem ser desenvolvedor?

Sim. A verificação da guia de rede é abrir um painel e olhar uma lista — você está conferindo se algo está lá, não lendo código. A verificação offline precisa de menos ainda: desligue o Wi-Fi e veja se a ferramenta continua funcionando.

Meus arquivos são apagados depois da conversão?

Não há nada para apagar. Os arquivos nunca chegam a um servidor, então não existe cópia em lugar nenhum para guardarmos ou removermos. A maioria dos conversores responde a essa pergunta com um prazo de retenção; aqui a resposta honesta é que a pergunta não se coloca.

Existe limite de tamanho de arquivo?

Nenhum que nós imponhamos. O limite prático é a memória do seu próprio aparelho, já que o arquivo fica nela enquanto converte. Nada é limitado por motivos de cobrança, porque uma conversão não nos custa nada para rodar.

Isto funciona offline?

Sim, depois que o módulo WebAssembly do formato que você quer tiver sido buscado. Converta um arquivo daquele tipo enquanto estiver online, e a partir daí a ferramenta continua funcionando com a rede desligada.

Como sei que o próprio módulo WebAssembly não está enviando meu arquivo para algum lugar?

A mesma Content Security Policy o cobre — ele roda dentro da página e está sujeito à mesma lista imposta de destinos permitidos. Qualquer coisa que ele tentasse enviar para outro lugar seria bloqueada pelo seu navegador e registrada como violação.