Passer au contenu principal
Si votre agent manipule des données clients, les deux endroits où la PII fuit sont les prompts que vous envoyez en amont et les journaux que vous conservez. Cette recette câble une journalisation sans PII de bout en bout : une règle de masquage PII nettoie la requête avant le modèle, le contenu brut correspondant reste hors de votre flux de matches par défaut, et la rétention des journaux de requêtes est bornée afin que rien ne s’attarde. Tout ce qui suit est une configuration d’espace de travail dans la console — votre app continue d’appeler /v1/chat/completions inchangée.
Chaque étape de configuration est soumise à un rôle. Rédiger un guardrail nécessite Developer+ ; changer la rétention ou la résidence de conformité nécessite Admin de l’espace de travail. Lire le flux Matches est ouvert à tout Member.

1. Le pipeline de journalisation sans PII en trois mouvements

Un pipeline sans PII est trois contrôles indépendants, chacun un interrupteur que vous basculez une fois pour tout l’espace de travail :

Masquer à la périphérie

Une règle de guardrail pii redacte les emails, SSNs, cartes et plus en étiquettes typées avant que le modèle amont ne voie jamais la requête.

Ne journaliser aucun contenu brut

Le bascule Log raw content du guardrail est désactivée par défaut, de sorte que le flux de matches enregistre *qu’*une règle s’est déclenchée, jamais la sous-chaîne correspondante.

Borner la rétention

La rétention des journaux de requêtes vaut 30 jours par défaut et est bornée côté serveur à un maximum strict de 180 jours — éphémère par conception.
Le reste de cette page câble les trois ensemble avec un exemple concret.

2. Masquez la PII avant que le modèle ne la voie

Créez un guardrail avec une seule règle pii au stage input et l’action mask. Sur une action mask, chaque correspondance est remplacée par une étiquette typée — un email devient [EMAIL], un SSN devient [SSN] — de sorte que le modèle amont reçoive une requête assainie, pas l’originale.
{
  "type": "pii",
  "stage": "input",
  "action": "mask",
  "entities": ["email", "phone", "ssn", "credit_card", "ip"]
}
Dans la console : Guardrails → Nouveau guardrail, ajoutez la règle ci-dessus (ou partez du preset PII Shield sous la catégorie PII), puis sauvegardez. Attachez-le à une clé API via le menu déroulant Guardrail de la clé, ou définissez-le comme défaut de l’espace de travail afin que chaque clé en hérite.
Vous voulez certaines entités masquées mais d’autres rejetées purement et simplement ? Une seule règle peut porter des overrides par entité — masquer email/phone mais block sur ssn/credit_card — via entity_actions. Voir Guardrails pour le jeu complet d’entités PII, les entités regex personnalisées, et la syntaxe d’override par entité.
Envoyez une requête avec cette clé et l’email est redacté en plein vol :
curl https://api.orcarouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "messages": [
      {"role": "user", "content": "Draft a reply to jane@acme.com about her SSN 123-45-6789"}
    ]
  }'
Le modèle voit Draft a reply to [EMAIL] about her SSN [SSN]. Les valeurs originales ne quittent jamais la passerelle.
Le masquage au stade input est ce sur quoi un pipeline sans PII s’appuie — il nettoie la requête avant l’appel amont. Le masquage au stade output fonctionne sur les réponses non-streaming et streaming (le streaming réécrit chaque chunk sur place), donc vous pouvez aussi redacter la PII que le modèle émet.

3. Gardez le contenu brut hors de vos journaux

Chaque règle qui se déclenche enregistre une correspondance — son type, son action, son stage, et une chaîne de détail. Que la correspondance stocke aussi la sous-chaîne correspondante (l’adresse email réelle, le SSN réel) est conditionné par le bascule Log raw content du guardrail, qui est désactivé par défaut — la posture prudente en matière de vie privée.
Avec Log raw content désactivé, le flux Matches montre qu’une règle pii a masqué un email au stage input, mais jamais l’adresse elle-même. C’est exactement ce que vous voulez pour un pipeline sans PII : pleine auditabilité de ce qui s’est déclenché, zéro PII conservée. Laissez-le désactivé en production ; activez-le par guardrail uniquement pour du triage éphémère. Le bascule est non-rétroactif.
Lisez le flux à Guardrails → Matches (GET /api/guardrail/match, Member). Groupez et filtrez par guardrail, type de règle et action pour voir votre taux de masquage sans jamais faire remonter une valeur réelle. Marquer une correspondance comme faux positif est une action Admin (POST /api/guardrail/match/:id/mark-fp).

4. Bornez combien de temps les journaux de requêtes vivent

La capture de journaux de requêtes est une fonctionnalité de dépannage opt-in, et quand elle est activée, la rétention est bornée :
RéglageValeurComportement
Rétention par défaut30 joursAppliquée quand aucune valeur par espace de travail n’est définie.
Maximum strict180 joursToute valeur plus longue est bornée à la baisse côté serveur.
Vous ne pouvez pas dépasser le plafond de 180 jours — il est appliqué au moment de l’écriture, ce n’est pas une suggestion. Combiné au masquage du §2, même les journaux capturés contiennent du texte assaini, et ils vieillissent sur une horloge fixe.
Traitez les journaux de requêtes capturés comme un levier de débogage, pas un store de données. Activez la capture pendant un incident, gardez la fenêtre de rétention serrée, et appuyez-vous sur le flux Matches (qui ne contient jamais de PII brute quand Log raw content est désactivé) pour l’observabilité en régime permanent.

5. Droit à l’effacement et résidence

Deux contrôles supplémentaires complètent un pipeline conforme :
Une auto-suppression d’utilisateur entre dans une fenêtre de grâce de 30 jours, après quoi la PII est nettoyée et une purge en cascade supprime les journaux de requêtes, les matches de guardrail et les événements firewall de cet utilisateur ensemble — de sorte qu’aucun artefact ne survive à la demande d’effacement.
Définissez la région à laquelle vos artefacts de rapport de conformité sont épinglés (us, eu, uk, ap, cn, global) via PUT /api/compliance/residency (Admin). Les lectures inter-régions d’un rapport sont refusées. Cela épingle la région de l’artefact de rapport — ce n’est pas un géo-épinglage des données d’inférence.

6. Vérifiez avant de déployer

Prouvez que le masquage fait ce que vous attendez avant qu’aucun trafic n’en dépende :
1

Sandbox de la règle

Ouvrez l’onglet Test dans l’éditeur de guardrail, collez un texte d’échantillon avec un email et un SSN d’apparence réelle, choisissez le stage input, et exécutez. La sandbox renvoie le verdict et le texte rendu ([EMAIL], [SSN]) sans appel amont ni dépense de quota.
2

Eval contre un corpus

L’onglet Eval exécute la politique sur des corpus JSONL intégrés ou personnalisés afin que vous puissiez mesurer le taux d’attrape et les faux positifs avant de passer en direct.
3

Confirmez que le flux reste propre

Envoyez une vraie requête, puis ouvrez Matches et confirmez que l’entrée montre que la règle s’est déclenchée avec aucune sous-chaîne correspondante — la preuve que Log raw content est désactivé.

Connexe

Référence Guardrails

Le jeu complet d’entités PII, les entités personnalisées, les overrides par entité, et le flux Matches.

Sécuriser un pipeline RAG

Contrôles de grounding et de PII pour les agents augmentés par récupération.

Preuve SOC 2

Transformez l’activité de guardrail et de firewall en rapports d’audit signés.

Exfiltration de données

Le modèle de menace derrière le fait de garder la PII hors du fil et hors des journaux.