Analyses Profondes

Métadonnées EXIF : guide technique de la fuite de vie privée dans vos photos

koboshiCo-founder
·11 min de lecture
Métadonnées EXIF : guide technique de la fuite de vie privée dans vos photos
Résumé

Chaque photo prise avec un téléphone ou un appareil photo embarque un second fichier : réglages de prise de vue, horodatages, numéros de série et souvent des coordonnées GPS. Voici la structure d'EXIF au niveau de l'octet, comment l'inspecter, comment elle vous expose, et comment la conversion de format l'efface.

Prenez une photo avec un iPhone et ouvrez le JPEG dans un éditeur hexadécimal. Quelques centaines d'octets après le marqueur de début FF D8, vous tombez sur ceci :

FF E1 1C 24 45 78 69 66 00 00 4D 4D 00 2A 00 00 00 08

FF E1 est le marqueur du segment APP1. Les deux octets qui suivent indiquent la longueur du segment. Viennent ensuite six octets qui épèlent Exif\0\0, et juste derrière se trouve un en-tête TIFF (4D 4D 00 2A signifie big-endian). Votre JPEG transporte en lui un second fichier, plus petit, qui en révèle souvent plus sur vous que l'image elle-même.

Ce que sont réellement les métadonnées EXIF

EXIF est l'acronyme d'Exchangeable Image File Format. La JEIDA (Japan Electronic Industry Development Association) en a publié la version 1.0 en 1995. La JEITA et la CIPA maintiennent le standard aujourd'hui ; EXIF 3.0 est arrivé en 2023.

Côté structure, EXIF est un TIFF. Après l'en-tête Exif\0\0 vient un marqueur d'ordre des octets, puis une chaîne d'Image File Directories (IFD). Chaque entrée d'IFD fait douze octets :

Bytes 0-1:   ID de balise (ex. 0x010F = Make)
Bytes 2-3:   Type de donnée (ASCII, rational, short, long)
Bytes 4-7:   Nombre de valeurs
Bytes 8-11:  Valeur en ligne, ou offset vers celle-ci

Deux sous-répertoires comptent pour la vie privée. Le SubIFD EXIF (pointé par la balise 0x8769) contient les réglages de l'appareil, les numéros de série et les horodatages. Le GPS IFD (balise 0x8825) stocke la latitude et la longitude sous forme de trois nombres rationnels chacune : degrés, minutes, secondes.

Il y a aussi généralement une vignette stockée dans IFD1, un petit JPEG embarqué dans les métadonnées. Gardez ce détail en tête, il aura son importance plus tard.

Quels conteneurs transportent les métadonnées EXIF :

FormatEmplacement EXIFRemarques
JPEGSegment APP1Le format d'origine d'EXIF
HEICÉlément Exif dans la boîte metaFormat iPhone par défaut depuis iOS 11
WebPChunk EXIF à l'intérieur de VP8XOptionnel, souvent absent
PNGChunk eXIfAjouté à la spécification en 2017
TIFFLe fichier lui-même est un TIFFLe format parent d'EXIF
BMP/ICONon pris en chargeAucune structure de métadonnées du tout

Pourquoi les appareils photo ont commencé à les écrire

Le problème du milieu des années 90 était banal et pratique. Les appareils photo numériques produisaient des fichiers sans aucun contexte. Les photographes argentiques avaient des négatifs, des pochettes de labo avec les dates de développement et des notes. Les photographes numériques avaient un dossier rempli de fichiers DSC_0042.JPG, et rien d'autre.

EXIF répondait à trois besoins concrets :

  • L'historique d'exposition. Ouverture, vitesse d'obturation, ISO et focale, pour qu'un photographe puisse comprendre pourquoi un cliché a réussi et le reproduire.
  • La commande de tirages. DPOF (Digital Print Order Format) permettait de marquer des photos sur l'appareil et de les faire imprimer plus tard sur une borne, en s'appuyant sur des champs EXIF comme la rotation.
  • L'orientation et l'aperçu. La balise Orientation garde les photos prises en portrait à l'endroit, et la vignette embarquée rendait la navigation sur l'écran LCD de l'appareil rapide.

Tout cela repose sur une hypothèse implicite : les photos restent chez leur propriétaire. EXIF a été conçu pour un monde où une photo voyageait d'une carte CF vers un disque dur, puis vers une borne d'impression. Personne à la JEIDA en 1995 n'imaginait un monde où l'on envoie une douzaine de photos par jour sur des serveurs publics.

Ce qu'elles contiennent réellement

Ouvrez n'importe quelle photo de téléphone dans un lecteur de métadonnées et la liste des balises s'allonge. Les champs qui comptent pour la vie privée :

BaliseValeur d'exempleCe qu'elle révèle
Make / ModelApple, iPhone 15 ProVotre matériel
BodySerialNumber / LensSerialNumberUnique par appareilUne empreinte de votre appareil
DateTimeOriginal + OffsetTime2026:06:30 18:42:11 +09:00Le moment, à la seconde près
GPSLatitude / GPSLongitude37°46'29" N, 122°25'10" WLe lieu, au mètre près
GPSAltitude14.2 mL'étage, approximativement
SoftwareInstagram, Photoshop 26.1Ce qui a touché au fichier
Artist / CopyrightTexte libreParfois un vrai nom
Vignette IFD1Un second JPEGUne copie de l'image non modifiée

Sortie exiftool d'une vraie photo iPhone, abrégée pour plus de concision :

$ exiftool IMG_4021.HEIC
Make                            : Apple
Camera Model Name               : iPhone 15 Pro
Serial Number                   : F2LX8A1BCD
Date/Time Original              : 2026:06:30 18:42:11
GPS Latitude                    : 37 deg 46' 29.28" N
GPS Longitude                   : 122 deg 25' 10.41" W
GPS Altitude                    : 14.2 m Above Sea Level

Trente secondes de lecture, et un inconnu sait avec quoi vous photographiez, quand vous étiez là, et où se trouve ce « là », à quelques mètres près.

Comment les lire sur votre machine

Windows

Faites un clic droit sur le fichier, ouvrez Propriétés, puis l'onglet Détails. Le fabricant, le modèle, les dates et les coordonnées GPS y sont tous listés. Ce même onglet comporte en bas un lien « Supprimer les propriétés et les informations personnelles », qui ouvre une boîte de dialogue de suppression basique.

Pour un accès brut en PowerShell :

Add-Type -AssemblyName System.Drawing
$img = [System.Drawing.Image]::FromFile("C:\photos\IMG_4021.jpg")
$img.PropertyItems | ForEach-Object {
    $text = [System.Text.Encoding]::ASCII.GetString($_.Value).Trim([char]0)
    "Tag 0x{0:X4} (len {1}): {2}" -f $_.Id, $_.Len, $text
}
$img.Dispose()

Les champs numériques sortent sous forme d'octets bruts, mais les balises ASCII comme Make et Software s'affichent proprement.

macOS

Ouvrez l'image dans Aperçu, puis Outils, Afficher l'inspecteur, et consultez les onglets EXIF et GPS. L'onglet GPS affiche même un repère sur une carte.

Depuis le terminal, mdls liste tout ce que Spotlight a indexé :

mdls IMG_4021.jpg | grep -iE "gps|latitude|longitude|model"

Ou installez ExifTool avec brew install exiftool pour la liste complète des balises.

Linux

ExifTool est la référence :

exiftool IMG_4021.jpg

Alternatives plus légères : exiv2 IMG_4021.jpg, ou identify -verbose IMG_4021.jpg | grep -i exif d'ImageMagick.

Depuis un navigateur, avec vingt lignes de TypeScript

Trouver le segment APP1 soi-même demande une boucle sur la chaîne de marqueurs JPEG :

async function findExifSegment(file: File): Promise<number> {
  const bytes = new Uint8Array(await file.slice(0, 128 * 1024).arrayBuffer())
  if (bytes[0] !== 0xff || bytes[1] !== 0xd8) return -1 // not a JPEG

  let offset = 2
  while (offset < bytes.length - 12) {
    if (bytes[offset] !== 0xff) break
    const marker = bytes[offset + 1]
    const length = (bytes[offset + 2] << 8) | bytes[offset + 3]
    if (
      marker === 0xe1 &&
      String.fromCharCode(...bytes.slice(offset + 4, offset + 10)) ===
        "Exif\0\0"
    ) {
      return offset
    }
    offset += 2 + length
  }
  return -1
}

Comment les métadonnées EXIF compromettent votre vie privée

Les coordonnées GPS révèlent votre position

Les téléphones enregistrent la position GPS dès que l'application photo a la permission de localisation, un réglage par défaut que la plupart des gens valident une fois puis oublient. Publiez une photo de votre balcon, de votre bureau ou du projet scolaire de votre enfant sur un forum ou une petite annonce, et vous venez de publier votre adresse avec une précision de quelques mètres.

Le cas le plus célèbre est celui de John McAfee. En décembre 2012, il était en fuite et caché au Guatemala. Vice a publié une photo de lui prise avec un iPhone 4S, et les données EXIF contenaient les coordonnées GPS complètes. N'importe qui pouvait lire exactement où il se trouvait au Guatemala. Quelques jours plus tard, il était aux mains des autorités guatémaltèques.

Les numéros de série relient vos comptes

BodySerialNumber et LensSerialNumber sont uniques par appareil. Deux comptes anonymes publiant des photos prises avec le même appareil peuvent être reliés avec une quasi-certitude. Des chercheurs ont parcouru des sites de photos pour regrouper les images par numéro de série d'appareil, exactement pour cette raison. Vous pouvez séparer vos identités en ligne. Votre appareil photo, lui, ne fait pas cette distinction.

Les horodatages dessinent votre routine

DateTimeOriginal, plus le décalage du fuseau horaire. Pris isolément, un horodatage dit peu de chose, mais une année de publications montre à quelle heure vous vous réveillez, quand vous quittez la maison et quand vous voyagez.

La vignette vous trahit

La vignette IFD1 est un JPEG séparé à l'intérieur des métadonnées. Recadrez l'image principale pour en exclure un visage ou un document, et beaucoup d'éditeurs laissent la vignette d'origine intacte. Quiconque l'extrait obtient la photo non recadrée. En 2003, une animatrice de TechTV a publié des photos recadrées d'elle-même, et des lecteurs ont reconstitué les images complètes à partir des vignettes EXIF. La leçon est restée, parce que les outils continuent de faire la même erreur.

Où les métadonnées EXIF survivent à l'envoi

Les grandes plateformes sociales (Facebook, Instagram, X) suppriment les métadonnées EXIF des images au moment de l'envoi. Tout le reste, ou presque, ne le fait pas : les pièces jointes d'emails, les publications sur les forums, les petites annonces, les liens de partage de cloud, AirDrop, et toute messagerie configurée pour envoyer en qualité d'origine. Si le fichier quitte votre appareil inchangé, les métadonnées partent avec lui.

Ce qui se passe lors d'une conversion de format

Convertir une photo ne la purge pas automatiquement. Il existe deux familles de convertisseurs :

  1. Les copieurs de métadonnées. Des outils qui réencodent mais transportent délibérément les balises : ExifTool, ffmpeg, et la plupart des convertisseurs à interface graphique, réglés par défaut pour conserver les métadonnées. Passez un JPEG en WebP à travers un copieur et vos coordonnées GPS déménagent intactes dans le chunk EXIF du WebP.
  2. Les réencodeurs de pixels. Des outils qui décodent en pixels bruts et encodent un fichier tout neuf à partir d'eux. La sortie ne contient que des données d'image, parce que les métadonnées n'ont jamais fait partie des pixels.

La purge manuelle tient en une commande dans les deux cas :

# ExifTool: wipe every tag, keep the image
exiftool -all= -overwrite_original photo.jpg

# ImageMagick 7: re-encode without metadata
magick photo.jpg -strip photo-clean.jpg

Un détail demande de l'attention ici : l'orientation. La balise EXIF Orientation (0x0112) indique aux logiciels de visualisation de faire pivoter l'image, souvent de 90 degrés. Supprimez les balises sans appliquer cette rotation aux pixels, et chaque photo en portrait ressort de travers. L'ordre correct : décoder en appliquant l'orientation, puis supprimer les métadonnées. Un outil qui purge sans pivoter est pire qu'une absence totale de purge.

Ce que nos convertisseurs font des métadonnées EXIF

Chaque convertisseur de ce site est un réencodeur de pixels. Le pipeline est identique pour tous :

  1. Décoder le fichier source en pixels bruts dans votre navigateur (libheif compilé en WebAssembly pour le HEIC, le décodeur natif du navigateur pour le reste).
  2. Dessiner les pixels sur un canvas, l'orientation EXIF étant déjà appliquée au décodage.
  3. Encoder le canvas dans le format cible.

Le fichier de sortie contient des pixels compressés et rien d'autre. Pas de segment APP1, pas de chunk EXIF ou eXIf, pas de GPS IFD, pas de numéros de série, pas de vignette embarquée. Il n'existe aucun chemin d'exécution qui copie les métadonnées, parce qu'il n'y a aucune métadonnée en mémoire à copier. Et comme tout s'exécute côté client, le fichier ne quitte jamais votre appareil : aucun serveur ne voit jamais l'original non plus.

Choisissez votre format source :

Déposez un fichier, téléchargez la copie convertie, partagez celle-ci à la place. Les pixels sont identiques ; les métadonnées ont disparu.

En résumé

  • Avant de partager une photo là où les métadonnées EXIF survivent (email, forums, petites annonces, liens directs), vérifiez-la d'abord. Propriétés sous Windows, Inspecteur sous macOS, exiftool sous Linux.
  • Si le fichier transporte des données GPS et que vous préféreriez que ce ne soit pas le cas, convertissez-le. Chaque outil listé ci-dessus ne produit que des pixels.
  • Si vous publiez sous des identités distinctes, les numéros de série des appareils photo peuvent les relier. La purge s'en charge aussi.
  • Gardez vos originaux intacts. Les métadonnées EXIF sont vraiment utiles dans votre propre archive. Ce sont les copies que vous publiez qui doivent être propres.

Plus d'articles à lire