O que realmente tem dentro de uma foto
Abra qualquer foto direto de um celular e a imagem será apenas uma parte do arquivo. Envolto nela há um bloco de metadados que a câmera gravou no mesmo instante: a marca e o modelo do dispositivo, a lente, as configurações de exposição, o segundo exato em que o obturador disparou, a versão do sistema operacional e — se os serviços de localização estavam ativos — a latitude e a longitude de onde você estava, geralmente precisas em poucos metros.
Nada disso é visível na imagem. Tudo isso viaja com o arquivo. Envie a foto como um anexo de e-mail, solte-a em uma pasta compartilhada ou anuncie um item à venda com ela, e todos esses campos irão junto.
A ferramenta acima lê esse bloco e mostra-o a você antes de remover qualquer coisa, pois os números são os argumentos. “Esta foto contém metadados EXIF” é algo abstrato. Já um par de coordenadas que aponta direto para a sua porta da frente, não é.
Remova os bytes, não codifique novamente
Existem duas formas de remover metadados de uma imagem, e apenas uma delas está correta.
A forma mais fácil é desenhar a imagem em um canvas HTML e salvá-la novamente. Os metadados desaparecem porque o canvas nunca teve nenhum. Isso também recomprime a imagem — uma segunda rodada de compressão JPEG com perdas em cima da que a câmera já fez — e descarta o perfil de cores incorporado, de modo que o arquivo “limpo” fica mensuravelmente pior que o original e as suas cores são alteradas. A maior parte dos removedores gratuitos de metadados funciona assim, e é por isso que o arquivo que você recebe de volta geralmente tem um tamanho diferente e uma imagem um pouco diferente.
Esta ferramenta faz a outra abordagem. Um JPEG é uma sequência de segmentos de marcadores; um PNG é uma sequência de blocos (chunks); um WebP é um contêiner RIFF. Os metadados vivem em segmentos específicos e identificáveis em cada um — blocos APPn no JPEG, pedaços eXIf, tEXt, iTXt, zTXt e tIME no PNG, pedaços EXIF e XMP no WebP. Para removê-los, basta percorrer a própria estrutura do arquivo, pular esses blocos e copiar todo o restante inalterado.
A imagem comprimida nunca é decodificada. Isso significa que os dados da imagem no arquivo baixado são idênticos bit a bit aos dados do arquivo enviado — não “visualmente idênticos”, não “alta qualidade”, idênticos. A única diferença entre os dois arquivos são os metadados que saíram.
O que não removemos, e por quê
Duas coisas são mantidas deliberadamente, e ambas são mostradas a você com uma caixa de seleção, caso discorde.
O perfil de cor. Um perfil ICC descreve em que espaço de cor os pixels estão codificados. Telefones modernos tiram fotos com ampla gama de cores, e uma foto de ampla gama sem seu perfil é interpretada como um sRGB comum, sendo renderizada de modo incorreto — geralmente desbotada, e às vezes, super saturada. O perfil descreve a imagem, não o fotógrafo, por isso ele é mantido por padrão.
A flag de rotação, quando a foto precisa. Celulares não rotacionam os pixels quando você vira a câmera; eles armazenam a foto como o sensor a capturou e gravam um único número EXIF dizendo qual é o lado certo. Remova esse número, e a cópia limpa sairá deitada em qualquer aplicativo que o respeite. Quando uma foto depende dele, esta ferramenta recria um bloco mínimo contendo aquele único valor e nada mais — sem câmera, sem data ou hora, sem localização.
Onde isso deixa as suas outras fotos
Limpar um arquivo antes de enviá-lo resolve a parte do problema referente ao compartilhamento. Mas não faz nada pelas fotos que ainda estão no rolo da sua câmera, que mantêm cada um dos campos que esta ferramenta acabou de remover, e podem ser lidas por qualquer aplicativo que tenha acesso ao seu dispositivo.
É para essa outra parte que o Vaultine existe: um cofre criptografado onde os arquivos são bloqueados com AES-256-GCM no próprio dispositivo, abertos em um visualizador integrado em vez de serem descriptografados de volta para o armazenamento comum, e desbloqueados com um padrão ou PIN ao invés de uma conta. É um trabalho diferente desta página — o Vaultine armazena arquivos, ele não edita seus metadados — mas são duas metades do mesmo instinto. As fotos que você compartilha revelam onde você estava. As fotos que você guarda devem ser trancadas.



