O que realmente tem dentro de uma fotografia
Abra qualquer fotografia direto de um telemóvel e a imagem será apenas uma parte do ficheiro. Envolto nela há um bloco de metadados que a câmara gravou no mesmo instante: a marca e o modelo do dispositivo, a lente, as definições de exposição, o segundo exato em que o obturador disparou, a versão do sistema operativo e — se os serviços de localização estavam ativos — a latitude e a longitude de onde estava, geralmente precisas em poucos metros.
Nada disto é visível na imagem. Tudo isto viaja com o ficheiro. Envie a fotografia como um anexo de e-mail, coloque-a numa pasta partilhada ou anuncie um item à venda com ela, e todos estes campos irão junto.
A ferramenta acima lê esse bloco e mostra-o a si antes de remover qualquer coisa, pois os números são os argumentos. «Esta fotografia 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 num canvas HTML e guardá-la novamente. Os metadados desaparecem porque o canvas nunca teve nenhum. Isso também recomprime a imagem — uma segunda ronda de compressão JPEG com perdas em cima da que a câmara já fez — e descarta o perfil de cor incorporado, de modo que o ficheiro «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 ficheiro que 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 contentor 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 os remover, basta percorrer a própria estrutura do ficheiro, saltar esses blocos e copiar todo o restante inalterado.
A imagem comprimida nunca é descodificada. Isto significa que os dados da imagem no ficheiro transferido são idênticos bit a bit aos dados do ficheiro enviado — não «visualmente idênticos», não «alta qualidade», idênticos. A única diferença entre os dois ficheiros são os metadados que saíram.
O que não removemos, e porquê
Duas coisas são mantidas deliberadamente, e ambas lhe são mostradas com uma caixa de seleção, caso discorde.
O perfil de cor. Um perfil ICC descreve em que espaço de cor os píxeis estão codificados. Telemóveis modernos tiram fotografias com ampla gama de cores, e uma fotografia de ampla gama sem o 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 é mantido por defeito.
A flag de rotação, quando a fotografia precisa. Telemóveis não rodam os píxeis quando vira a câmara; eles armazenam a fotografia como o sensor a capturou e gravam um único número EXIF a dizer qual é o lado certo. Remova esse número, e a cópia limpa sairá deitada em qualquer aplicação que o respeite. Quando uma fotografia depende dele, esta ferramenta recria um bloco mínimo que contém aquele único valor e nada mais — sem câmara, sem data ou hora, sem localização.
Onde isto deixa as suas outras fotografias
Limpar um ficheiro antes de o enviar resolve a parte do problema referente à partilha. Mas não faz nada pelas fotografias que ainda estão no rolo da sua câmara, que mantêm cada um dos campos que esta ferramenta acabou de remover, e podem ser lidas por qualquer aplicação que tenha acesso ao seu dispositivo.
É para essa outra parte que o Vaultine existe: um cofre encriptado onde os ficheiros são bloqueados com AES-256-GCM no próprio dispositivo, abertos num visualizador integrado em vez de serem desencriptados 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 ficheiros, não edita os seus metadados — mas são duas metades do mesmo instinto. As fotografias que partilha revelam onde estava. As fotografias que guarda devem ser trancadas.



