Skip to main content
Le moteur de politiques est indépendant du LLM. Aucun chemin d’exécution n’atteint un outil sans le traverser.

Une politique fermée par défaut

DEFAULT DENY signifie qu’ajouter un nouvel outil ne l’autorise pas. Une règle ALLOW explicite est nécessaire.

Ordre de décision

NEVER est irrévocable. Une approbation humaine ne le lève pas et une règle ALLOW plus spécifique ne gagne pas contre lui. Depuis la v1.9, cette décision est prise par le noyau : la politique est évaluée sur une copie figée de la proposition, l’approbateur en reçoit une autre, et une exception de la politique ou de l’approbateur vaut refus. L’outil ne s’exécute qu’avec le permis qui en résulte, lié aux arguments exacts.

Variables de décision

Les gardes peuvent lire l’état et les propriétés de la requête courante : L’échelle de risque intégrée est ordonnée : NONE < INFO < LOW < MEDIUM < HIGH < SEVERE < CRITICAL.

Gardes indéterminées

Les politiques utilisent une logique trivalente. Un chemin absent n’est pas traité comme un faux rassurant. Cette convention échoue fermé tout en conservant la logique forte de Kleene pour les expressions composées.

Gardes de provenance (v1.9)

Une garde peut lire d’où vient une valeur, pas seulement ce qu’elle vaut :
UNTRUSTED, TRUSTED, LLM_DERIVED, ATTESTED et ORIGIN sont détaillées dans Provenance des valeurs. tools.<outil>.in_doubt est posé par l’exécution durable quand une reprise n’a pas pu trancher si l’action a eu lieu.
Un identifiant nu non résolu est une constante symbolique. Préférez un chemin pointé comme maintenance.window pour les gardes critiques ; l’analyseur signale les noms simples suspects.

Écrire des politiques testables

1

Déclarez le défaut

Utilisez DEFAULT DENY pour que la surface permise reste explicite.
2

Autorisez le nominal

Ajoutez la condition minimale sous laquelle l’action peut être proposée.
3

Écrivez les interdits absolus

Réservez NEVER aux situations qu’aucune approbation ne doit lever.
4

Déclarez la sortie humaine

Utilisez REQUIRE APPROVAL pour les risques acceptables mais non autonomes.
5

Gardez la provenance des cibles

Pour toute cible venue du modèle, d’un outil ou d’un message, ajoutez NEVER outil WHEN UNTRUSTED(cible) AND NOT ATTESTED(cible, validateur).
6

Ajoutez un contre-factuel

Créez un SCENARIO où l’action serait utile mais doit être bloquée. Écrivez EXPECT NEVER CALL outil et EXPECT BLOCKED outil.

Garder sur un jugement

ALLOW send WHEN judge.kind.p >= 0.90 : la politique lit la calibration, pas une confiance déclarée.

Vérifier les théorèmes

Examinez routes interdites, replis et surface LLM.

Chaîne de qualité

Intégrez les contrôles dans votre boucle de livraison.