Une règle écrite ne suffit pas
Voici les règles que mon IA ne peut pas enfreindre, et comment je les verrouille.
Mon harnais repose sur des règles écrites en texte simple. L’IA les lit à chaque session et les suit presque toujours. Presque. Pour la plupart des règles, un raté de temps en temps n’est pas grave : je corrige et j’ajoute une ligne. Pour quelques-unes, un seul raté est un raté de trop. Celles-là, je les double avec du code qui bloque l’action.
Pourquoi une règle écrite ne suffit pas
Une règle écrite est une consigne parmi des milliers de mots. Au fil d’une longue session, le contexte se remplit, se résume, et une consigne peut passer au second plan. Un e-mail ou une page web que l’IA lit peut contenir des instructions qui la détournent. Et un modèle peut se tromper avec beaucoup d’assurance.
Je l’ai appris avec une vraie erreur. Ma règle disait déjà de me montrer les e-mails avant de les envoyer. Un jour, j’ai refusé une commande qui envoyait des relances, et j’ai découvert plus tard qu’elle avait déjà tourné : 56 e-mails étaient partis. La règle était écrite. Elle n’a rien empêché.

Mes lignes rouges, et comment elles sont verrouillées
Ne jamais contacter une entreprise exclue
La règle est écrite dans les fichiers de règles de mes deux outils, Claude Code et Codex. Elle est doublée d’un hook : un petit script qui se lance avant chaque action qui envoie ou prépare un e-mail. Si le texte cite une entreprise de ma liste d’exclusion ou une adresse qui lui est associée, l’action est bloquée. Le même script tourne dans les deux outils.
Le script a ses limites, et il le dit lui-même en commentaire : il compare du texte, il ne peut pas savoir qu’une personne travaille pour cette entreprise. La règle écrite reste donc nécessaire : elle demande à l’IA de vérifier les liens connus avant d’écrire. Le code attrape l’évident, la règle couvre le jugement. Et quand un lien est confirmé, il devient une ligne de plus dans la liste.
Ne jamais publier sans mon accord
Dans certains projets, une commande de publication ou de déploiement est simplement refusée par les permissions de l’outil. L’IA peut tout préparer, tester et vérifier. La mise en ligne passe par moi.
Les secrets ne passent pas par la conversation
Mes clés d’API sont rangées dans le trousseau de mon Mac. Les scripts les lisent directement, et elles n’apparaissent jamais dans un fichier ni dans l’échange avec l’IA. Elle ne peut pas afficher ce qu’elle n’a jamais vu.
Un verdict ne peut que devenir plus prudent
Dans MesAmendes, mon app qui vérifie les amendes routières, le modèle propose un verdict. Du code le confronte ensuite aux données publiques, et ce code peut seulement rendre le verdict plus prudent, jamais plus favorable. Même si le modèle se trompe, il ne peut pas promettre à quelqu’un que son amende sera annulée.
Comment trier vos règles
Pour chaque règle, posez une question : si l’IA l’enfreint une fois, est-ce grave et irréversible ?
- Non : la règle reste en texte. Le style, le format, l’ordre des étapes, le choix du modèle. Un raté se corrige.
- Oui : la règle est verrouillée par du code. Un message envoyé, un paiement, une suppression, une mise en ligne, un secret affiché.
Chez moi, la deuxième liste tient sur les doigts d’une main. C’est voulu : chaque verrou ajoute une friction, et on ne verrouille que ce qui le mérite.
Quatre façons de verrouiller
- Les permissions de l’outil : interdire certaines commandes, comme publier ou supprimer. C’est le plus simple, quelques lignes de réglages.
- Les hooks : un script lancé avant une action, qui la bloque si elle enfreint la règle.
- Ne pas donner l’accès : si l’IA n’a pas la clé, elle ne peut pas s’en servir. Un brouillon qui attend votre clic plutôt qu’un envoi direct.
- Des contrôles dans le code : des tests qui doivent passer, une vérification qui ne peut qu’ajouter de la prudence.
Attention : chaque outil a ses propres réglages. Les permissions de Claude Code ne s’appliquent pas à Codex, et inversement. Une ligne rouge doit être verrouillée dans chaque outil qui peut la franchir.
Le texte et le code se complètent
Je garde la règle écrite même quand le code la verrouille. Elle explique pourquoi la limite existe, et elle couvre les cas que le code ne voit pas. Elle dit aussi quoi faire quand un verrou bloque : prévenir, sans reformuler la demande pour passer à côté. Le texte guide l’IA dans presque tous les cas, et le code tient la ligne dans ceux qui comptent.
