← Accueil

Ce que Chaser fait sur votre machine

Chaser s'installe dans Claude Code et tourne à chaque tour de conversation. Vous avez le droit de savoir exactement ce qu'il exécute, ce qu'il écrit sur votre disque et ce qui quitte votre poste. Cette page donne les listes complètes, pas un résumé rassurant.

1. Les 7 hooks posés

L'installateur enregistre exactement ces sept entrées dans votre configuration Claude Code. Aucune autre.

ÉvénementScriptRôle
SessionStarthook_sessionstart.jsInjecte le HANDOFF et la mémoire au démarrage
Stophook_handoff_auto.jsMet à jour le handoff en fin de tour
SessionEndhook_handoff_auto.js --forceHandoff de fin de session
PreCompacthook_handoff_auto.js --forceHandoff avant une compaction
PreToolUsehook_chaser.jsBouclier de sécurité + compresseur
PostToolUsehook_chaser.jsCarte AST des gros fichiers lus
UserPromptSubmithook_chaser.jsConseil de compaction, économies du tour, Tier 0 (opt-in)

Le PreToolUse ne se déclenche que sur les outils qui touchent votre système ou le réseau : Bash, Edit, Write, MultiEdit, NotebookEdit, WebFetch et les outils MCP de type fetch/navigate.

2. Ce qui quitte votre poste

La liste est courte, et elle est exhaustive.

Le dispatcheur des hooks ne fait aucun appel réseau

moteur/hook_chaser.js — le composant qui s'exécute à chaque tour — ne contient aucune URL et n'ouvre aucune connexion. Ses décisions (bouclier, compression, conseil) sont calculées en local, en JavaScript pur.

Vos prompts, vos fichiers, vos noms de projet et le contenu de vos sessions ne sont envoyés nulle part par Chaser.

Ce que Chaser écrit sur votre disque

Tout est en texte clair. Vous pouvez les ouvrir, les auditer, les supprimer.

3. Comment nos chiffres sont obtenus

Une économie annoncée sans protocole n'est pas une mesure, c'est une promesse. Les nôtres sont calculées sur des journaux réels et publiées avec leur méthode.

Un audit automatique interdit toute affirmation chiffrée sans réserve ni source sur nos pages publiques. Concrètement : le « −70 % » correspond à une médiane mesurée de 71,7 % dans le mode le plus agressif ; le « −90 % » est un agrégat, pas le cas typique — et nous l'écrivons comme tel plutôt que de laisser le chiffre le plus flatteur circuler seul.

4. Nos défauts sont publics

Nous tenons un registre des défauts trouvés dans Chaser. Chaque entrée porte sa cause racine, sa gravité, et le test qui l'empêche de revenir — la règle interne étant qu'un bug corrigé sans test n'est pas corrigé.

GravitéSensNombre
S1le système affirme quelque chose de faux12
S2une panne réelle qu'aucun signal ne remonte8
S3du code vert mais débranché2
S4fragile, cassera au prochain ajout9

31 défauts enregistrés, dont 30 fermés avec leur test de garde. Le trente-et-unième reste ouvert : sa cause n'est pas établie, et nous préférons l'écrire plutôt que de le déclarer résolu.

Chaque livraison passe une porte de qualité de 87 suites de tests, et la SBOM publie les 112 composants du moteur.

5. Ce que nous ne publions pas — et comment le vérifier quand même

Quatre composants restent fermés : le compresseur, le routeur de modèles, le rappel de règles et les seuils appris. Ce sont les seules pièces dont la copie ferait gagner du temps à un concurrent.

Une zone d'ombre au milieu d'une page de transparence ne vaut rien. Nous ne vous demandons donc pas de nous croire : pour chacun de ces quatre composants, nous publions trois choses qui ne servent à rien pour le copier, et à tout pour nous tenir responsables.

1 — Un engagement scellé

L'empreinte SHA-256 de chaque fichier fermé est publiée et scellée dans un journal chaîné. Conséquence directe : nous ne pouvons pas modifier un seuil après coup pour faire coller un chiffre annoncé. L'engagement est horodaté, et toute modification devient visible. Une empreinte n'apprend rien à un concurrent ; elle apprend l'essentiel à un client sceptique.

2 — Une garantie, formulée comme un invariant

Ce que le composant ne fait jamais. « Le compresseur ne perd aucun signal d'erreur » dit ce qu'un utilisateur a besoin de savoir, sans dire comment il compresse.

3 — Le test public qui prouve la garantie

La garantie n'est pas une promesse commerciale : elle tombe si son test tombe, et ce test tourne dans la porte de qualité à chaque livraison.

Composant ferméCe qu'il ne fait jamais
Compresseur
réduit les grosses sorties d'outils
Perdre un signal d'erreur : une ligne d'échec est conservée, avec ses voisines immédiates.
Routeur de modèles
choisit le modèle le moins cher qui suffit
Descendre sous 97 % de l'utilité d'un routeur parfait — et il bat strictement le hasard, mesuré sur banc.
Rappel de règles
rappelle vos consignes de travail
Réécrire votre demande : la sortie ne contient pas votre prompt, et le rappel est plafonné en taille.
Seuils et politiques
quand compacter, quand tenter moins cher
Appeler le réseau : ces décisions sont calculées localement, sur vos données, qui ne sortent pas.

Le manifeste complet, avec les empreintes et le chaînon de scellement, est public : engagements.json. Un contrôle automatique compare le code livré à cet engagement — s'ils divergent, nous devons republier.

Vérifiez vous-mêmes (hors-ligne)

Notre journal de mesures est scellé dans un arbre de Merkle (RFC 6962, le mécanisme des logs de Certificate Transparency). Vous pouvez vérifier une entrée sans nous faire confiance ni installer le produit :

  1. Téléchargez le vérificateur autoportant (Python stdlib pure, ~150 lignes, lisible en entier) : verifier_preuve.py
  2. Téléchargez un paquet de preuve d'exemple (une entrée réelle de notre journal + son chemin d'inclusion + la racine signable) : preuve_exemple.json
  3. Exécutez : python verifier_preuve.py preuve_exemple.json — le script recalcule les empreintes localement, aucun appel réseau.

Honnêteté oblige : le champ signature est null tant que notre clé Ed25519 de scellement n'est pas en production — la preuve Merkle (inclusion + cohérence append-only) vaut par elle-même, et nous ne prétendons pas à une authenticité que nous n'avons pas encore. Si le vérificateur renvoie "valide": false, publiez-le.

Personne n'a encore vérifié indépendamment ces preuves — soyez le premier. Rejouez le pas-à-pas ci-dessus (10 minutes, Python 3 suffit), publiez votre constat signé de votre nom, où vous voulez, même s'il nous est défavorable : nous le lierons ici. C'est la seule chose qui manque à ces chiffres, et elle ne peut venir que de vous.

Tout le reste — ce que le produit exécute chez vous, ce qu'il envoie, comment nous mesurons, ce que nous cassons — est sur cette page, parce qu'aucune de ces informations ne vous demande de nous croire sur parole.