Marc-André Léger

User guide

Metadata Workbench 0.5.0 · PDF (English and French)

The main idea

Metadata Workbench never works on your original files. When you add a file, it is copied into a project, the copy is verified by its SHA-256 fingerprint and made read-only, and everything you look at or change is based on that copy. Every edit produces a new file, checked before it is kept. Your original stays exactly as it was; delete or replace it yourself if you want to.

1. Create a project

  1. Click New Project… in the toolbar. Give it a name (for example a case or a batch of documents to clean).
  2. Choose where to create the project folder (the default location is fine). The project opens immediately.
  3. Reopen a project later with Open Project… (⌘O).

2. Add files

Click Add Files… or Add Folder… (folders: recursive or top level only). Each selected item gets a row, including those that are refused (links, devices, missing or very large files) with the reason.

Before adding, you can tick Deep inspection to also capture the text of Office comments, which may contain personal data. The Policy menu chooses standard (normal) or strict (refuse to analyse if parser isolation is not fully available).

The Overview tab shows the file's fingerprints, its state and where its working copy is (Integrity ▾ ▸ Open the project's working folder opens it in the Finder).

State “unstable” means the file changed while it was being read — typically a file still downloading from iCloud or OneDrive, or still being saved. It is not used for viewing or editing. Wait until the file is complete and local, then add it again.

3. Read the metadata

Metadata tab

The Metadata tab lists every value found, without merging duplicates. Useful columns:

ColumnMeaning
Layerfilesystem (about the path: dates, size), embedded (inside the file), derived (computed, such as fingerprints)
Namespacewhere the value lives, for example EXIF:IFD0, XMP:XMP-dc, PDF. The same description can exist in EXIF, XMP and IPTC at once.
Statuspresent, missing, unsupported… An empty value is not the same as an absent one.
Privacy hinta review category: location, device identifier, person or rights holder, contact, internal path, free text. It is a hint, not a determination.

Select a row and press Locate value in Hex to find it in the bytes of the file. Not finding it does not mean it is absent: many values are displayed in converted form (GPS degrees, dates).

4. Structure and hex views

Structure shows where things are inside the file. Choose a parser at the top:

Hex shows the working copy 4 KiB at a time. Jump to an Offset (decimal or 0x…) or Find text or byte patterns such as FF D8 FF.

5. Findings and timeline

Findings tab

Findings are observations for review, never verdicts. Examples: modification earlier than creation (AN-02), dates in the future (AN-03), conflicting values or PDF values changed between revisions (AN-04), privacy-relevant fields (AN-05), signatures present (AN-08), file changed during acquisition (AN-09), active content such as macros, PDF JavaScript or remote templates (AN-11).

Select a finding to see its explanation, other possible explanations and suggested follow-up. Record your decision with Accept, Dismiss, Needs review or Comment…; each entry keeps your name and the time and is never overwritten.

Timeline places dates on a common scale. Dates without a time zone stay “unanchored” unless you choose a zone assumption; you can also enter a camera clock offset. The assumptions in force are always stated, and the original values are never changed.

6. Clean or edit a file

Edit tab with the public-sharing preset
  1. Select a file and open the Edit tab. If the format cannot be edited, the tab says why.
  2. Choose an action for each field (set to…, remove, remove all GPS, round GPS…), or load a preset:
    • Remove location — GPS and place names;
    • Public sharing — location, device serial numbers, maker notes, embedded thumbnails (which can show the uncropped original), editing history and comments; keeps title, description, author and copyright;
    • Remove organisation / author details;
    • Remove all metadata — keeps the colour profile and orientation so the picture looks the same.
  3. Press Review plan. It lists every place that will change, current value → new value. Nothing is written yet.
  4. Press Confirm and create edited copy. The new copy is re-read: each change is checked, any other change made by the writing tool is listed, and the content (picture, pages, sound, document text) is proven unchanged. Only then is it saved, shown as ↳ name (edited 1).ext under its source. If a check fails, nothing is marked successful.

Good to know

7. Export the edited copy

Edited copies live inside the project. Select one and choose Export copy… to save it wherever you want; existing files are never overwritten. Options:

Editing metadata changes the file's bytes, so its MD5/SHA fingerprints always change — that is normal. What stays identical is the content, and each edit records that proof. File dates are never backdated, and a signature made for the original must be redone by its signer.

8. Integrity checks

When you select a file, the app checks in the background that the working copy still matches its fingerprint, that the original (if still reachable) has not changed, and that any checksum files or registered manifests agree. The result appears at the top of the Overview. Use Integrity ▾ to Verify selected file, Verify all files, register Checksum manifests… or turn the automatic check off.

9. Compare versions

Version report

In Compare, choose files A and B. Compare lists the fields that differ. Version report goes further: fingerprints and size, changed byte ranges and the structure they belong to, metadata added, removed or changed, and whether the content itself changed. The verdict is identical, metadata only, content changed or different files. Versions of A lists the other versions of a file; Save report… writes HTML or JSON. Correlate project… suggests leads across all files (identical files, shared device identifiers, author name variants, close times or places).

10. Reports and audit log

The Export ▾ menu produces JSON, CSV (one value per row, protected against spreadsheet formulas) or a self-contained HTML report, plus redacted versions that remove privacy-relevant values and paths. Every action is recorded in an append-only, chained audit log.

11. What results do not prove

Guide d'utilisation

Metadata Workbench 0.5.0 · PDF (français et anglais) · L'interface de l'application est en anglais; les libellés sont donc indiqués en anglais.

Le principe

Metadata Workbench ne travaille jamais sur vos fichiers originaux. Quand vous ajoutez un fichier, il est copié dans un projet; la copie est vérifiée par son empreinte SHA-256 et mise en lecture seule, et tout ce que vous consultez ou modifiez repose sur cette copie. Chaque modification produit un nouveau fichier, vérifié avant d'être conservé. Votre original reste exactement tel quel; supprimez-le ou remplacez-le vous-même au besoin.

1. Créer un projet

  1. Cliquez sur New Project… dans la barre d'outils. Donnez-lui un nom (par exemple un dossier d'enquête ou un lot de documents à nettoyer).
  2. Choisissez où créer le dossier du projet (l'emplacement par défaut convient). Le projet s'ouvre aussitôt.
  3. Rouvrez un projet plus tard avec Open Project… (⌘O).

2. Ajouter des fichiers

Cliquez sur Add Files… ou Add Folder… (dossiers : recursive ou top level only). Chaque élément sélectionné obtient une ligne, y compris ceux qui sont refusés (liens, périphériques, fichiers absents ou très volumineux), avec la raison.

Avant l'ajout, cochez Deep inspection pour saisir aussi le texte des commentaires Office, qui peut contenir des renseignements personnels. Le menu Policy permet de choisir standard (normal) ou strict (refuser l'analyse si l'isolement des analyseurs n'est pas entièrement disponible).

L'onglet Overview affiche les empreintes du fichier, son état et l'emplacement de sa copie de travail (Integrity ▾ ▸ Open the project's working folder l'ouvre dans le Finder).

L'état « unstable » (instable) signifie que le fichier a changé pendant sa lecture — typiquement un fichier encore en téléchargement depuis iCloud ou OneDrive, ou en cours d'enregistrement. Il n'est pas utilisé pour la consultation ni l'édition. Attendez que le fichier soit complet et local, puis ajoutez-le de nouveau.

3. Lire les métadonnées

Onglet Metadata

L'onglet Metadata énumère chaque valeur trouvée, sans fusionner les doublons. Colonnes utiles :

ColonneSignification
Layerfilesystem (le chemin : dates, taille), embedded (dans le fichier), derived (calculé, comme les empreintes)
Namespaceoù se trouve la valeur, par exemple EXIF:IFD0, XMP:XMP-dc, PDF. Une même description peut exister à la fois en EXIF, XMP et IPTC.
Statuspresent, missing, unsupported… Une valeur vide n'est pas une valeur absente.
Privacy hintune catégorie à examiner : localisation, identifiant d'appareil, personne ou titulaire de droits, coordonnées, chemin interne, texte libre. C'est un indice, pas une conclusion.

Sélectionnez une ligne et cliquez sur Locate value in Hex pour la trouver dans les octets du fichier. Ne pas la trouver ne veut pas dire qu'elle est absente : bien des valeurs sont affichées sous forme convertie (degrés GPS, dates).

4. Vues Structure et Hex

Structure montre où se trouvent les éléments dans le fichier. Choisissez un analyseur en haut :

Hex affiche la copie de travail par tranches de 4 Kio. Allez à un Offset (décimal ou 0x…) ou utilisez Find pour du texte ou des motifs d'octets comme FF D8 FF.

5. Constats et chronologie

Onglet Findings

Les Findings (constats) sont des observations à examiner, jamais des verdicts. Exemples : modification antérieure à la création (AN-02), dates dans le futur (AN-03), valeurs contradictoires ou valeurs PDF changées entre révisions (AN-04), champs touchant la vie privée (AN-05), signatures présentes (AN-08), fichier modifié pendant l'acquisition (AN-09), contenu actif comme des macros, du JavaScript PDF ou des modèles distants (AN-11).

Sélectionnez un constat pour voir son explication, les autres explications possibles et le suivi suggéré. Consignez votre décision avec Accept, Dismiss, Needs review ou Comment…; chaque entrée garde votre nom et l'heure et n'est jamais écrasée.

Timeline place les dates sur une échelle commune. Les dates sans fuseau horaire restent « non ancrées » à moins que vous ne choisissiez une hypothèse de fuseau; vous pouvez aussi saisir un décalage d'horloge d'appareil photo. Les hypothèses en vigueur sont toujours indiquées et les valeurs d'origine ne sont jamais modifiées.

6. Nettoyer ou éditer un fichier

Onglet Edit avec le préréglage de partage public
  1. Sélectionnez un fichier et ouvrez l'onglet Edit. Si le format ne peut pas être édité, l'onglet indique pourquoi.
  2. Choisissez une action pour chaque champ (set to…, remove, remove all GPS, round GPS…) ou chargez un préréglage (preset) :
    • Remove location — GPS et noms de lieux;
    • Public sharing — localisation, numéros de série d'appareils, notes du fabricant, vignettes incorporées (qui peuvent montrer l'original non recadré), historique d'édition et commentaires; conserve le titre, la description, l'auteur et le droit d'auteur;
    • Remove organisation / author details;
    • Remove all metadata — conserve le profil de couleur et l'orientation pour que l'image reste identique.
  3. Cliquez sur Review plan. Le plan énumère chaque endroit qui changera, valeur actuelle → nouvelle valeur. Rien n'est encore écrit.
  4. Cliquez sur Confirm and create edited copy. La nouvelle copie est relue : chaque modification est vérifiée, toute autre modification faite par l'outil d'écriture est signalée, et le contenu (image, pages, son, texte du document) est démontré inchangé. Ce n'est qu'ensuite qu'elle est enregistrée, sous la forme ↳ nom (edited 1).ext sous sa source. Si une vérification échoue, rien n'est marqué comme réussi.

Bon à savoir

7. Exporter la copie modifiée

Les copies modifiées restent dans le projet. Sélectionnez-en une et choisissez Export copy… pour l'enregistrer où vous voulez; les fichiers existants ne sont jamais écrasés. Options :

Éditer des métadonnées change les octets du fichier; ses empreintes MD5/SHA changent donc toujours — c'est normal. Ce qui reste identique, c'est le contenu, et chaque modification consigne cette preuve. Les dates des fichiers ne sont jamais antidatées, et une signature faite pour l'original doit être refaite par son signataire.

8. Vérifications d'intégrité

Quand vous sélectionnez un fichier, l'application vérifie en arrière-plan que la copie de travail correspond toujours à son empreinte, que l'original (s'il est encore accessible) n'a pas changé et que les fichiers de sommes de contrôle ou les manifestes enregistrés concordent. Le résultat s'affiche en haut de l'Overview. Utilisez Integrity ▾ pour Verify selected file, Verify all files, enregistrer des Checksum manifests… ou désactiver la vérification automatique.

9. Comparer des versions

Rapport de versions

Dans Compare, choisissez les fichiers A et B. Compare énumère les champs qui diffèrent. Version report va plus loin : empreintes et taille, plages d'octets modifiées et la structure à laquelle elles appartiennent, métadonnées ajoutées, retirées ou modifiées, et changement éventuel du contenu lui-même. Le verdict est identical, metadata only, content changed ou different files. Versions of A énumère les autres versions d'un fichier; Save report… enregistre en HTML ou JSON. Correlate project… suggère des pistes parmi tous les fichiers (fichiers identiques, identifiants d'appareil communs, variantes de noms d'auteur, heures ou lieux rapprochés).

10. Rapports et journal d'audit

Le menu Export ▾ produit du JSON, du CSV (une valeur par ligne, protégé contre les formules de tableur) ou un rapport HTML autonome, ainsi que des versions caviardées (redacted) qui retirent les valeurs touchant la vie privée et les chemins. Chaque action est consignée dans un journal d'audit chaîné, en ajout seulement.

11. Ce que les résultats ne prouvent pas