Vérifiez que ça fonctionne
zn-gate check montre que zn empêche votre agent de programmation de lire un secret : un fichier .env de test contenant une fausse clé est bloqué et un fichier ordinaire est autorisé. Rien n'est envoyé ailleurs.
Après avoir installé zn-gate pour votre agent de programmation, ouvrez un nouveau terminal et lancez :
npx -y zn-gate check
(ou zn-gate check si vous l'avez installé avec npm install -g zn-gate).
Ce que fait la commande
zn-gate crée un dossier temporaire avec deux fichiers : un fichier .env contenant une fausse clé et un README.txt ordinaire. Pour chaque agent configuré pour votre utilisateur, il demande au hook de zn d'autoriser l'agent à lire chaque fichier, de la même manière que votre agent le fait. Un agent n'est considéré comme protégé que si le fichier .env est bloqué et que le fichier ordinaire est autorisé.
- Claude Code : zn-gate vérifie le plugin zn-gate, ou les hooks de
zn hooks install claude-code. Il remarque aussi quand le plugin est désactivé et quand un réglage de Claude Code désactive les hooks. - Codex CLI et Cursor : zn-gate vérifie les hooks de
zn hooks install. - Ce qu'il exécute : pour Claude Code, Codex CLI et Cursor, il lance le hook installé, exactement comme le ferait votre agent. Un hook qui ne peut pas démarrer, ou qui bloque tous les fichiers parce qu'une partie de zn manque, est signalé comme NOT protected. Sous Windows, un hook installé sous la forme
zn hook <agent>n'est pas lancé : zn-gate vérifie à la place les règles de zn pour cet agent, et le précise. - OpenCode : zn-gate vérifie les règles de zn. Le plugin de zn s'exécute à l'intérieur d'OpenCode, donc il n'est pas lancé ici.
- Ce qu'il laisse de côté : il vérifie la configuration de votre utilisateur. Une configuration faite pour un seul projet est listée mais non exécutée.
- Rien n'est modifié : rien n'est envoyé sur le réseau, aucun agent n'est lancé et aucun réglage ne change. Le dossier est supprimé à la fin.
Ce que vous verrez
zn-gate check: does zn stop your coding agent from reading a secret?
OK Claude Code blocked the .env file and allowed the ordinary file. Your agent would be told:
"zn: ..."
- Codex CLI zn is not set up for this agent. To protect it, run `zn hooks install codex` in your own terminal.
...
Your agent cannot read secret files such as .env through these tools. Nothing was sent anywhere.
- OK : zn protège cet agent. Le texte entre guillemets est ce que votre agent reçoit quand il essaie de lire le fichier.
- - : zn n'est pas configuré pour cet agent, ou seulement pour un projet. La ligne donne la commande qui le configure pour votre utilisateur.
- X ... NOT protected : zn est configuré mais ne protégerait pas l'agent. La ligne indique pourquoi et ce qu'il faut lancer pour corriger.
zn-gate check ne se termine avec le code 0 que si tous les agents configurés pour votre utilisateur sont protégés.
Si votre agent a besoin d'une valeur de .env
zn bloque le fichier parce qu'il contient des valeurs secrètes. Pour permettre à votre agent de les utiliser sans les voir, déplacez les valeurs dans le coffre de zn :
zn env shadow .env
Le fichier conserve des marqueurs comme __ZN_API_KEY__ à la place des valeurs, et zn ne remet les vraies valeurs que dans les commandes que vous autorisez. Pour aller plus loin : le coffre.
Liens connexes
zn-gate testlance l'autotest intégré aux règles de zn (51 exemples). Il vérifie les règles, pas la configuration de votre agent.zn-gate statusaffiche ce que votre configuration envoie sur le réseau (rien, sauf si vous avez activé la vérification optionnelle dans le cloud).