Deutsch

Bilder und Fotos · Datenschutz-Tool für Bildmetadaten

Wie ein Browser EXIF aus einem JPEG liest, ohne es hochzuladen

· Wie es funktioniert

exif Bilddatenschutz Browser-Verarbeitung Dateiformate

Ein Foto wird zu lokalen Bytes, JPEG Segmenten und lesbaren EXIF-Feldern in einem Browser
Original-ToolAcre-Vektorillustration

Eine exemplarische Vorgehensweise, was tatsächlich zwischen dem Einfügen eines JPEG auf der Seite und dem Anzeigen seiner Metadaten passiert: Die Bytes werden lokal gelesen, das APP1-Segment wird lokalisiert und die darin enthaltenen TIFF-Verzeichnisse werden in JavaScript dekodiert, ohne dass ein Server beteiligt ist.

Der Testanspruch: „Es wird nichts hochgeladen“ – warum ein Metadateninspektor nur die bereits vorhandenen Bytes lesen muss und wie bestätigt werden kann, dass keine Anfrage die Registerkarte verlässt

Die Behauptung, dass ein Foto nicht hochgeladen wurde, ist eher überprüfbar als dekorativ. Das Tool liest die ausgewählte Datei in einen ArrayBuffer, wandelt sie in Bytes um und übergibt diese Bytes direkt an den Metadatenleser. Die Datenschutzerklärung schränkt das Versprechen sorgfältig ein: Das Foto wird im Browser-Tab analysiert, es wird keine Kopie gespeichert und offengelegte Analyseanfragen erfolgen getrennt vom Codepfad, der die Datei verarbeitet.

Die Datei lokal mit der Datei-API lesen – wie der Browser dem Tool einen ArrayBuffer Ihres Fotos übergibt, ohne dass die Bytes das Gerät verlassen

Ein Dateiwähler stellt ein Browser-Dateiobjekt bereit, und file.arrayBuffer() stellt seinen Inhalt für JavaScript zur Verfügung, das bereits auf der Seite ausgeführt wird. ToolAcre erzwingt eine Obergrenze von 50 MB und identifiziert dann JPEG, PNG oder WebP anhand der Bytes selbst. Für diesen lokalen Lesevorgang ist keine Formularübermittlung oder ein Bild-Upload-Endpunkt erforderlich, und der Netzwerkisolationstest führt alle drei unterstützten Formate aus, ohne eine Anfrage aufzuzeichnen.

Das APP1-Segment finden – JPEG-Marker von SOI zum „Exif“-Header führen und Segmente überspringen, die stattdessen ICC oder XMP enthalten

Für JPEG startet der Leser nach der Start-of-Image-Markierung und durchläuft Markierungssegmente bis zur Start-of-Scan-Markierung. Es erkennt APP1-Nutzlasten, die mit Exif beginnen, und analysiert diese, während XMP nur zum Entfernen erkannt wird und ICC bewusst als Rendering-Daten beibehalten wird. Von der Scanmarkierung an gehört alles zum komprimierten Bildpfad und nicht zum EXIF-Bericht.

Dekodierung des TIFF-Headers und der IFDs – Bytereihenfolge (II oder MM), der Offset zu IFD0 und die 12-Byte-Einträge, die auf die Exif- und GPS-Unterverzeichnisse verweisen

Eine EXIF-Nutzlast enthält einen TIFF-Block. Der Parser liest den II- oder MM-Bytereihenfolgemarker, überprüft den magischen TIFF-Wert und folgt dem Offset zu IFD0. Jeder Verzeichniseintrag stellt ein Tag, einen Typ, eine Anzahl und entweder einen Inline-Wert oder einen Offset bereit. Ab IFD0 folgt der Code nur den Exif- und GPS-Unterverzeichniszeigern und hält die Durchquerung begrenzt, anstatt jede mögliche private Struktur zu verfolgen.

Rohe Tag-Werte in lesbare Felder umwandeln – Tag-IDs, Datentypen, Rationals und ASCII-Strings und warum einige Werte eine Nachschlagetabelle benötigen

Rohwerte werden erst nützlich, nachdem ihre Typen und Tags interpretiert wurden. ASCII-Felder werden zu Zeichenfolgen, numerische Typen verwenden die TIFF-Bytereihenfolge und rationale Paare werden zu Zahlen, nachdem Zähler und Nenner gelesen wurden. Ein Tag-Wörterbuch beschriftet Kameramarke, Modell, Zeitstempel, Software, serielle Felder und GPS-Werte und klassifiziert dann Standort und Geräteidentität vor weniger sensiblen technischen Bereichen.

Arbeitsbeispiel: ein im Hauptthread analysiertes Telefonfoto

In der Arbeitsmappe wurde beschrieben, dass dieses Beispiel in einem Web Worker ausgeführt wird, aber das mitgelieferte Panel ruft readMetadata direkt nach dem Warten auf file.arrayBuffer(); auf. An diesem Weg nimmt kein Arbeitnehmer teil. Ein ausgewähltes Telefon JPEG wird daher im Hauptthread der Seite gelesen und analysiert. Anschließend werden alle Breiten- und Längengrade als Zahlen gedruckt und die vollständige Feldtabelle gerendert. Die Korrektur ist wichtig, da es sich bei der lokalen Verarbeitung und der Verarbeitung durch Arbeiter um unterschiedliche Ansprüche handelt.

Was dies nicht abdeckt – MakerNote-Interna, RAW-Formate, HEIC und Videocontainer liegen außerhalb dieser exemplarischen Vorgehensweise und außerhalb des Tools

Der Reader ist absichtlich unvollständig. MakerNote-Interna, IFD1-Miniaturbildfelder, JPEG XMP-Inhalte oder nicht unterstützte RAW-, HEIC-, AVIF-, TIFF-, GIF- und SVG-Container werden nicht dekodiert. Ein beschädigtes EXIF-Segment wird übersprungen, sodass es die spätere Entfernung nicht blockieren kann. Ein leerer Bericht bedeutet nur, dass dieser begrenzte Parser keine lesbaren Felder gefunden hat, nicht aber, dass jeder mögliche Informationskanal fehlt.

Fazit: Das Lesen von Metadaten ist eine lokale Aufgabe auf Byte-Ebene – das Image Metadata Privacy Tool macht genau das, sodass Sie sie vor der Freigabe überprüfen können, ohne einem Server zu vertrauen

Das Lesen von Metadaten ist ein lokaler Job auf Byte-Ebene, wenn die Implementierung die ausgewählten Bytes im Tab behält und keine Anfrage mit ihnen durchführt. Verwenden Sie den Bericht, um zu ermitteln, was dieser Parser sehen kann, und verwenden Sie dann die separate Entfernungsaktion, wenn eine bereinigte Kopie benötigt wird. Bei der Inspektion wird das Originalfoto nie verändert, und der Quellcode und der Netzwerkisolationstest liefern stärkere Beweise als ein allgemeiner Browser-Verarbeitungsausweis.