Sécurité
Sécurité et confidentialité
Whilely affiche une seule ligne sponsorisée, clairement étiquetée [sponsored], pendant que votre agent IA travaille. Voici précisément ce que le logiciel fait, ce qu’il ne fait pas, et comment le vérifier vous-même.
Zéro patch. Réglages officiels uniquement.
Whilely n’installe que deux réglages officiels de Claude Code (statusLine et spinnerVerbs) dans votre fichier ~/.claude/settings.json. Il ne modifie jamais le binaire de Claude Code, ni aucun fichier de l’application. Conséquence directe : rien à « restaurer » de fragile, aucune signature de binaire cassée, aucune alerte antivirus, et le tout survit aux mises à jour de Claude Code.
Une approche qui patche le binaire peut atteindre une surface de plus (le spinner du panneau interne), mais au prix de la fragilité : elle casse à chaque mise à jour. Nous choisissons la robustesse.
On ne lit jamais votre code, vos prompts, ni votre session. Par construction.
Le composant qui affiche la ligne ne lit jamais l’entrée standard : il ne référence même pas process.stdin. Claude Code lui envoie pourtant un bloc JSON de session ; le script l’ignore structurellement. Il est donc impossible qu’il lise, journalise ou transmette quoi que ce soit de votre session (modèle, coût, dossier de travail, et encore moins votre code ou vos prompts).
Nous ne lisons aucun fichier de votre session, même en local. La seule chose que Whilely lit est son propre petit cache, sous ~/.whilely.
On ne facture que l’attention réelle, sans vous surveiller.
Une impression n’est comptée qu’après 5 secondes d’affichage continu et réel de la ligne, et seulement tant qu’elle est encore à l’écran. Comment le savons-nous sans lire votre session : Claude Code ne demande le rendu de la ligne d’état que sur de vrais événements (un nouveau message, par exemple) et se tait quand la session est inactive. Nous obtenons donc le signal de présence gratuitement, via le modèle d’événements de Claude Code, sans jamais lire votre historique de conversation.
Côté serveur, des garde-fous s’appliquent en plus : cadencement, plafond de gains par jour et par appareil, anti-fraude. Les clics ne rémunèrent jamais le développeur (pour retirer toute incitation à l’auto-clic) : l’annonceur paie, le développeur n’est crédité que sur les impressions.
L’extension VS Code, minimale et sans accès à votre travail.
Elle n’est qu’un élément de barre d’état. Elle ne lit ni ne surveille aucun fichier de votre espace de travail, ne touche jamais le document de l’éditeur, le terminal, ni vos variables d’environnement.
Ses seuls appels réseau vont au serveur Whilely : récupérer la ligne, signaler une impression validée, signaler un clic. La seule donnée envoyée est un contexte anonyme (surface, agent, langue, fuseau horaire), jamais le contenu de votre session.
La ligne reste affichée pendant que vous travaillez, mais une impression n’est comptée qu’après 5 secondes d’affichage continu dans une fenêtre VS Code au premier plan (une opportunité réelle de la voir) ; le serveur revérifie ce seuil, le plafonne et filtre la fraude, donc une ligne persistante ne peut pas gonfler les compteurs. Le jeton d’appareil vit dans le coffre à secrets de VS Code, donc désinstaller l’extension ne laisse aucune trace. Au clic, elle ouvre le lien du sponsor, et uniquement une adresse http(s).
Réversible en un clic.
La commande whilely uninstall restaure vos réglages à l’octet près (une sauvegarde est faite à l’installation) et supprime toute trace locale : cache, identifiant d’appareil, soldes, heartbeat. Zéro résidu.
La commande whilely pause masque la ligne sans rien désinstaller.
Le label [sponsored] ne peut pas être retiré.
Il est ajouté côté client et aucune donnée d’annonceur ne peut le modifier ou le supprimer.
Le texte des annonces est nettoyé (octets de contrôle, séquences ANSI, homoglyphes) côté client et côté serveur, pour qu’aucune annonce ne puisse usurper l’interface de votre agent.
Source-available et vérifiable.
Tout le code (client, serveur, extension) est source-available sous licence FSL-1.1-MIT (lisible et auditable, une licence à clause anti-concurrence qui bascule en MIT après deux ans). Vous pouvez lire et vérifier chaque ligne sur github.com/whilely-ai/whilely.
Pour prouver que le paquet publié vient exactement de cette source, la commande node scripts/verify.mjs compare le paquet npm publié à la source, fichier par fichier (empreinte sha256). Les versions sont publiées via GitHub Actions avec la provenance npm (une attestation signée) : la page npm affiche alors un badge de provenance reliant le paquet au commit exact.
Ce que nous ne couvrons pas (par honnêteté).
Le verbe animé sponsorisé s’affiche dans le terminal claude, via le réglage officiel spinnerVerbs. Le panneau interne de l’extension VS Code et l’application de bureau utilisent leur propre interface, que les réglages officiels ne pilotent pas ; nous ne patchons pas le binaire pour les atteindre, c’est un choix de robustesse.
Dans VS Code, notre ligne vit dans la barre d’état native (une surface officielle), pas dans le panneau de l’agent. Enfin, si vous configurez vous-même un refreshInterval sur la ligne d’état de Claude Code, celle-ci peut se rafraîchir sur un minuteur même à l’inactivité ; les garde-fous serveur (cadencement, plafond quotidien) s’appliquent alors toujours.
Contact
Une question ou une faille à signaler ? Écrivez à hello@whilely.ai.
Voir aussi : Politique de confidentialité et Conditions d’utilisation.