Aller au contenu

Comment caviarder un PDF correctement

Un rectangle noir sur du texte n'est pas un caviardage. Les mots sont toujours dans le fichier, et n'importe qui peut les lire en quatre secondes environ. Voici ce qui fonctionne vraiment, et comment vérifier que cela a marché.

Dernière relecture :

L'erreur, et pourquoi elle se répète

Une page PDF est un logiciel de dessin. Le texte est une instruction qui place certains caractères à certaines coordonnées, et un rectangle noir est une autre instruction qui remplit une zone. Dessiner le rectangle ne supprime pas le texte — il le recouvre. Les caractères sont toujours dans le fichier, en dessous, et sélectionner la zone suffit à les copier. N'importe quel outil gratuit les extrait en quelques secondes.

Si cette erreur se répète, c'est parce que l'interface vous dit que tout a fonctionné. Vous dessinez un cadre, les mots disparaissent à l'écran, vous enregistrez le fichier, et il ressemble exactement à un document caviardé. Aucune erreur, aucun avertissement, aucune différence visible avec un caviardage correct. Chaque échec de caviardage médiatisé dont vous avez entendu parler — actes de procédure non caviardés, montants de transactions, noms de témoins, rapport de renseignement dont les passages supprimés ont été récupérés en quelques minutes — était le fait de quelqu'un qui a dessiné une forme et l'a crue suffisante.

Surligner le texte en noir est la même erreur sous un autre déguisement, tout comme le recouvrir d'un rectangle blanc dans un traitement de texte avant d'exporter en PDF.

Ce que fait un vrai caviardage

L'ordre est inversé. Le texte est d'abord supprimé du contenu de la page, et le cadre noir est dessiné ensuite, comme repère visuel de l'endroit où se trouvait quelque chose. Copiez la zone caviardée et vous n'obtenez rien, puisqu'il n'y a rien ; extrayez le texte de la page et les mots n'y figurent tout simplement pas.

C'est ce que fait l'outil Caviarder PDF de ce site, et il indique combien de fragments de texte il a supprimés — ce qui compte, car un caviardage qui n'a rien trouvé ressemble trait pour trait à un caviardage réussi. Si vous avez dessiné un cadre sur un nom et que rien n'a été supprimé, ce nom fait sans doute partie d'une image et non du texte : voyez le paragraphe suivant.

Le texte dans les images est un problème à part

Un nom dans une page scannée, ou dans une capture d'écran collée dans un rapport, n'est pas du texte du tout — ce sont des pixels. Supprimer du texte ne peut pas l'atteindre, et un cadre dessiné par-dessus n'est rien d'autre que le recouvrement inefficace décrit plus haut, puisque les pixels restent dans les données de l'image, en dessous.

La solution consiste à recalculer ces pages avec le caviardage appliqué, pour que les pixels n'existent réellement plus. Cela a un vrai coût, qu'il vaut mieux connaître : ces pages deviennent des images, donc le texte qu'elles contiennent n'est plus sélectionnable et le fichier grossit. Pour un document scanné, cela ne change rien, puisqu'il n'était déjà fait que d'images. Pour un document mixte, c'est un compromis.

Il en va de même pour les images en général. Si vous floutez un visage ou une plaque d'immatriculation, floutez assez fort pour que la zone ne garde aucune structure visible — des chercheurs ont reconstitué du texte à partir d'une pixellisation trop faible en générant des candidats et en les comparant. Si vous devinez encore le nombre de caractères, ce n'est pas assez fort.

Les endroits où un PDF garde les noms que vous avez oubliés

C'est ici que se font piéger ceux qui ont correctement caviardé. Un PDF stocke du texte à bien d'autres endroits que la page visible, et un caviardage parfait de la page les laisse tous intacts.

Les signets contiennent souvent des titres de section comportant des noms. Les valeurs des champs de formulaire subsistent même quand le champ n'est pas visible. Les pièces jointes peuvent être des documents entiers cachés dans le PDF. Les informations du document et le paquet de métadonnées XMP contiennent le titre, l'auteur, le logiciel et souvent le chemin du fichier d'origine — qui révèle un nom d'utilisateur et une arborescence de dossiers. Les commentaires et annotations ont leur propre texte et le nom de leur auteur. Et le nom du fichier lui-même accompagne le document partout où il va.

Il y en a encore un, le plus subtil : un PDF enregistré de façon incrémentielle conserve ses révisions antérieures dans le même fichier. Si un document a été modifié puis enregistré plutôt que réécrit, une version précédente d'une page peut s'y trouver encore. C'est pourquoi l'étape de vérification ci-dessous n'est pas facultative dès que l'enjeu est réel.

Vérifiez, et voici comment

La vérification est l'étape que l'on saute, et c'est pourtant elle qui vous protège vraiment. Trois contrôles, du plus rapide au plus complet.

Ouvrez le résultat et essayez de sélectionner la zone caviardée. Si vous pouvez copier quoi que ce soit, arrêtez-vous. Ce contrôle détecte l'échec de base en cinq secondes et mérite d'être fait à chaque fois, sans exception.

Regardez les propriétés du document. Le titre, l'auteur, le sujet et les mots-clés sont visibles dans n'importe quel lecteur PDF via Fichier, puis Propriétés. Si le champ auteur contient le nom que vous venez de passer une heure à supprimer, le caviardage n'a servi à rien.

Reconstruisez le fichier. Passer le résultat dans un outil qui réécrit le document à partir de ce que ses pages référencent réellement — Ghostscript avec gs -sDEVICE=pdfwrite, ou qpdf --empty --pages out.pdf 1-z -- — élimine les objets non référencés et les révisions antérieures. Ajouter exiftool -all:all= efface les métadonnées. Pour un acte de procédure ou tout document soumis à communication, faites les trois et demandez à quelqu'un d'autre de vérifier.

Supprimer une page n'est pas non plus un caviardage

Cela mérite d'être dit à part, car c'est le même genre d'erreur. Supprimer des pages d'un PDF construit un nouveau document à partir des pages conservées — mais un lien situé sur une page conservée et qui pointait vers une page supprimée doit toujours aboutir, ce qui entraîne une copie de cette page supprimée dans le nouveau fichier, sous forme d'objet qu'aucune arborescence de pages ne référence. Invisible dans tous les lecteurs, présente dans les octets.

Pour retirer une page de la vue, la suppression est correcte et suffisante. Pour faire disparaître son contenu pour de bon, supprimez la page et reconstruisez le fichier comme indiqué ci-dessus.

Questions fréquentes

Un cadre noir est-il parfois acceptable ?

Uniquement comme repère visuel par-dessus un vrai caviardage. Seul, il cache les mots à un lecteur qui ne cherche pas, et à personne d'autre. Si le document doit être publié, déposé ou communiqué, considérez qu'un cadre seul n'est pas un caviardage du tout.

Et si j'aplatis plutôt le PDF ?

L'aplatissement fond les annotations dans la page, ce qui rend effectivement un cadre dessiné permanent en tant que dessin — mais le texte en dessous fait partie du contenu de la page, pas d'une annotation : il est donc toujours là. L'aplatissement est le bon outil pour figer des réponses de formulaire et des signatures, pas pour cacher des mots.

Puis-je caviarder en convertissant le PDF en images ?

Cela fonctionne, dans la mesure où l'image d'une page avec un cadre dessus n'a réellement aucun texte en dessous. Les coûts sont réels : le document n'est plus interrogeable, le fichier grossit, et les métadonnées sont en général reprises quand même — il faut donc toujours les nettoyer à part.

Imprimer en PDF supprime-t-il le texte caché ?

Généralement oui pour le contenu des pages, puisque la page est recalculée — c'est pourquoi cela marche parfois par hasard. Ce n'est pas une méthode fiable : elle n'efface pas tous les champs de métadonnées et dépend du pilote d'impression. Utilisez un outil qui indique ce qu'il supprime.

Caviarder un document sensible sur un site web, est-ce sans risque ?

Sur ce site, rien n'est conservé à aucun moment, et c'est précisément la raison pour laquelle le caviardage y est proposé — les documents qu'on a besoin de caviarder sont justement ceux qui ne devraient pas traîner sur le serveur d'un inconnu. Pour un acte de procédure, utilisez un logiciel conçu pour de tels enjeux et vérifiez vous-même le résultat.