Screenshot PDF
Retour au blog

Comment vérifier le traitement local d'une capture d'écran en PDF dans les outils de développement du navigateur

Publié: 2026-08-08Relu: 2026-08-08Équipe éditoriale Screenshot PDF
Comment vérifier le traitement local d'une capture d'écran en PDF dans les outils de développement du navigateur

« Traité localement » devrait être testable. Une déclaration de confidentialité est utile, mais un outil de navigateur peut également exposer des preuves observables : quelles requêtes réseau se produisent, quelles charges utiles contiennent les requêtes, quand les analyses facultatives se chargent et si une image téléchargée quitte le navigateur.

Ce guide documente l'architecture actuelle de Screenshot PDF 0.0.13 et fournit une procédure DevTools reproductible. Il ne s’agit pas d’un test d’intrusion formel et un panneau réseau vide ne peut pas prouver que toutes les versions futures se comporteront de la même manière. Enregistrez la version et répétez la vérification après des modifications importantes.

Ce que signifie ici la transformation locale

Dans l'éditeur, le navigateur lit l'image sélectionnée avec FileReader, la décode en un élément d'image, dessine des pixels dans Canvas, crée des instantanés d'annotation en tant qu'URL d'objet local et génère des données PDF avec jsPDF. Le contenu des captures d'écran, les pixels d'annotation, le texte du filigrane, les aperçus et les octets PDF générés ne sont pas envoyés à un serveur d'applications Screenshot PDF.

Le site Web lui-même nécessite toujours des demandes d'infrastructure normales pour HTML, JavaScript, styles, polices ou images. Cloudflare peut traiter les métadonnées de connexion telles que l'adresse IP et les en-têtes de requête. Google Analytics facultatif est un chemin distinct et ne se charge qu'après le consentement de l'analyse. Le traitement local des documents ne signifie pas que la page n’effectue aucune requête réseau.

La boucle de traitement des documents reste à l'intérieur du navigateur tandis que le chemin du document sortant est bloqué.

Préparer un fichier de test non sensible

Ne commencez pas un test de confidentialité avec un relevé bancaire ou une conversation privée. Créez un PNG synthétique contenant une grille colorée, une phrase unique et une dimension connue telle que 1 200 × 3 000 pixels. Cette phrase unique vous aide à rechercher des charges utiles DevTools sans exposer d'informations réelles.

Enregistrez un hachage du fichier de test si votre système d'exploitation en fournit un. Un hachage peut aider à distinguer l'entrée exacte du test, bien qu'il ne prouve pas en soi où le fichier a été traité.

Ouvrez DevTools avant de sélectionner le fichier

  1. Ouvrez l'éditeur PDF de capture d'écran dans un nouvel onglet.
  2. Ouvrez Chrome DevTools et sélectionnez Réseau.
  3. Activez Conserver le journal et désactivez le cache pour la session de test.
  4. Effacez les demandes existantes.
  5. Laissez les analyses facultatives désactivées dans Privacy Choices pour le premier passage.
  6. Téléchargez l'image synthétique, ajoutez une annotation et un filigrane visibles, prévisualisez les pages et exportez un PDF.

La documentation du panneau Réseau de Chrome explique comment inspecter et filtrer les requêtes, ainsi que consulter leur charge utile.

Inspecter les requêtes par type et charge utile

Filtrez fetch et xhr, puis inspectez toute demande qui se produit lors du téléchargement, de l'annotation, de l'aperçu ou de l'exportation. Vérifiez l'URL, la méthode, les en-têtes de requête, la chaîne de requête, les données du formulaire, la charge utile de la requête et la réponse.

Recherchez dans le journal conservé la phrase synthétique et le nom du fichier. Recherchez également les corps de requêtes inhabituellement volumineux dont le timing correspond au téléchargement. Les pixels de l'image peuvent être binaires ou codés, donc l'absence de la phrase seule est insuffisante ; la taille de la charge utile et le type de contenu comptent également.

Les demandes d'images statiques du blog ou de l'interface ne sont pas des téléchargements du document de l'utilisateur. Une URL blob: est une référence d'objet local du navigateur, et non une destination réseau distante. Une URL data: intègre les données dans le contexte actuel du document et ne représente pas non plus un téléchargement HTTP.

Comparer les états de consentement

Répétez la session après avoir accordé le consentement facultatif à l’analyse. La bibliothèque Google Analytics peut désormais charger et envoyer des événements d'utilisation. La couche d'analyse de Screenshot PDF enregistre les événements du produit tels que l'ouverture de l'éditeur, le démarrage de l'exportation, le succès ou l'échec, le nombre de pages, les paramètres régionaux et le contexte d'utilisation général. Il est conçu pour ne pas inclure le contenu des captures d'écran, les noms de fichiers, le texte en filigrane, les adresses e-mail ou les identifiants directs.

Inspectez les paramètres d’événement plutôt que de supposer qu’une demande d’analyse est inoffensive. Confirmez que la phrase synthétique et le nom du fichier sont absents. Le consentement à la publicité reste désactivé pendant la phase de candidature à AdSense. Les demandes d'annonces ne doivent donc pas apparaître simplement parce que les analyses ont été acceptées.

Vérifier les chemins de défaillance

Le comportement en matière de confidentialité ne doit pas changer en cas d’échec d’une opération. Essayez un petit fichier non pris en charge ou annulez le sélecteur de fichiers. Confirmez qu’aucune charge utile de document n’est transmise dans le cadre du rapport d’erreurs. Ne plantez pas intentionnellement le navigateur avec d’énormes fichiers sensibles.

Pour un test lié à la mémoire, utilisez un motif généré et augmentez progressivement les dimensions. Arrêtez-vous lorsque l'éditeur redimensionne l'image ou que le navigateur devient lent. Le but est d’observer le comportement des requêtes, et non d’épuiser l’appareil.

Ce que DevTools ne peut pas prouver seul

  • Les extensions de navigateur et les service Workers peuvent avoir des contextes d'exécution distincts ; inspecter l’agent des services de vulgarisation concerné lors des tests de transport de capture.
  • Les requêtes chiffrées exposent toujours les métadonnées de destination et de requête dans DevTools, mais l'interprétation de la charge utile peut nécessiter la vue de la requête.
  • Un seul test couvre une version, un navigateur, un état de consentement et un flux de travail.
  • Les extensions de navigateur installées par d'autres éditeurs peuvent observer les pages selon leurs propres autorisations.
  • La télémétrie du système d'exploitation n'entre pas dans le champ d'application d'un panneau Réseau d'une page Web.

Pour un examen plus sûr, inspectez ensemble le code source, créez les artefacts, les autorisations d'extension, la politique de sécurité du contenu et le comportement du réseau.

Enregistrer le résultat de l'audit

Créez un petit tableau contenant la date, la création du site Web, la version de l'extension, la version du navigateur, l'état du consentement, le hachage du fichier de test, les actions effectuées, les destinations observées, le résultat de la charge utile du document et le réviseur. Enregistrez un HAR expurgé uniquement s'il ne contient aucun jeton, cookie, URL privée ou autre en-tête sensible.

Si des pixels de document ou des données de fichier apparaissent dans une requête à distance inattendue, arrêtez-vous et reproduisez avec le plus petit exemple synthétique. Signalez la destination, le type de demande, l'action qui l'a déclenchée et la version à [email protected].

Le traitement local est plus puissant lorsque la revendication, la mise en œuvre, le comportement de consentement et les preuves observables du réseau concordent. Répéter cette vérification après les versions transforme une phrase marketing en une propriété d'ingénierie maintenable.