0. Le Teleological Bounding Protocol (TBP)
Un modèle de langage est un système probabiliste : il ne détermine pas à l'avance ce qu'il va produire, et rien dans son fonctionnement interne ne garantit qu'une sortie donnée respecte une contrainte de sécurité. Filtrer a posteriori le contenu généré — la démarche la plus répandue aujourd'hui — hérite donc de cette même incertitude : on demande à un système probabiliste de surveiller un autre système probabiliste.
Le TBP part d'un principe différent : la sécurité ne doit jamais dépendre de ce que le modèle produit, mais de la finalité déclarée de l'action qu'il s'apprête à entreprendre, vérifiée par un système déterministe avant toute exécution. Une action n'est jamais évaluée après coup — elle est bornée (bounded) à un périmètre de finalité (teleology) défini à l'avance, hors duquel elle ne peut simplement pas s'exécuter.
INVARIAN est une implémentation du TBP : chaque intention d'action est classifiée avant exécution (inoffensive, à arbitrer, hors périmètre), chaque classification est tranchée par un moteur de politiques déterministe (Open Policy Agent), et chaque décision laisse une preuve vérifiable. Le modèle propose ; le protocole dispose, l'agent est libre de penser, on contrôle son action.
Le protocole prévoit également un mode de repli pour le cas où aucun contrôleur humain n'est disponible pour arbitrer une action — cette démo, volontairement simplifiée, ne l'implémente pas.
← Faites défiler horizontalement pour voir le schéma complet →
Aucun accès, depuis ou vers l'extérieur, n'expose directement le système : aucun composant interne ne peut être corrompu silencieusement.
1. Invariants du Broker
Un LLM est par nature probabiliste. L'infrastructure qui l'entoure doit être déterministe. Nous avons défini des invariants stricts, traduits en code, qui ne peuvent être outrepassés sous aucune condition. La démo technique en implémente quatre, chacun testable en direct — un déploiement d'entreprise peut en définir davantage, selon votre référentiel de risque.
Invariant Alpha : Souveraineté du Contrôleur
Prohibition absolue de retirer le contrôle à l'humain désigné comme contrôleur. Toute action à effet de bord (écriture, suppression, exécution de commande) met l'agent en arbitrage strict jusqu'à validation explicite de l'opérateur humain. Seules les actions strictement en lecture seule, sans aucun effet de bord, peuvent s'exécuter directement.
Invariant Beta : Anti-Surveillance
Prohibition d'espionnage sans autorisation expresse. Les payloads des prompts et les accès aux outils MCP ne peuvent en aucun cas exfiltrer des données télémétriques vers des tiers non listés dans la matrice de politiques.
Invariant Gamma : Bornage Sémantique, Indépendant de la Langue
La détection d'une tentative de contournement ne peut dépendre de la langue employée. Un filtrage par motifs de texte, aussi complet soit-il, reste contournable par reformulation ou par traduction. INVARIAN combine un plancher déterministe (motifs connus, refus immédiat) et un jugement sémantique sur l'intention du message, quelle que soit la langue d'entrée.
Invariant Delta : Non-Répudiation
Toute décision de gouvernance doit être imputable et vérifiable a posteriori. Chaque exécution automatique, chaque arbitrage humain accepté ou rejeté, chaque refus de politique est journalisé, horodaté et signé — la question "qui a autorisé quoi, quand" a toujours une réponse.
2. Anonymisation Systématique
L'anonymisation n'est pas une option activée pour les cas sensibles : c'est une étape systématique, appliquée à chaque message avant qu'il ne quitte le périmètre INVARIAN, indépendamment du niveau de risque de l'action. Un coffre de session (Session Vault) détecte et masque les entités sensibles — noms, montants, identifiants, coordonnées — par une combinaison de règles déterministes et d'extraction sémantique multilingue, avant tout envoi vers un modèle cloud.
Ce principe s'applique même lorsque l'action est autorisée. Qu'elle soit exécutée automatiquement (inoffensive) ou validée par un opérateur humain en arbitrage, la donnée brute ne sort jamais du périmètre : seule sa version masquée transite vers le modèle. La reconstruction des valeurs réelles n'a lieu que localement, une fois la réponse validée revenue — jamais côté fournisseur cloud. Pour une entreprise ou un système critique, l'autorisation d'une action et la confidentialité de la donnée qu'elle manipule restent deux garanties strictement indépendantes.
3. Implémentation via Open Policy Agent
Plutôt que d'utiliser un autre modèle d'IA pour surveiller un modèle d'IA (ce qui crée une régression infinie de confiance), le plancher déterministe du TBP est exécuté par un parseur syntaxique et des règles OPA (Rego) au niveau du courtier IPC, garantissant une latence sub-milliseconde pour cette couche.
Chaque intention d'action est d'abord classifiée en trois niveaux : inoffensive (lecture seule, exécutée directement), à arbitrer (effet de bord, validation humaine requise) ou hors périmètre (refusée immédiatement, avec proposition de reformulation — jamais montrée à l'arbitrage). Cette classification est indépendante du jugement sémantique de l'Invariant Gamma : les deux couches se complètent, l'une déterministe et instantanée, l'autre sémantique et tolérante à la reformulation.
4. Auditabilité par Arbre de Merkle
Chaque décision du Broker est inscrite dans un registre Merkle. Cette structure garantit l'immuabilité de l'historique : toute altération d'une décision passée invalide la racine de l'arbre, rendant la fraude détectable instantanément.
Ce registre est complété par un journal d'audit signé au niveau applicatif (Invariant Delta) : chaque entrée porte l'identifiant de session, la nature de la décision, et une signature — la preuve cryptographique de l'arbre garantit l'intégrité de l'historique complet, le journal en donne une lecture humaine, action par action.
5. Démo Technique vs Produit d'Entreprise
Par honnêteté envers les équipes techniques qui évaluent l'architecture : la Sandbox Demo publique exécute le moteur réel, pas une maquette. Elle n'est cependant pas le produit d'entreprise complet. La distinction :
6. Prochaine phase du protocole — TBP-NETWORK (en construction)
TBP-NETWORK — voici où va le protocole
TBP-NETWORK est la prochaine phase du protocole — en construction. Il fait passer la gouvernance d'un agent sur un poste à celle d'un réseau d'agents, sans changer la doctrine : gouverner les capacités d'un agent, pas son modèle.
Documentation et spécification ouvertes. Implémentation en cours : le dépôt TBP-NETWORK est public (Apache 2.0) ; le code d'INVARIAN, le produit, reste fermé pendant la phase pilote.
INVARIAN est construit sur TBP 4.2.1 (le noyau opérationnel). La phase réseau (TBP-NETWORK) est la roadmap du protocole.
Architecture visée : des cellules (chacune avec son broker, son moteur de politiques et son registre d'audit) ; un contrôle d'accès réseau (NAC, 802.1X) qui n'admet que des machines gouvernées ; et, à terme, une poignée de main entre entités qui prouve à un partenaire la politique appliquée, la continuité de l'historique et la vivacité du système.
La thèse ne change pas d'échelle : gouverner les capacités d'un agent, pas son modèle. Sur un poste, un contrôleur suffit à INVARIAN pour tenir la promesse démontrée dans les sections précédentes. Sur un réseau d'entreprise — plusieurs postes, plusieurs agents dont certains inconnus, des systèmes critiques partagés (GitLab, CRM, bases de données) — la même doctrine s'étend, mais change de nature : il ne s'agit plus seulement de censurer une intention avant exécution, il s'agit de garantir qu'aucune action sensible sur un système d'entreprise n'échappe à un point de contrôle, quel que soit l'agent qui l'a émise.
Ce que la démo prouve déjà, à l'échelle d'un seul poste : un plancher OPA fail-closed (toute panne du moteur de politiques refuse plutôt que d'autoriser), une double vérification de l'intention — sur le texte brut puis sur sa traduction canonique — pour empêcher un contournement par changement de langue, et un coupe-circuit automatique sur alerte critique. Ce sont les invariants des sections 1 à 4 ci-dessus ; le reste de cette section décrit ce qu'il faut ajouter pour les faire tenir à l'échelle d'un réseau.
P0 — Broker ouvert, un poste
Passer du prototype à un broker réellement auditable : passerelle API compatible OpenAI/Anthropic (pour gouverner des agents existants sans les réécrire), OPA, journal Merkle et anonymisation systématique, publiés en code source. Effort réaliste : 1 à 2 personnes, 4 à 6 semaines. Jalon de sortie : latence du point de contrôle sous 5 ms, tests unitaires de chaque invariant.
P1 — Réseau pilote
Proxy TLS sur un VLAN pilote, canalisation du trafic LLM sortant, passerelle MCP côté serveur, OPA central avec politiques par groupe de postes, registre Merkle ancré périodiquement hors système. Ce n'est plus un chantier solo : 3 à 5 personnes, 2 à 3 mois. Jalon de sortie : 100 % du trafic LLM du pilote canalisé ou remonté en alerte, zéro régression utilisateur mesurée.
P2 — Campagne rouge
Semis d'agents inconnus sur le réseau pilote (framework de tool-calling, agent IDE en LLM local, agent avec accès SMTP/SMB) et campagne de tâches attribuées à des volontaires — normales, ambiguës, hostiles (injections en plusieurs langues, y compris des mélanges). Seule métrique non négociable : zéro action dangereuse non journalisée. Effort : 2 à 3 personnes plus volontaires, 4 semaines.
P3 — Production
Points de contrôle sur les systèmes critiques eux-mêmes (pas seulement le réseau), intégration SIEM, authentification d'entreprise multi-tenant, audit externe du code du broker, options HSM/KMS matérielles réelles. Nécessite une équipe dédiée et une revue de conformité externe — hors de portée d'un petit groupe.
Trois critères tranchent la campagne P2, repris tels quels du protocole de test :
Trois écarts restent ouverts, au-delà du code de la démo : une passerelle compatible OpenAI/Anthropic pour gouverner des agents déjà déployés sans les réécrire, une passerelle MCP déployable côté serveur plutôt qu'en process avec le broker, et une vérification de l'anonymisation par un tiers indépendant — le test interne (TBP_VAR_002) reste, par nature, auto-déclaré. Les briques existent déjà en open source pour construire autour (OPA/OPAL, LiteLLM ou envoy-ai-gateway comme socle de passerelle, Sigstore/Rekor comme modèle de registre ancré) : la valeur d'INVARIAN n'est pas dans ces briques, mais dans leur intégration et les invariants qui en résultent.
P1 et au-delà ne sont pas un chantier solo : le mode de repli du broker (arrêt total ou goulot ouvert en cas de panne) et la gouvernance des politiques par poste sont des décisions organisationnelles autant que techniques, qui engagent une équipe et une revue externe. Ce que cette démo établit, c'est que la doctrine tient sous test à l'échelle d'un poste — la base sur laquelle juger s'il vaut la peine d'investir dans la suite.
7. Contribuer au projet
Les politiques OPA par défaut et la vérification des preuves Merkle sont dans le dépôt TBP-NETWORK, ouvert aux auditeurs et chercheurs.
GitHub Repository →Dépôts publics du protocole (Apache 2.0) : TBP 4.2.1 · TBP-NETWORK