Comment vérifier si un outil en ligne téléverse votre fichier

Ouvrez les outils de développement de votre navigateur avec F12, passez à l'onglet Réseau et videz-le. Déposez ensuite votre fichier dans l'outil et démarrez le traitement. Observez les requêtes qui apparaissent : si aucune ne transporte votre fichier, et si la taille de chaque requête est bien inférieure au fichier, rien n'a été téléversé.

Deux autres tests le confirment. Coupez votre connexion après que l'outil s'est chargé une fois et réessayez : un outil local continue de fonctionner, un outil basé sur un serveur non. Regardez ensuite à quels domaines la page parle, car un téléversement de fichier est une requête vers un point de terminaison précis et sa taille est proportionnelle à votre document. Les sections ci-dessous donnent les étapes exactes, et les requêtes qui semblent alarmantes mais ne sont que du code ou du suivi de page. Aucune de ces vérifications ne nécessite de logiciel au-delà du navigateur que vous avez déjà ouvert.

Une promesse de confidentialité sur une page d'outil vaut exactement ce que vaut votre capacité à la vérifier. La bonne nouvelle est que la vérification est courte, ne nécessite aucun logiciel spécial et fonctionne sur n'importe quel navigateur. Vous ne cherchez pas une promesse. Vous cherchez une chose précise : une requête qui transporte votre fichier.

Compresseur d'image

Un sujet propre pour le test : chargez une image, observez le panneau, puis déconnectez-vous et compressez-en une autre. Rien n'est téléversé dans un cas comme dans l'autre.

Ouvrir un outil local

Test un : observez les octets dans le panneau réseau

C'est la méthode principale, et elle prend environ une minute. Vous vérifiez si une requête transporte une charge utile à peu près de la taille de votre fichier.

  1. Ouvrez les outils de développement. Appuyez sur F12, ou utilisez le menu du navigateur et choisissez Outils de développement. Passez à l'onglet Réseau.
  2. Videz la liste. Cliquez sur le bouton d'effacement, généralement un cercle barré d'une ligne. Cela supprime les ressources de la page, seules restent donc les requêtes issues de l'action sur votre fichier.
  3. Activez Conserver le journal si vous voulez une vue complète. Il garde les requêtes visibles à travers un rechargement de page, ce qui aide lorsqu'un outil navigue ou rafraîchit en cours de traitement.
  4. Déposez votre fichier et lancez l'outil. Utilisez un fichier d'une taille distinctive, idéalement quelques mégaoctets, pour qu'une requête correspondante soit évidente.
  5. Observez la colonne de taille. Chaque requête est listée avec sa taille transférée. Lisez la plus volumineuse. Si la plus grosse requête est un script, une police ou un petit appel de suivi, le fichier n'a jamais bougé.
  6. Cliquez sur la requête la plus volumineuse et lisez ses détails. Les onglets En-têtes, Charge utile et Taille vous disent ce qui a été envoyé. Un véritable téléversement apparaît comme une requête dont la taille est à peu près celle de votre fichier.

Ce que vous cherchez a une signature précise. Un téléversement est généralement une requête POST vers un point de terminaison comme /upload ou /convert, et sa taille est proche de celle du fichier. Si la requête est un formulaire, le type de contenu est probablement multipart/form-data. Si le fichier est envoyé en octets bruts ou en base64, le type de contenu est celui du fichier lui-même, ou la charge utile est un corps JSON contenant les données. Dans les trois cas, la taille le trahit, c'est pourquoi la colonne de taille est celle à lire en premier.

Déverrouiller un PDF

Un cas sensible qui mérite d'être testé. Le PDF et le mot de passe sont tous deux lus dans l'onglet, le panneau ne montre donc aucune requête transportant l'un ou l'autre.

Ouvrir l'outil de déverrouillage

Test deux : déconnectez-vous et continuez à travailler

Le test hors ligne répond à une autre question, et il est plus difficile à falsifier. Si le traitement s'achève encore sans aucun réseau, alors aucun serveur ne peut être impliqué dans le travail.

  1. Chargez l'outil et traitez d'abord un fichier. Cela met en cache le moteur dont il a besoin, ce qui est un téléchargement normal de code et non votre fichier.
  2. Déconnectez-vous du réseau. Désactivez le Wi-Fi, débranchez le câble, ou utilisez le menu de limitation de débit des outils de développement et réglez-le sur Hors ligne.
  3. Traitez un autre fichier sans recharger la page. Ne rafraîchissez pas, car un rechargement doit récupérer la page elle-même et échouera pour des raisons qui n'ont rien à voir avec un téléversement.
  4. Observez le résultat. Un outil local produit son résultat. Un outil basé sur un serveur échoue, généralement avec une erreur réseau dans sa ligne d'état.

L'ordre de ces étapes est toute l'astuce. Si vous vous déconnectez d'abord et rechargez, vous testez la récupération de la page, pas le traitement. Et si vous n'avez jamais lancé l'outil avant de passer hors ligne, un échec peut simplement signifier que le moteur n'était pas encore en cache. Lancez une tâche en ligne, coupez la connexion, lancez une seconde tâche.

Test trois : regardez les domaines et la politique de sécurité

L'endroit où une page envoie des données est aussi révélateur que la quantité. Dans le panneau réseau, vous pouvez trier ou filtrer par domaine, et les domaines qu'un outil local touche sont banals : son propre hôte, un hôte de police ou de script, et éventuellement un fournisseur d'analyse. Un convertisseur qui tourne sur un serveur doit atteindre son propre point de terminaison de téléversement, et ce point de terminaison apparaît généralement sur le même domaine que le site.

Un signal plus strict est l'en-tête Content-Security-Policy, que vous pouvez lire dans l'onglet En-têtes de la requête du document principal. Une politique avec une directive connect-src serrée nomme les origines exactes que la page est autorisée à appeler, ce qui limite où un fichier pourrait aller même en théorie. Son absence ne prouve rien, car de nombreux sites n'en définissent tout simplement pas. Associez-la aux preuves réseau plutôt que de la traiter comme un test à elle seule.

Ce qui semble suspect mais ne l'est pas

La plupart des fausses alertes viennent de quatre types de requêtes. Les connaître vous évite de mal interpréter un résultat propre comme une fuite.

  • Analyses et gestionnaires de balises. Une vue de page est signalée à un service de mesure, c'est pourquoi vous voyez un script provenant d'un domaine d'analyse. Il transporte le fait qu'une page s'est chargée, pas le contenu de votre document. Ce site charge Google Tag Manager, vous verrez donc exactement cette requête.
  • Téléchargements du moteur au premier chargement. Un outil du navigateur récupère son moteur de traitement la première fois que vous l'utilisez. Cette requête est volumineuse, ce qui la fait ressembler à un téléversement, mais elle est identique pour chaque visiteur et ne change pas selon votre fichier. La taille reste constante tandis que votre entrée change.
  • Polices et icônes. Les polices et les sprites d'icônes sont des fichiers séparés et apparaissent comme leurs propres requêtes. Elles font généralement quelques centaines de kilooctets au maximum.
  • En-têtes d'isolation cross-origin. Certains outils WebAssembly nécessitent les en-têtes COOP et COEP pour le travail multithread. Les voir est un signe qu'un vrai moteur s'exécute dans la page, pas un signe que votre fichier circule. Les outils de ce site utilisent un moteur monothread et n'en ont pas besoin.

La ligne de démarcation est simple. Le code et les ressources de page ont des tailles qui restent identiques quel que soit ce que vous téléversez. Votre fichier a une taille qui n'apparaît sur le réseau que s'il est réellement envoyé. Comparez le total des octets transférés à la taille de votre entrée, et la réponse n'est pas ambiguë.

Où cette méthode a des limites

Les tests ci-dessus sont solides, et ils ne sont pas absolus. Être clair sur les lacunes est ce qui rend le reste de la page digne de confiance.

  • Le découpage en morceaux masque les lignes individuelles, pas le total. Un outil pourrait diviser un fichier en de nombreuses petites requêtes. Additionner le total des octets transférés déjoue cela, c'est pourquoi la comparaison des tailles compte plus que n'importe quelle ligne isolée.
  • Un service worker peut masquer un échec hors ligne. Si un site met en cache ses propres pages, un rechargement hors ligne peut encore fonctionner. Le test hors ligne n'est fiable que lorsque vous évitez de recharger et vous fiez à une tâche terminée.
  • Le trafic peut être chiffré et opaque. En HTTPS, vous ne pouvez pas lire le contenu d'une requête, seulement sa taille et sa destination. La taille suffit à repérer un téléversement de fichier, mais elle ne vous dira pas ce que contient une petite requête.
  • Local ne signifie pas automatiquement sûr. Le traitement dans l'onglet exclut un téléversement. Cela ne dit rien d'autres risques, comme une page qui lirait davantage de votre disque lors d'une étape ultérieure. Vérifiez l'affirmation précise qui est faite plutôt que de présumer un bon comportement partout.
  • Certains outils ont réellement besoin d'un serveur. Les grands modèles de suppression d'arrière-plan ou d'amélioration générative ne tiennent pas dans un budget de téléchargement navigateur, et ces outils le disent. Le schéma honnête est une page qui vous indique quelles fonctionnalités téléversent et lesquelles ne le font pas, comme le fait la section Cloud AI ici.

Si vous voulez l'explication sous-jacente de la raison pour laquelle un onglet peut faire ce travail, le guide compagnon sur comment fonctionnent les outils de fichiers dans le navigateur parcourt les couches du moteur, de Canvas et de la File API. Si vous voulez juste un outil à tester, n'importe quelle page du répertoire d'outils fonctionne, et Fusionner un PDF est un bon second sujet car les tailles d'entrée et de sortie sont faciles à comparer.

Questions fréquentes

Ouvrez les outils de développement de votre navigateur avec F12, passez à l'onglet Réseau et videz-le. Déposez ensuite votre fichier dans l'outil et démarrez le traitement. Observez les requêtes qui apparaissent : si aucune ne transporte votre fichier, et si la taille de chaque requête est bien inférieure au fichier, rien n'a été téléversé. Le panneau liste chaque requête effectuée par la page, y compris celles en arrière-plan. Cliquez sur une requête pour l'ouvrir et consultez les onglets En-têtes, Charge utile et Taille. Un téléversement de fichier apparaît comme une requête dont la taille est à peu près celle de votre fichier, généralement avec un type de contenu multipart/form-data ou un type image ou document. Si chaque requête est un script, une feuille de style, une police ou un petit pixel d'analyse, le fichier est resté sur votre machine. Lancez le test sur un fichier d'une taille distinctive, car une requête de quelques centaines de kilooctets est bien plus facile à repérer qu'un fichier de quelques octets.
Cela prouve que le chemin de traitement ne dépend pas d'un serveur. Chargez l'outil et traitez un fichier pour que le moteur soit mis en cache, puis déconnectez-vous du réseau, ou coupez le Wi-Fi, et traitez un autre fichier sans recharger la page. Si cela fonctionne encore, votre fichier est traité localement. La condition compte, car une page qui n'a jamais tourné a encore besoin de son code. Chargez d'abord le moteur, passez ensuite hors ligne, puis faites le travail. Si vous rechargez en étant hors ligne et voyez une page d'erreur du navigateur, c'est la récupération de la page qui échoue, pas l'outil qui téléverse quoi que ce soit. De même, un service worker peut servir la page depuis le cache, une page hors ligne qui se charge n'est donc pas une preuve à elle seule que le traitement est local ; le vrai signal est une tâche terminée avec le réseau coupé. Un outil basé sur le navigateur passe ce test. Un outil basé sur un serveur ne le peut pas, car il n'y a aucun serveur à joindre.
C'est possible en théorie et rare en pratique, et la colonne de taille est votre moyen de le repérer. Additionnez toutes les requêtes effectuées par la page pendant qu'un fichier est traité et comparez ce total à la taille de votre fichier. Si la somme correspond à peu près à la taille de l'entrée plus celle de la sortie, les octets ont quitté la machine. Le découpage en morceaux est une vraie technique, et un outil qui diviserait un fichier en de nombreuses petites requêtes POST serait difficile à repérer ligne par ligne, c'est pourquoi le total compte. Le panneau réseau montre la taille transférée pour chaque requête et un total courant pour la page. Un outil local déplace zéro octet de fichier, son total reste donc dans la plage du code, des polices et des analyses qu'il a chargés. Un outil qui téléverse un document de 4 MB doit déplacer au moins 4 MB vers le haut. Ce schéma est visible quel que soit le nombre de requêtes en lesquelles le transfert est découpé.
Parce qu'une page charge plus que l'outil. Les analyses, les polices et le moteur de traitement sont tous récupérés sur le réseau, et ces requêtes apparaissent dans le panneau aux côtés de tout le reste. Elles transportent du code et des données de page, pas le fichier que vous traitez. L'indice est la taille et la destination. Une police fait généralement moins de quelques centaines de kilooctets et provient d'un hôte de polices. Un script d'analyse fait quelques dizaines de kilooctets et signale une vue de page à un domaine de mesure, ce qui est une description de votre visite plutôt que de votre document. Le moteur est le gros morceau, et c'est le même téléchargement pour chaque visiteur : environ 30 MB pour le moteur vidéo, environ 6,7 MB pour le moteur OCR, environ 1,3 MB pour le moteur PDF. Aucun de ces nombres ne change avec la taille de votre fichier, ce qui sépare exactement le code du contenu. La seule requête qui serait proportionnelle à votre fichier est celle que vous recherchez.
Pas de manière fiable, et cela n'a pas d'importance. Le panneau enregistre le trafic sous la page, et il n'existe aucun moyen fiable pour un script de savoir si les outils de développement sont ouverts. Même si un site pouvait le détecter, cacher un téléversement est un acte bien plus grave que d'être vu en faire un. Il vaut la peine de savoir pourquoi le test est robuste. Le navigateur achemine chaque appel réseau via le même mécanisme, et les outils de développement observent directement ce mécanisme. Une page pourrait concevablement changer son comportement lorsqu'elle soupçonne une inspection, mais ce n'est pas un transfert caché, c'est un transfert différent, et il est détectable en comparant une exécution avec le panneau ouvert à une exécution avec le panneau fermé. La conclusion la plus sûre est plus simple : un outil qui prétend un traitement local n'a rien à cacher au panneau, il devrait donc se comporter de manière identique, que le panneau soit ouvert ou non. Si le comportement d'un site change lorsque vous regardez, considérez cela comme votre réponse.

Lancez le test sur un véritable outil

Gratuit, privé et illimité. Aucun compte requis.

Ouvrir le compresseur d'image