Présentation

Le nouveau moteur de CodePen (version 2.0) envoie chaque caractère tapé dans l'éditeur vers les serveurs codepen.dev dès qu'il est saisi. L'observation provient d'une capture réseau montrant que le texte apparaît dans l’onglet Network/Response après 1‑2 secondes, même si l'utilisateur n’a jamais cliqué sur « save ». Un test avec un marqueur unique inséré dans index.html a confirmé que le même marqueur était présent dans le HTML généré et servi depuis le sous‑domaine *.codepen.dev.

Fonctionnement technique

CodePen utilise un mécanisme d’enregistrement « save:false » qui déclenche un build côté serveur dès que le contenu de l’éditeur change. Le navigateur envoie probablement une requête POST contenant le code source sous forme JSON vers une API interne (/api/pens/preview ou similaire). Le serveur compile le code dans un sandbox, génère une URL de prévisualisation et renvoie le résultat HTML. Cette architecture permet un rendu instantané du résultat, indispensable pour les fonctionnalités de prévisualisation live et de collaboration en temps réel.

Le choix d’un traitement serveur plutôt que purement client élimine la charge de compilation JavaScript, CSS et HTML sur le dispositif de l’utilisateur, ce qui améliore la fluidité sur des machines modestes. Cependant, chaque frappe implique un aller‑retour réseau, augmentant la surface d’exposition des données saisies.

Implications de sécurité

Le transfert immédiat de texte non sauvegonné signifie que toute information sensible (clés API, mots de passe, données personnelles) saisie accidentellement est stockée sur les serveurs de CodePen dès le premier caractère. Même si le pen n’est jamais publié, le contenu est déjà présent dans les logs du serveur et potentiellement dans les caches CDN du sous‑domaine *.codepen.dev. Un attaquant interceptant le trafic (ex. via un réseau Wi‑Fi non sécurisé) pourrait récupérer ces données, car les requêtes sont généralement chiffrées (HTTPS) mais restent vulnérables aux certificats compromis ou aux attaques de type man‑in‑the‑middle sur des terminaux infectés.

Le phénomène n’est pas propre à CodePen ; d’autres services (Shopify, HotJar) enregistrent également les entrées utilisateur à des fins d’autocomplétion ou d’analyse comportementale. La différence réside dans la visibilité du processus : CodePen expose clairement le flux via les outils de développement, ce qui rend la fuite plus facile à détecter et à exploiter.

Alternatives et bonnes pratiques

Pour les développeurs soucieux de la confidentialité, il est recommandé d’utiliser des éditeurs purement client‑side, comme HTMLEdit ou des solutions basées sur le hachage d’URL qui ne transmettent jamais le code au serveur. En outre, éviter de copier ou de taper des secrets dans des environnements de prévisualisation en ligne réduit le risque d’exposition. Les équipes de CodePen pourraient implémenter un mode « offline » ou un délai configurable avant l’envoi des données, afin de concilier réactivité et protection de la vie privée.