TL;DR : allez vérifier tout de suite. Tableau de bord Cloudflare, Analytics, Web Analytics, réglages RUM. Si c’est actif, vos lecteurs téléchargent 31 Ko que ni eux ni vous n’avez demandés.
Le constat est parti d’un développeur qui avait fait un site volontairement sans une ligne de JavaScript. En basculant ses serveurs de noms chez Cloudflare, il a retrouvé dans ses pages un beacon.min.js servi depuis static.cloudflareinsights.com : environ 31 Ko de mesure d’audience qu’il n’avait pas demandés (le fil sur Hacker News).
Ce n’est pas un incident, c’est le fonctionnement prévu. La documentation de Cloudflare l’écrit : le script est injecté au passage par le proxy, donc uniquement pour les domaines au nuage orange. En mode « DNS only », rien n’est ajouté. Un employé de Cloudflare a précisé dans le fil ce que la documentation dit moins clairement : c’est activé par défaut sur les offres gratuites, et seulement sur demande sur les offres payantes.
C’est cette asymétrie qui fâche, plus que le script lui-même. Cloudflare Web Analytics ne pose pas de témoin de connexion et se présente comme respectueux de la vie privée, ce qui est probablement vrai. Mais celui qui héberge une page sans JavaScript le fait exprès, et découvrir qu’un tiers modifie ce qu’il sert à ses lecteurs, sans notification, n’est pas une question de gravité : c’est une question de qui décide.
Pour couper : tableau de bord Cloudflare, Analytics, Web Analytics, réglages RUM. Vous pouvez aussi tout laisser en place et poser vous-même le script si vous voulez les statistiques, ou régler un en-tête Cache-Control: public, no-transform, que le proxy respecte en s’interdisant de toucher à la page.
Et si vous ne savez pas ce que vos pages servent réellement, la réponse tient en une manipulation : ouvrez votre site en navigation privée, onglet Réseau des outils de développement, et regardez la liste des domaines contactés. Il y a souvent des surprises, et pas seulement chez Cloudflare. Pour le reste de la chasse aux mouchards, notre article sur Firefox et uBlock Origin tient toujours.