Cette actualité s’inscrivait aussi dans un contexte de marché chargé : 32,6 millions de jetons KAITO devaient être libérés le 20 août, soit 7,63 % de l’offre en circulation selon les informations rapportées.
Kaito expliquait que Pulse utilisait le zero-knowledge TLS, ou zkTLS, pour vérifier des données issues de services tiers depuis le navigateur. Le principe consiste à prouver une déclaration précise — par exemple une position ou une activité — sans transmettre à Kaito une copie complète des données du compte concerné.
D’après la réponse de Kaito, la vérification doit être déclenchée activement par l’utilisateur. Le navigateur génère ensuite une preuve chiffrée et Kaito reçoit le résultat, ou une attestation, plutôt que l’ensemble des données du compte ou de l’historique de navigation.
Cette nuance est devenue importante après les discussions sur l’accès possible à des services comme ChatGPT, Claude et Binance. Des précisions ultérieures ont indiqué que ces sites intervenaient dans un parcours de vérification lancé par l’utilisateur, et non dans le cadre d’une collecte permanente en arrière-plan. Le résultat conservé devait être l’attestation produite par la vérification.
Le zkTLS répond donc à une partie du problème : la quantité de données divulguées lorsqu’un utilisateur veut prouver une information externe. Il ne répond pas, à lui seul, à une autre question : ce que l’extension peut observer localement, ni la manière dont les identifiants et les données d’usage peuvent être reliés entre eux.
Le 18 août, l’analyste 0x_ultra a déclaré que son examen du code de Pulse avait mis en évidence plusieurs mécanismes de collecte. L’allégation la plus sensible concernait une empreinte d’appareil générée à partir de plusieurs signaux : la manière dont le GPU restitue une image invisible, le modèle de l’appareil ou du matériel, ainsi que la façon dont le matériel traite un signal sonore de test. Selon cette analyse, l’identifiant obtenu pouvait être associé à un compte X.
L’examen évoquait également un suivi détaillé de l’activité sur X, notamment :
Ces éléments restent des allégations issues d’une inspection du code et de reportages ultérieurs. Ils ne constituent pas une décision indépendante établissant que Kaito a utilisé ces informations de manière abusive. Le point central porte plutôt sur l’ampleur et la possibilité de relier les données : un identifiant propre à un appareil, associé à des données comportementales, peut produire un profil beaucoup plus détaillé qu’une simple preuve ponctuelle d’une position de trading.
Yu Hu a déclaré que l’empreinte numérique servait à lutter contre les abus, notamment la fraude au clic et les activités de type Sybil, et non à faire de l’analyse ou du profilage des utilisateurs. Il a également affirmé que la collecte de l’exposition aux contenus, du temps de consultation et des interactions sur X était autorisée lors de l’installation de l’extension.
Kaito a ajouté que l’activité de navigation sur les sites autres que X n’était pas transmise à l’entreprise, sauf lorsqu’un utilisateur lançait activement une vérification prise en charge. La société a aussi affirmé que Pulse ne capturait ni les écrans, ni les mots de passe, ni les frappes au clavier.
Une autre source de friction concernait le texte des autorisations de Chrome. Certains utilisateurs voyaient une permission indiquant que l’extension pouvait lire et modifier les données sur tous les sites. Kaito a reconnu que cette formulation était plus large que l’utilisation prévue du produit et a promis de la corriger dans une version ultérieure.
La conséquence immédiate de la polémique a été une concession en matière de transparence. Kaito a annoncé la publication du code source de Pulse, avec l’aide de l’analyste qui avait participé à l’examen, puis a soumis une version mise à jour au Chrome Web Store. Au 21 août, cette nouvelle version était toujours en cours d’examen et son approbation n’était pas encore confirmée.
La chronologie est parlante : lancement le 18 août, examen public du code, réponse de Kaito le 19 août, puis publication du dépôt avant le 21 août. Les utilisateurs et les chercheurs externes peuvent désormais inspecter l’implémentation au lieu de s’en remettre uniquement à la description du produit ou aux fenêtres d’autorisation du navigateur.
L’affaire Kaito Pulse rappelle qu’il faut évaluer la confidentialité d’une extension de navigateur à plusieurs niveaux.
Le premier est celui de la preuve. Le zkTLS peut réduire la quantité de données de compte divulguées lorsqu’un utilisateur vérifie une déclaration précise.
Le deuxième est celui de la collecte. Une extension peut aussi observer l’activité sur les sites où elle fonctionne, selon ses autorisations et son implémentation. Kaito a reconnu la collecte de données d’interaction autorisées sur X et a défendu l’empreinte de l’appareil comme un mécanisme anti-abus.
Le troisième est celui de la possibilité de recoupement. Même si un service ne reçoit qu’une attestation issue d’un compte tiers, des inquiétudes peuvent subsister si les signaux de l’appareil, l’identité du compte et les données comportementales peuvent être associés. C’est précisément la tension mise en avant par l’analyse du code.
Le lancement de Pulse n’a pas démontré que le zkTLS et la confidentialité étaient incompatibles. Il a montré quelque chose de plus précis : protéger le contenu d’une déclaration vérifiée ne revient pas à réduire au minimum toutes les données collectées par le logiciel qui génère cette preuve. Dans ce cas, l’examen communautaire du code a forcé cette distinction à devenir publique — et a poussé Kaito, en quelques jours, à rendre son extension vérifiable par tous.