L’admin vient de tirer un mot de passe de base, clique sur Copier, bascule dans le terminal. Pendant la demi-minute qui suit, la chaîne existe à trois endroits : le champ du générateur, le presse-papiers système, et chaque zone de saisie qui recevra le prochain collage. On vérifie souvent la première moitié : la génération a-t-elle envoyé quelque chose. Un autre texte montre comment confirmer dans Réseau que le texte clair n’a pas quitté le navigateur. La seconde moitié est sautée : une fois la copie réussie, qui d’autre peut encore lire ce tampon.
Ce n’est pas un tour du générateur, ni une fiche produit du bouton Copier. La question tient en une phrase : une fois le mot de passe dans le presse-papiers, quelles familles de programmes peuvent encore le lire. Le bouton Copier de MyPassGen appelle navigator.clipboard.writeText et écrit la chaîne dans le presse-papiers système. Il n’y a pas de coffre sur le site. Fermez l’onglet : le serveur ne garde pas ce mot de passe. Le presse-papiers, lui, reste une zone partagée du système. La page peut disparaître. Le tampon reste. Les chemins ci-dessous viennent de la spécification, des réglages système, et d’étapes que vous pouvez faire vous-même.
Séparez d’abord les cas
Si un gestionnaire de mots de passe peut remplir le champ, ne copiez pas. Quand il faut copier, faites les contrôles ci-dessous avec une chaîne de test qui n’ouvrira jamais un vrai compte. Après un collage réussi, copiez un caractère sans intérêt pour écraser. Quand un collègue distant a besoin du secret, envoyez un lien à usage unique plutôt que de laisser le texte clair dans le presse-papiers ou dans un salon.
Une fois copié, le secret a quitté la page
Le champ d’un générateur appartient à l’onglet courant. Le presse-papiers n’appartient à aucun onglet. MDN décrit l’API Clipboard comme une lecture et une écriture asynchrones du presse-papiers système : une fois l’écriture réussie, le Bloc-notes, un terminal, une fenêtre de chat et une session de bureau à distance peuvent chacun lire selon leurs règles. HTTPS ne couvre que le saut de cette page vers un serveur. Il ne couvre pas ce tampon sur votre machine.
L’ancien appel document.execCommand('copy') est marqué déprécié, et les implémentations divergent. Une page récente doit utiliser navigator.clipboard.writeText. Une écriture ne demande en général pas « autoriser cette page à lire ». Chromium traite clipboard-write comme une permission qu’il peut accorder tout seul. Firefox et Safari veulent encore un geste utilisateur récent — un clic ou une touche, l’activation transitoire de la spécification. Cliquer sur Copier est ce geste. Un script qui écrit en arrière-plan échoue souvent dans Safari. C’est pour cela que certaines pages refusent de copier tant que vous n’avez pas cliqué. Ce n’est pas de la mauvaise volonté.
MyPassGen emprunte le même chemin writeText pour un mot de passe généré, un lien à usage unique et un résultat nettoyé. Chaque outil s’ouvre sans compte. Une copie réussie prouve seulement que la chaîne a atteint le presse-papiers système. Elle ne prouve pas qui la lira quelques secondes plus tard, ni qu’elle restera hors de l’historique Win+V. Traiter « Copié » comme la fin de l’histoire, c’est rater les chemins suivants.
Lecture web : autorisation et collage
Une page qui veut lire le presse-papiers d’elle-même passe par navigator.clipboard.readText() ou read(). La spécification demande un contexte sécurisé — HTTPS ou localhost — et une lecture juste après une action de l’utilisateur sur la page. Les navigateurs n’implémentent pas cela de la même façon. Cette différence se teste tout de suite.
Chromium : la permission clipboard-read
Chrome, Edge et les autres Chromium demandent clipboard-read de l’API Permissions lorsque le document a le focus mais que la lecture ne colle pas pleinement à la spécification. Si vous cliquez sur Autoriser, l’accord reste : les scripts de la même origine peuvent relire sans nouvelle invite. Les paramètres du site listent Presse-papiers, et vous pouvez retirer l’accès. Un iframe embarqué dans la page d’un tiers doit aussi passer les jetons Permissions-Policy clipboard-read et clipboard-write. Si le parent ne les a jamais autorisés, l’appel enfant échoue. Vous le confirmez dans les outils de développement, Application → Autorisations. Ce n’est pas un slogan.
Firefox et Safari : un menu Coller éphémère
Firefox et Safari n’ont pas l’intention de livrer cette permission persistante. Quand une lecture sort de la spécification mais que l’activation transitoire est encore là, ils affichent un menu contextuel bref, avec une seule entrée Coller qui devient cliquable au bout d’environ une seconde. Un contenu de même origine peut parfois sauter cette étape. Un contenu d’origine croisée, en général, non. Si vous ne cliquez jamais cette entrée, le script n’obtient pas le texte. Ce n’est pas le modèle Chromium « autoriser une fois, relire plus tard ».
Quand vous collez, la page lit forcément
Ctrl+V / Cmd+V, ou Coller sur un champ, déclenche un événement paste. Le gestionnaire peut extraire le texte de clipboardData. Vous l’avez remis à la page courante. Ce n’est pas un vol en arrière-plan. Le risque, c’est le focus : une boîte de chat, une réponse de ticket, la mauvaise page de réglages du navigateur, et les doigts vont plus vite que les yeux. Le presse-papiers ne demande pas « êtes-vous sur le point de coller un mot de passe ? »
Le téléphone ajoute une couche. Depuis iOS 14, une application qui lit le presse-papiers en arrière-plan affiche une bannière en haut. Depuis iOS 16, une application qui lit UIPasteboard directement — au lieu du menu système, d’un raccourci clavier ou de UIPasteControl — se voit demander s’il faut autoriser le collage. Une bannière ou une invite prouve qu’on a lu. Elle ne prouve pas que personne n’a jamais lu. Un moment calme veut seulement dire que cette tentative n’a pas tiré, ou que vous aviez déjà autorisé.
Ne recollez pas un mot de passe tout frais dans un vérificateur qui envoie la chaîne
Certaines pages « ai-je fuité » font un POST du mot de passe en clair. Une fuite par presse-papiers est un chemin local. Coller dans un site qui envoie, c’est un second chemin, sortant. La différence est dans Liste locale de fuites et Have I Been Pwned : ce que chaque contrôle prouve. Un contrôle local charge une liste publique de mots faibles et laisse le candidat dans le champ. Génération et contrôle local s’ouvrent tous deux sans compte.
Historique système et cloud
L’autorisation web ne couvre que les scripts de l’onglet courant. Le système d’exploitation tient son propre historique, et il peut le synchroniser vers d’autres appareils. Aucun de ces deux chemins ne passe par une invite clipboard-read.
Sous Windows 10 et 11, avec l’historique du presse-papiers activé, Win+V montre les copies récentes. La note de Microsoft est précise : la liste tient au plus 25 éléments. Les entrées non épinglées s’effacent au redémarrage. Les épinglées restent. Les paramètres peuvent aussi activer la synchronisation entre appareils : le texte suit n’importe quel PC connecté au même compte Microsoft. Une fois un mot de passe dans cet historique, quiconque est assis devant cette machine — et quiconque est sur une cible synchronisée — peut lire le clair dans le panneau. L’épingle est le pire cas. Un redémarrage n’efface pas un élément épinglé. « Effacer tout » laisse aussi les épingles.
Le presse-papiers universel d’Apple voyage avec Handoff. Les appareils doivent être proches, connectés au même compte Apple, Bluetooth et Wi-Fi allumés, Handoff activé (il l’est par défaut). Copiez sur un appareil, un voisin peut coller. Le contenu ne reste qu’un court moment, ou jusqu’à ce que l’un des deux côtés copie autre chose. Le guide de sécurité de la plateforme d’Apple est plus sec : une application peut atteindre les données du presse-papiers avant que l’utilisateur n’ait collé ; avec le presse-papiers universel, cette portée s’étend aux autres appareils du même compte iCloud. Le transport réutilise le canal Handoff — appariement BLE 4.2, clé AES 256 bits, annonces en AES-256-GCM. Cela arrête un inconnu sur la radio. Cela ne veut pas dire « l’iPhone à côté, déjà connecté, ne peut pas lire ».
Les gestionnaires de mots de passe traitent le presse-papiers comme une fenêtre d’exposition courte. 1Password efface un secret copié au bout d’environ 90 secondes par défaut ; vous pouvez couper cela dans Sécurité. Bitwarden propose d’effacer le presse-papiers sur le bureau, le mobile et l’extension, d’environ 10 secondes à 5 minutes, ou jamais. Une page de génération dans le navigateur ne le fait en général pas à votre place. MyPassGen ne lance pas de compte à rebours après Copier. Écraser, c’est copier autre chose, ou vider le panneau système vous-même.
Bureau à distance, extensions, mauvais collage
Le bureau à distance, le VNC et beaucoup d’outils de réunion redirigent le presse-papiers dans les deux sens par défaut. Copiez dans la session distante, la machine locale peut coller. Copiez en local, le côté loin peut coller. Le mot de passe se retrouve alors dans les deux tampons. Pendant un partage d’écran, les caractères que vous venez de coller dans un terminal peuvent aussi atterrir dans un enregistrement de réunion ou une capture. Cette couche n’est pas « la page a-t-elle envoyé ». L’onglet Réseau ne la montrera pas.
Une extension de navigateur qui a demandé clipboardRead / clipboardWrite — ou les permissions hôte équivalentes de Chromium — peut lire et écrire hors du modèle de permission des scripts de page. La fiche du magasin affiche ces permissions. Une extension « booster de presse-papiers » ou « coller entre appareils » est un autre canal de synchronisation. Ne vous arrêtez pas à « le générateur a-t-il envoyé ». Regardez aussi la liste des extensions.
La fuite la plus courante, et la plus facile à reproduire, reste le mauvais collage : le focus est dans Slack, le corps d’un mail ou une réponse de ticket, et un doigt appuie sur coller. L’historique de chat, les archives mail et les systèmes de tickets gardent le clair bien plus longtemps qu’un vidage à 90 secondes. Quand un collègue distant a besoin du secret une fois, utilisez un lien à usage unique : la clé reste après # dans l’URL, et la page de lecture n’exige pas de connexion. Ne copiez pas le même clair dans le presse-papiers puis dans un salon.
Cinq chemins de fuite, côte à côte
Le même mot de passe de test tout frais se découpe en au moins cinq chemins. La différence n’est pas un nom d’algorithme. C’est qui peut lire, et si vous pouvez voir cette lecture se produire.
| Chemin | Qui peut lire | Comment le voir maintenant |
|---|---|---|
Page readText() |
Une origine avec permission de lecture ou un accord du menu Coller | Invite Chromium ; entrée Coller Firefox / Safari |
| Votre propre collage | La page ou l’application au focus | Texte clair dans le champ ; événement paste |
| Historique OS / sync cloud | Un utilisateur local ; un appareil synchronisé | Win+V ; collage sur un autre appareil Apple |
| Bureau à distance / réunion | Les deux sessions, un enregistrement, une capture | Le Bloc-notes distant peut-il coller ; relecture de réunion |
| Extensions et gestionnaires | Une extension qui a déclaré l’accès au presse-papiers | Page des permissions ; le gestionnaire vide-t-il après N secondes |
Un générateur qui tire une chaîne aléatoire avec Web Crypto, et qui ne met jamais le mot de passe dans un corps Réseau, ne ferme que le chemin d’envoi. Les quatre autres lignes restent ouvertes. Quand un gestionnaire peut remplir, vous n’avez pas besoin du presse-papiers. Quand il faut taper ou copier, ramenez la fenêtre à « coller, puis écraser tout de suite ».
Vérifier sur place
Ces étapes ne dépendent d’aucune promesse de marque. Utilisez un mot de passe que vous ne mettrez pas sur un vrai compte — par exemple la chaîne aléatoire de 16 caractères par défaut du générateur. Ne vous entraînez pas avec un mot de passe principal en service.
- Ouvrez le générateur, tirez un mot de passe de test, copiez-le. Ne l’utilisez pas pour vous connecter. Ouvrez Réseau dans les outils de développement, cochez Conserver le journal, et confirmez qu’après Copier les corps de requête et les événements d’analytics ne contiennent pas cette chaîne. La méthode pour contrôler l’envoi est dans Comment vérifier que le chiffrement dans le navigateur n’envoie pas le texte clair.
- Ouvrez le Bloc-notes ou n’importe quel champ texte et collez une fois. Confirmez que le presse-papiers tient cette chaîne. Copiez un seul caractère
x, puis collez encore : vous devez voirx. C’est l’écrasement qui fonctionne. - Sous Windows avec l’historique activé, appuyez sur Win+V. L’historique doit montrer le mot de passe de test. Si vous avez déjà écrasé, l’élément le plus récent doit être
x, et le mot de passe peut encore siéger plus bas. N’épinglez pas. Utilisez Effacer tout, ou continuez à copier du texte sans intérêt, jusqu’à ce que le mot de passe ait disparu de la liste. - Dans la console d’un onglet vide, exécutez
navigator.clipboard.readText().then(console.log, console.error). Chromium doit demander la permission de lecture ou échouer. Firefox ou Safari doivent afficher une entrée Coller ou refuser. Ne cliquez pas sur Autoriser « pour déboguer plus vite ». Autoriser laisse un droit de lecture persistant à cette origine. - Si un second appareil est connecté au même compte Apple ou Microsoft avec la synchronisation allumée, collez là-bas. Si le mot de passe de test apparaît, la sync cloud ou le presse-papiers universel a déjà déplacé le clair. Coupez la sync ou Handoff, ou attendez le délai, et réessayez.
- Lisez la liste des permissions des extensions installées, lecture ou écriture du presse-papiers. Si une session de bureau à distance est ouverte, collez une fois dans le Bloc-notes du côté loin pour voir si la redirection est active.
Le générateur de mot de passe MyPassGen est bâti sur cette frontière. Le mode aléatoire va de 6 à 128 caractères, 16 par défaut, avec un avertissement plus faible sous 8. Les deux modes tirent avec getRandomValues dans l’onglet courant. Copier passe par writeText. Pas de compte, pas de coffre. Ce que vous vérifiez, c’est l’invite d’autorisation, Win+V, et un collage sur l’autre appareil — pas le mot « Copié » sur la page.
Refermer la fenêtre après le collage
Pour la seule chaîne que vous devez copier aujourd’hui, terminez dans cet ordre : confirmez que le focus est dans le bon champ mot de passe, puis collez ; copiez tout de suite un caractère sans intérêt ou videz l’historique dans le panneau système ; si quelqu’un d’autre a besoin du secret, passez à un lien à usage unique et gardez la clé après # au lieu de laisser le clair dans le presse-papiers « en sauvegarde ». Pour les comptes qu’un gestionnaire peut remplir, sortez Copier du flux.
Traitez un PC partagé, une machine de démo et un saut d’administration avec bureau à distance ouvert comme « une seconde personne peut lire ce presse-papiers ». N’y copiez pas un mot de passe principal. Quand il faut taper, une phrase secrète plus longue réduit les fautes — puis changez-la après usage. Quatre mots tirés d’une liste de 100 ne font qu’environ 27 bits, trop faibles pour un mot de passe principal ; la comparaison est dans Mot de passe aléatoire ou phrase secrète : quatre mots ne suffisent pas automatiquement.
Une fois que vous écrasez après le collage et que vous refusez Autoriser sur une invite de lecture, vous pouvez déjà répondre à la question de l’article. Qui peut encore lire après Copier dépend de l’autorisation web, de l’historique système, de la sync cloud, d’une session distante et de votre prochain collage. Un générateur qui n’envoie pas veut seulement dire que le journal serveur ne tient pas cette chaîne. Il ne reprend pas la copie que le système d’exploitation a déjà distribuée.
Questions fréquentes
HTTPS protège-t-il déjà un mot de passe après la copie ?
Non. HTTPS protège le saut du navigateur vers un serveur. Le presse-papiers est local. Il ne voyage pas dans cette session TLS. Un envoi de page, l’historique système, le presse-papiers universel et un mauvais collage se moquent du cadenas dans la barre d’adresse.
J’ai cliqué sur Autoriser la lecture du presse-papiers. Puis-je retirer l’accès ?
Dans Chromium, oui : paramètres du site → autorisations → Presse-papiers → Bloquer. Firefox et Safari ne stockent en général pas cette lecture comme un accord durable, donc la tentative suivante repasse par l’entrée Coller. N’accordez pas la lecture à une origine en laquelle vous n’avez pas confiance juste pour cliquer une fois de moins.
Faut-il un compte pour générer un mot de passe ? Copier l’envoie-t-il ?
Aucun compte. La génération et la copie doivent rester dans l’onglet courant. Copier écrit la chaîne dans le presse-papiers système. Ce n’est pas un POST vers un serveur. Ouvrez Réseau : après Copier, le corps de requête et les événements d’analytics ne doivent pas contenir ce mot de passe. Quand un collègue a besoin d’une copie, utilisez un lien à usage unique. Ne traitez pas le presse-papiers comme un canal de transport.
Le remplissage automatique d’un gestionnaire est-il plus sûr que copier ?
Pour « un passage de moins dans le presse-papiers système », oui. Le remplissage met le mot de passe dans le formulaire courant et saute l’historique Win+V. Si le gestionnaire propose encore Copier, cette copie utilise le même tampon qu’une page de génération, et il faut encore écraser. Si le remplissage est disponible, ne copiez pas.