StructureClerk

Où StructureClerk se situe face à AARM

StructureClerk ne revendique aucun niveau de conformité AARM.

StructureClerk est membre du groupe de travail technique AARM du Cloud Security Alliance, depuis le 18 septembre 2026.

AARM (Autonomous Action Runtime Management) est une spécification ouverte de sécurité runtime pour agents IA, publiée sur arXiv en février 2026 puis donnée au Cloud Security Alliance, où elle est devenue un groupe de travail technique.

Un système AARM intercepte les actions avant exécution, les évalue contre une politique et l'intention contextuelle, applique une décision d'autorisation et enregistre des reçus infalsifiables liant action, contexte et résultat.

C'est la catégorie à laquelle StructureClerk appartient. Cette page reprend les neuf exigences une par une, et celles qui ne sont pas satisfaites s'affichent exactement comme les autres.

ExigenceNiveauÉtatCe que fait StructureClerk
R1Interception avant exécutionCoreMUSTNon satisfaite

Le moteur est consultatif. Il rend une décision ; il ne s'interpose pas dans le chemin d'exécution et ne bloque rien. C'est un choix de conception, expliqué plus bas.

R2Accumulation de contexteCoreMUSTNon satisfaite

Non satisfaite. Le contexte est évalué par requête : juridictions, secteur, destination, enregistrements déclarés auprès du régulateur, profil d'organisation. Rien ne s'accumule d'une action d'agent à la suivante. C'est une lacune, pas une limite de conception : le service peut tenir le contexte d'une session d'agent et le passer en entrée, la fonction de décision restant une fonction pure de ses arguments.

R3Évaluation de politique avec alignement d'intentionCoreMUSTPartielle

L'évaluation de politique est là : une table de règles versionnée, une seconde passe juridictionnelle qui ne peut que resserrer une décision, et un seuil du doute qui fait escalader quand la confiance est basse. L'alignement d'intention, non.

R4Cinq décisions d'autorisationCoreMUSTPartielle

Quatre sur cinq. Le moteur rend ALLOW, APPROVE, DENY et ESCALATE. MODIFY n'existe pas.

R5Reçus infalsifiablesCoreMUSTSatisfaite

Une empreinte SHA-256 du couple requête et décision, une signature Ed25519, un chaînage de hachage, des ancres RFC 3161, et une vérification publique gratuite et sans compte.

Verrouillée par tests/authority-engine.test.mts

R6Liaison d'identitéCoreMUSTPartielle

L'identifiant d'agent fourni par l'appelant entre dans le hash signé, donc la décision s'y engage. StructureClerk ne vérifie pas que cet identifiant appartient à l'agent qui le présente : il atteste de ce qui lui a été présenté. Lier n'est pas authentifier.

R7Suivi de distance sémantiqueExtendedSHOULDNon satisfaite

Aucune notion de distance sémantique.

R8Export de télémétrie (OpenTelemetry)ExtendedSHOULDNon satisfaite

Aucun export OpenTelemetry dans les sources.

R9Application du moindre privilègeExtendedSHOULDNon satisfaite

L'application du moindre privilège suppose un point d'application. Il n'y en a pas.

États des exigences dérivés le 19 septembre 2026.

Pourquoi R1 n'est pas satisfaite

StructureClerk est un point de décision, pas un point d'application. L'application appartient à l'infrastructure qui fait tourner l'agent : StructureClerk décide, votre infrastructure applique. Intégrer l'application au service contredirait la thèse produit, donc R1 n'est pas une lacune en attente d'implémentation. La façon de la satisfaire sans se contredire est un point d'application de référence qui tourne dans votre propre infrastructure et appelle l'API de décision avant chaque appel d'outil. Ce travail est prévu et n'est pas livré.

Travail en cours

  • Une cinquième décision, MODIFY : l'action autorisée sous forme contrainte, avec la transformation exigée rendue à l'intérieur du hash signé.
  • Un contexte de session accumulé par le service et passé en entrée à la fonction de décision, qui reste pure.
  • Une liaison d'identité vérifiable, avec l'énoncé explicite de ce qui est vérifié et de ce qui n'est qu'attesté.
  • Un alignement d'intention déclaratif et déterministe. Aucun modèle de langue n'entre dans la fonction de décision.
  • Un point d'application de référence, publié séparément et tournant dans votre infrastructure, qui échoue fermé quand l'API de décision est injoignable.

Aucune date de listing n'est promise. La soumission n'est possible qu'une fois le travail ci-dessus fait, et la revue prend le temps qu'elle prend.

Sources, et ce qui a été relu

Les intitulés et les niveaux des deux premières colonnes ont été relus contre la spécification publiée le 20 septembre 2026, et confirmés. La dernière colonne, ce que fait StructureClerk, est dérivée de ce dépôt et verrouillée par des tests. Lisez la spécification aux liens ci-dessous plutôt que de croire cette page sur parole.