Passer au contenu principal
Quand quelque chose tourne mal avec un agent, la première question est toujours la même : qu’a-t-il réellement fait, et qui a changé la politique qui le lui a permis ? Sans piste, vous ne pouvez répondre à aucune des deux. Vous ne pouvez pas montrer à un auditeur qu’un contrôle était en vigueur le jour en question, vous ne pouvez pas distinguer une vraie attaque d’un faux positif bruyant, et vous ne pouvez pas reconstruire l’exécution qui a laissé fuir la ligne. OrcaRouter enregistre la réponse au fil de l’eau. Chaque prompt filtré, chaque appel d’outil, chaque approbation, et chaque édition de politique atterrit dans un enregistrement interrogeable à portée d’espace de travail — corrélé à l’exécution et à la session de l’agent qui l’a produit. Cette page montre comment utiliser cet enregistrement comme une piste d’audit d’agent ia : d’une seule exécution suspecte à un rapport signé que vous remettez à un auditeur.
Tout ici est à portée d’espace de travail. Les membres voient la piste de leur espace de travail ; rien ne traverse les frontières de tenant. La piste est produite par des fonctionnalités que vous configurez déjà — Guardrails et le Firewall — de sorte qu’activer l’application active la forensique en même temps.

1. Les quatre enregistrements derrière une piste d’audit d’agent ia

L’attribution vient de quatre flux indépendants, chacun corrélé à la même exécution et session de sorte que vous puissiez pivoter entre eux :

Matches de guardrail

Chaque règle de contenu qui s’est déclenchée sur une requête ou une réponse — type de règle, action, surface, et une chaîne de détail. Lisible par les Members.

Events & Runs de firewall

Chaque verdict d’appel d’outil — allow, audit, deny, sanitize, pending_approval (mise en attente d’approbation), et le verdict résolu d’une règle cap_cost — condensé par exécution et session d’agent. Developer+.

Décisions d'approbation

Qui a approuvé ou rejeté chaque appel d’outil mis en attente, enregistré comme une action d’audit.

Historique des changements de politique

Chaque édition de guardrail et de firewall — versionnée, diffable, réversible — plus une ligne d’audit d’espace de travail par changement.
Le tissu conjonctif est l’id d’exécution d’agent et de session. Une correspondance de guardrail et un événement firewall de la même conversation portent la même lignée d’exécution, de sorte que « cette exécution a masqué un e-mail, puis a tenté un fetch que nous avons refusé, puis a été approuvée pour une écriture » se lit comme une seule histoire au lieu de trois journaux déconnectés.

2. Matches de guardrail — ce qui a été filtré (Member)

Chaque fois qu’une règle de guardrail se déclenche, la passerelle écrit une correspondance. Le flux vit sur la page Guardrails (onglet Matches) et est lisible par tout membre d’espace de travail. Chaque correspondance enregistre le type de règle, l’action prise (block / mask / flag / annotate / spotlight), la surface (input / output), une chaîne de détail, et la lignée d’exécution de la requête qui l’a déclenchée. Listez-la, groupez-la par guardrail ou type de règle, filtrez par action, plongez dans une correspondance, ou exportez le flux en CSV.
La sous-chaîne correspondante (l’e-mail réel, le SSN) est enregistrée uniquement lorsque l’interrupteur Log raw content du guardrail est activé — et il est désactivé par défaut, la posture respectueuse de la vie privée. Avec lui désactivé, vous obtenez qu’une règle s’est déclenchée et sa méta-chaîne de détail, mais pas la valeur brute. Activez-le par guardrail quand vous avez besoin de la sous-chaîne pour le triage ; le réglage n’est pas rétroactif.
Une règle bruyante fait partie de la piste aussi. Marquez une correspondance comme un faux positif avec POST /api/guardrail/match/:id/mark-fp (Admin) de sorte que votre signal reste propre et que vos rapports ne sur-comptent pas.

3. Events & Runs de firewall — ce que l’agent a fait (Developer+)

Là où les Matches couvrent le texte, les Events de firewall couvrent les actions. Chaque évaluation d’appel d’outil est journalisée avec son verdict, sa surface, son nom d’outil, et — de manière critique — l’exécution et la session d’agent auxquelles il appartient. Les lectures sur Events, le rollup Runs/sessions, et la trace par exécution requièrent Developer+ ; les flux plus légers Discovered-tools et anomalies sont ouverts à tout Member. La vue Runs & sessions est la bête de somme forensique : elle condense les événements par exécution d’agent en une répartition des verdicts, les outils et modèles distincts que l’exécution a touchés, et les timestamps de première/dernière apparition — la réponse « qu’a réellement fait cet agent » en un seul écran. Au-delà des verdicts statiques, le flux anomalie signale les écarts par rapport à la baseline heure-de-la-semaine apprise de chaque espace de travail (une moyenne glissante sur 14 jours) — pics de débit et de coût, retry_loop, et transitions novel_path — de sorte qu’un motif autorisé-mais-anormal fasse tout de même surface dans l’enregistrement.

4. Décisions d’approbation — qui a dit oui (action d’audit)

Quand une règle se résout en pending_approval, l’appel mis en attente devient une revue hors-bande (voir le flux HITL du Firewall). La décision fait partie de la piste : approuver ou rejeter écrit une ligne d’audit d’espace de travail — firewall_approval_approve ou firewall_approval_reject — nommant l’acteur. Les décisions sont first-writer-wins et idempotentes, et si la règle sous-jacente a changé après la mise en attente, l’enrichissement note que le contexte a changé. Ainsi un appel d’outil mis en attente puis approuvé est entièrement attribuable de bout en bout : l’événement firewall montre la mise en attente, la ligne d’audit montre qui l’a relâché, et les deux corrèlent à la même exécution.

5. Audit des changements de politique — qui a changé les règles

Une piste de comportement d’agent n’est digne de confiance que si vous pouvez aussi prouver quelle était la politique à l’époque — et qui l’a changée. Les Guardrails gardent un historique de versions complet. Chaque création, mise à jour, et suppression écrit une ligne d’historique versionnée dans la même transaction que le changement. Ouvrez History sur un guardrail pour voir chaque version avec auteur et timestamp, diff entre deux, et revert vers une plus ancienne (le revert est enregistré comme une nouvelle version — l’historique n’est jamais muté). Les changements de politique, de règle, et de réglages du Firewall écrivent chacun une ligne d’audit d’espace de travail après le commit du changement — firewall_policy_update, firewall_rule_create, firewall_settings_update, et ainsi de suite — et les changements de niveau d’autonomie (firewall_autonomy_applied / firewall_autonomy_undone) capturent le snapshot de l’état antérieur qui alimente l’annulation en un clic. Les secrets et les blobs de règles ne sont jamais journalisés.
Les deux plans journalisent le changement et gardent la politique réversible. Si une édition de règle a causé une régression, la piste des changements de politique vous dit quelle édition et qui l’a faite — et vous la revenez en arrière sans rien redéployer.

6. Un exemple travaillé : tracer une exécution suspecte

Supposez qu’une exécution soit signalée pour un appel sortant inattendu. Depuis la console, avec une session Developer+ :
1

Ouvrez l'exécution dans Firewall → Runs

Trouvez l’exécution par son id. Le rollup montre chaque outil qu’elle a appelé et le verdict sur chacun — y compris le deny sur l’outil en forme de fetch qui l’a signalée.
2

Pivotez vers les événements

Plongez dans l’événement refusé. Il porte le nom de l’outil, la règle et la raison correspondantes, la surface, et la lignée d’exécution/session — la même lignée que vous utiliserez pour aligner le côté guardrail.
3

Vérifiez ce qui a été filtré sur la même exécution

Ouvrez Guardrails → Matches et filtrez sur cette exécution. Si une règle Secrets Blocker ou PII s’est déclenchée sur le prompt, vous savez maintenant que l’agent s’est vu remettre du matériel sensible avant d’essayer de l’exfiltrer.
4

Confirmez que la politique était en vigueur

Ouvrez History sur le guardrail et les lignes d’audit de la politique firewall. Confirmez que personne n’a affaibli la règle pertinente avant l’exécution — et si quelqu’un l’a fait, vous avez l’auteur et le timestamp.
Une exécution, quatre enregistrements corrélés, aucune archéologie de log-grep. Pour les défenses d’exfiltration elles-mêmes, voir Exfiltration de données et Appels d’outils dangereux.

7. Rapports de conformité signés — une piste qu’un auditeur peut vérifier

Pour une preuve externe, la surface Conformité transforme cette piste en un seul artefact. Parcourir le catalogue de frameworks, les packs, et la préparation est ouvert à tout Member et gratuit ; installer un pack, générer un rapport, passer en production, et définir la résidence des données sont des actions d’Admin d’espace de travail sur un plan payant (server-gated). Un rapport de conformité est signé Ed25519 avec un hash de contenu SHA256 et est publiquement vérifiable — le destinataire le vérifie sans compte OrcaRouter :
EndpointObjectif
GET /api/public/compliance/pubkeyLa clé publique contre laquelle vérifier.
POST /api/public/compliance/verifyVérifier la signature + le hash d’un rapport.
GET /api/public/compliance/share/:tokenUn lien de partage auditeur vers un rapport.
Les rapports s’exportent en CSV / JSON / PDF. Les frameworks incluent soc2, hipaa, gdpr, iso_27001, iso_42001, nist_ai_rmf, pci_dss, l’EU AI Act (eu_ai_act), et l’OWASP Top 10 for LLM Applications (owasp_llm), entre autres — installer un pack matérialise les guardrails et politiques firewall correspondants de sorte que les contrôles sur lesquels vous rapportez soient les contrôles réellement appliqués.
La résidence des données ici est la région de l’artefact de rapport (us / eu / uk / ap / cn / global), définissable via PUT /api/compliance/residency (Admin) ; les lectures inter-régions sont retenues. Elle gouverne où vit l’artefact de preuve — ce n’est pas un geo-épinglage de votre trafic d’inférence.

8. Rétention et le droit à l’effacement

Un enregistrement forensique est borné, pas éternel. Les journaux de requêtes ont par défaut 30 jours de rétention et sont serrés côté serveur à un maximum dur de 180 jours. Quand un utilisateur se supprime lui-même, une fenêtre de grâce de 30 jours s’applique, après quoi sa PII est nettoyée et la cascade purge ses correspondances de guardrail, ses journaux de requêtes, et ses événements firewall — satisfaisant les obligations de droit à l’effacement / DSAR tout en gardant l’historique d’audit agrégé intact.

9. Où aller ensuite

Référence des Guardrails

Matches, journalisation de contenu brut, historique de versions, et l’ensemble de règles complet.

Référence du Firewall

Events, Runs, anomalies, approbations, et le journal d’audit.

Agence excessive

Contraindre ce qu’un agent est autorisé à faire avant qu’il n’agisse.

Modes d'application

Audit, shadow, et observe — comment construire une piste avant d’appliquer.