Traduction automatique. Le texte anglais fait foi. English

vérifier, ne pas faire confiance

Prouvez-le. Attaquez-le vous-même.

Chaque affirmation de ce site a un bouton sur cette page, relié au vrai système en fonctionnement : une base de données en direct avec sécurité au niveau des lignes, la vraie file d'approbation, le vrai coupe-circuit. Pas des enregistrements.

01, isolation des tenants

🔒 le joyau de la couronne · en ligne

Essayez de briser l'isolation des tenants. Regardez-la tenir.

Deux locataires de test, chacun avec une note privée. Alpha possède un outil partagé et y a donné accès à Beta. Quand Beta l'appelle, même en demandant explicitement les données d'Alpha, Postgres ne renvoie rien, car l'outil s'exécute dans le périmètre de Beta. Cela tourne en direct sur une vraie base de données avec sécurité au niveau des lignes et un rôle NOBYPASSRLS. Aucun audit n'a franchi la politique de la base de données ; la seule fuite entre locataires trouvée (juillet) concernait l'historique de conversation conservé hors de la base, et elle est corrigée. Ce n'est pas un script, appuyez sur le bouton.

Ce que cela prouve : une lecture d'outil partagé, entre deux tenants sandbox, ne renvoie rien. Pas : que la mémoire, les caches, les exports ou les tâches d'arrière-plan sont isolés, ni que chaque requête est liée au bon tenant.

tenant Boutil partagé →données du tenant A

B appelle l'outil de A, en demandant explicitement les données de A.
Appuyez sur Run, regardez RLS renvoyer zéro ligne.

Le mécanisme : la vraie politique, pas un schéma :
ALTER TABLE bookings ENABLE ROW LEVEL SECURITY;
ALTER TABLE bookings FORCE  ROW LEVEL SECURITY;          -- even the table owner obeys it
CREATE POLICY tenant_isolation ON bookings
  USING (tenant_id = NULLIF(current_setting('app.current_tenant', true), '')::uuid);

-- Two roles: migrations run as the owner; the runtime connects as pantheon_app
-- (NOBYPASSRLS), so app code cannot switch the policy off. It relies on the right tenant being set per request.
-- Per request:  SET LOCAL app.current_tenant = '<id>'   →   no context ⇒ zero rows.
Une porterie et sa herse. Gravure générée et animée par Runway.

02, action gouvernée

⛔ gouvernance · en direct

Regardez une action à fort enjeu être gouvernée.

Demandez à la sandbox de faire quelque chose qui a des enjeux, publier une annonce publique (tier-3). Elle ne s'exécute pas simplement. Elle est classée, vérifiée contre le kill switch, et mise en attente pour un humain. Vous l'approuvez, puis elle agit. Activez le kill switch et regardez tier-3 refuser avant même de pouvoir entrer dans la file.

coupe-circuit

Ce que cela prouve : une action de démo tier-3 est mise en file d'attente pour une personne, et le coupe-circuit l'arrête. Pas : que chaque action réelle est classée tier-3 quand elle devrait l'être.

tier-3→file d'approbation→humain

Il ne s'exécute pas : il est mis en file d'attente. Envoyez-en un, puis approuvez-le ou rejetez-le.
Actionnez le coupe-circuit pour l'arrêter avant même qu'il puisse être mis en file.

03, évaluation reproductible

éval · en direct · ~15s

L'audit, reproductible. Lancez-le vous-même.

Une évaluation de gouvernance : des cas adverses notés réussite/échec contre le vrai assistant et le bac à sable en direct, maintenant. Pas un badge ; un bouton. Même idée que les audits qui continuent de le durcir, les plus récents étant un audit à 50 agents et un ré-audit sous 14 angles : sonder, puis vérifier.

Ce que cela prouve : cinq cas fixes passent actuellement contre le système en production ; chaque résultat est accompagné d'un reçu (cas, attendu, observé, heure, build). Pas : la robustesse face à des attaques en dehors de ces cinq.

5 cas adversariaux
isolation · gouvernance · sécurité · injection · honnêteté

Notés réussite/échec contre le système en production. Appuyez sur Run.

04, protocole ouvert

🔌 MCP · en direct

Pointez votre propre IA vers la mienne, via le protocole ouvert.

PANTHEON parle le Model Context Protocol dans les deux sens : il peut consommer des outils MCP externes sous gouvernance et, en direct, ici même. il expose ses propres agents gouvernés en tant qu'outils MCP. Soyons francs, brancher MCP, c'est le travail d'un week-end. Ce qui compte, c'est ce qu'il y a autour, et je ne veux pas que vous me croyiez sur parole. Connectez votre propre client et obligez-le à faire ses preuves. Le protocole n'est que la prise. La gouvernance, c'est l'essentiel.

npx mcp-remote https://pantheonlabs.co.uk/mcp --header "Authorization: Bearer <mint a token →>"

Apportez n'importe quel client MCP, Claude Desktop (via mcp-remote), MCP Inspector, Cursor, Cline. Il fonctionne avec un jeton sandbox anonyme à courte durée de vie, émis à la demande.

Puis regardez-le se gouverner lui-même. Posez n'importe quelle question à l'assistant, credits_spent revient à chaque appel, donc rien ne peut passer à découvert. Puis demandez-lui d'effectuer une action : c'est un appel tier-3, et il ne se déclenche jamais, il est mis en attente à la barrière d'autorisation, en attendant un humain. Ce refus, c'est vous qui l'avez provoqué. Ce n'est pas une capture d'écran dans une présentation.

Ce à quoi vous avez accès : un assistant de réponse gouverné + une action « gate demo » volontairement inerte. Une sandbox anonyme à débit limité, sans vraies données, sans actions engageant de l'argent réel. Cherchez un outil qui n'existe pas et vous obtenez la même erreur que pour un outil auquel vous n'avez pas accès, donc les erreurs ne divulguent rien.

05 : le bâtisseur

Tout ce que vous venez d'attaquer, une seule personne l'a construit.

Vous n'avez rien cru sur parole ; vous l'avez exécuté. Si vous voulez des systèmes conçus pour survivre à une page comme celle-ci, parlons-en.