Wat er daadwerkelijk in een foto zit
Open elke foto rechtstreeks vanaf een telefoon en de afbeelding is slechts een deel van het bestand. Eromheen zit een blok metadata dat de camera op hetzelfde moment heeft weggeschreven: het merk en model van het apparaat, de lens, de belichtingsinstellingen, de exacte seconde waarop de sluiter afging, de versie van het besturingssysteem en — wanneer locatiediensten zijn ingeschakeld — de breedte- en lengtegraad van waar u stond, meestal nauwkeurig tot op een paar meter.
Niets van dat alles is zichtbaar in de afbeelding. Alles reist mee met het bestand. Stuur de foto als e-mailbijlage, plaats deze in een gedeelde map, bied er een item mee te koop aan, en elk van die velden gaat ermee mee.
De bovenstaande tool leest dat blok uit en toont het u voordat er iets wordt verwijderd, omdat de getallen het argument zijn. “Deze foto bevat EXIF-metadata” is abstract. Een paar coördinaten die naar uw voordeur verwijzen, zijn dat niet.
Strip de bytes, codeer niet opnieuw
Er zijn twee manieren om metadata uit een afbeelding te verwijderen, en slechts één daarvan is correct.
De makkelijke manier is om de foto op een HTML-canvas te tekenen en deze opnieuw op te slaan. De metadata verdwijnt omdat een canvas er nooit een had. Het comprimeert de afbeelding ook opnieuw — een tweede ronde van verliesgevende JPEG-compressie bovenop die van de camera — en laat het ingesloten kleurprofiel vallen, zodat het “opgeschoonde” bestand meetbaar slechter is dan het origineel en de kleuren ervan zijn verschoven. De meeste gratis metadata-verwijderaars werken op deze manier, en het is de reden waarom het bestand dat u terugkrijgt vaak een andere grootte en een iets andere afbeelding heeft.
Deze tool doet het andere. Een JPEG is een reeks markeringssegmenten; een PNG is een reeks chunks; een WebP is een RIFF-container. Metadata bevindt zich in specifieke, identificeerbare segmenten in elk — APPn-blokken in JPEG, eXIf, tEXt, iTXt, zTXt en tIME-chunks in PNG, EXIF- en XMP-chunks in WebP. Het verwijderen ervan is een kwestie van door de eigen structuur van het bestand lopen, die blokken overslaan en al het andere ongewijzigd kopiëren.
De gecomprimeerde afbeelding wordt nooit gedecodeerd. Dat betekent dat de afbeeldingsgegevens in het bestand dat u downloadt bit-voor-bit de afbeeldingsgegevens zijn in het bestand dat u hebt aangeleverd — niet “visueel identiek”, niet “hoge kwaliteit”, maar identiek. Het enige verschil tussen de twee bestanden is de metadata die eruit kwam.
Wat we niet verwijderen, en waarom
Twee dingen worden bewust bewaard, en beide worden aan u getoond met een selectievakje voor het geval u het er niet mee eens bent.
Het kleurprofiel. Een ICC-profiel beschrijft in welke kleurruimte de pixels zijn gecodeerd. Moderne telefoons fotograferen in een breed kleurengamma, en een foto met een breed kleurengamma zonder het profiel wordt geïnterpreteerd als gewone sRGB en wordt verkeerd weergegeven — meestal flets, soms overdreven kleurrijk. Het profiel beschrijft de afbeelding, niet de fotograaf, dus het blijft standaard staan.
De rotatievlag, wanneer de foto deze nodig heeft. Telefoons roteren de pixels niet wanneer u de camera draait; ze slaan de foto op zoals de sensor deze zag en schrijven een enkel EXIF-getal dat aangeeft welke kant naar boven hoort. Verwijder dat getal en de schone kopie komt zijwaarts naar buiten in elke app die het respecteert. Wanneer een foto ervan afhankelijk is, herbouwt deze tool een minimaal blok met die ene waarde en niets anders — geen camera, geen tijdstempel, geen locatie.
Waar dit uw andere foto’s laat
Het opschonen van een bestand voordat u het verzendt, lost de delende helft van het probleem op. Het doet niets voor de foto’s die nog steeds in uw filmrol staan, die elk veld behouden dat deze tool zojuist heeft verwijderd en die leesbaar zijn door alles met toegang tot het apparaat.
Dat is de helft waar Vaultine voor bestaat: een versleutelde kluis waarin bestanden worden vergrendeld met AES-256-GCM op het apparaat zelf, geopend in een ingebouwde viewer in plaats van gedecodeerd naar de schijf, en ontgrendeld met een patroon of pincode in plaats van een account. Het is een andere taak dan deze pagina — Vaultine slaat bestanden op, het bewerkt hun metadata niet — maar wel de twee helften van hetzelfde instinct. Foto’s die u deelt, lekken waar u was. Foto’s die u bewaart, moeten worden vergrendeld.



