Scrydon

Prévention des fuites de données (DLP)

Détection des données personnelles gérée par l'organisation, vérification des hallucinations, regex et validation JSON comme garde-fous de workflow.

La couche DLP est une porte de workflow configurable. Elle s'exécute chaque fois qu'un workflow souhaite valider le contenu en entrée ou en sortie par rapport à une politique définie — détection des données personnelles gérée par l'organisation, scoring d'hallucination, validation JSON ou correspondance regex.

Cette page documente le bloc Guardrails et les quatre types de validation qu'il prend en charge.

Quand l'utiliser

Emplacements typiques :

  • Porte d'entrée — analyser un message utilisateur à la recherche de données personnelles avant qu'il n'atteigne un LLM.
  • Porte de sortie — analyser une réponse LLM à la recherche de données personnelles avant de la renvoyer à l'utilisateur.
  • Porte d'hallucination — scorer une réponse par rapport à une base de connaissances avant de l'exposer.
  • Porte de format — vérifier qu'un LLM a produit du JSON valide / correspond à une regex avant de le transmettre en aval.

Le bloc Guardrails fait partie du produit scrydon:guardrails — voir Vendeurs → Scrydon.

Quatre types de validation

TypeVitesseCoûtIdéal pour
Détection des données personnellesSelon les règles de l'organisationSelon les détecteurs activésValider le contenu par rapport à la politique DLP de l'organisation
HallucinationCoût LLMPar appelAncrage des sorties dans une base de connaissances
Validation JSON~1msAucunConformité stricte au schéma
Correspondance regex~1msAucunApplication de patterns personnalisés

Détection des données personnelles

L'opération PII Guardrails gouvernée utilise l'ensemble de règles maintenu par les administrateurs de l'organisation dans Paramètres → Gouvernance → DLP. Un workflow ne peut pas choisir une autre liste d'entités, une autre méthode de détection ni une autre action d'application. L'analyse des capacités et la validation des workflows partagent ainsi une seule politique.

Lorsqu'une règle correspond, la validation Guardrails échoue et le workflow suit sa branche d'échec. Le résultat contient les métadonnées de la règle et les positions de caractères nécessaires au routage et au diagnostic, mais jamais le texte brut correspondant :

{
  "passed": false,
  "evaluated": true,
  "validationType": "pii",
  "policyMode": "enforce",
  "findings": [
    {
      "ruleId": "email-address",
      "entityType": "EMAIL",
      "detector": "builtin",
      "confidence": "HIGH",
      "channel": "tool_call",
      "start": 8,
      "end": 21
    }
  ]
}

La politique doit être disponible, activée et inclure le canal tool_call. L'exécution directe en dehors de l'hôte gouverné de Scrydon est refusée, car elle ne peut pas charger la politique d'organisation de confiance.

Détection des hallucinations

Valide une sortie LLM par rapport à une base de connaissances en utilisant RAG et le scoring LLM :

La sortie LLM est reçue.
La base de connaissances est interrogée pour les K chunks les plus pertinents via la recherche par embeddings.
Un LLM score l'ancrage sur une échelle de 0 à 10 par rapport au contexte récupéré.
Le bloc passe si le score atteint le seuil, échoue sinon.

Échelle de confiance :

ScoreSignification
0–2Hallucination totale — contredit ou non supporté par le contexte
3–4Faible confiance — affirmations importantes absentes du contexte
5–6Confiance moyenne — partiellement supporté
7–8Haute confiance — majoritairement supporté, lacunes mineures
9–10Entièrement ancré — toutes les affirmations vérifiées par rapport au contexte

Exemple de sortie

{
  "passed": false,
  "score": 2,
  "reasoning": "The claim about Q4 revenue is not mentioned in any knowledge base document",
  "error": "Low confidence: score 2/10 is below threshold 3"
}

Configuration

Le bloc Guardrails expose ces champs dans l'éditeur de workflow :

ChampTypeOptions
Contenu à validerChamp texte longTexte libre ou câblé depuis un bloc amont
Type de validationListe déroulanteJSON valide, Correspondance regex, Détection de données personnelles
Motif regexChamp texteObligatoire pour Correspondance regex

Le choix des règles PII, la configuration des détecteurs et le mode de la politique sont des paramètres de l'organisation, et non des entrées du bloc Guardrails.

L'intégration Guardrails sous-jacente expose également l'outil de vérification des hallucinations avec des paramètres de modèle et de base de connaissances. Il ne figure pas actuellement dans la liste déroulante des types de validation du bloc de workflow.

Association avec le bloc Evaluator

Le bloc Guardrails est fail-closed (fermé en cas d'échec) — en cas d'échec, le workflow suit la branche d'échec. Le bloc Evaluator est scoring — il renvoie un score sur lequel le workflow peut brancher comme il le souhaite. Utilisez Guardrails pour des portes strictes, Evaluator pour des vérifications de qualité qui pilotent des tentatives de reprise ou des chemins de secours.

Guardrails peut s'exécuter sur tout texte en entrée ou en sortie — il n'est pas spécifique aux LLM. Validez par exemple un document téléversé par un utilisateur à la recherche de données personnelles avant de l'ingérer dans une base de connaissances.

Comment nous mesurons le moteur DLP de la plateforme

Au-delà du bloc Guardrails, Scrydon applique la politique DLP de l'organisation aux appels de capacité couverts, notamment les complétions LLM, la transcription et les embeddings. L'exécution gouvernée des outils applique séparément la classification de confiance des destinations et bloque les violations de non-écriture vers un niveau inférieur lorsque le mode de classification est Enforce. Les affirmations sur la qualité de détection sont faciles à formuler et difficiles à vérifier, c'est pourquoi nous mesurons le moteur partagé de la même manière que nous mesurons la qualité de la récupération : sur un benchmark public tiers, avec le harnais en CI comme porte de publication — une version qui régresserait en dessous des seuils ne sera pas livrée.

Mesurée sur une tranche anglophone de 2 661 prompts de ai4privacy/pii-masking-300k (révision de dataset épinglée, évaluée au moment du build — le dataset lui-même n'est jamais redistribué) plus une banque d'escalade de classification interne :

VérificationRésultatSeuil de publication
Rappel des données personnelles (types d'entités gradués)95,7 %≥ 90 %
Précision des données personnelles79,8 %≥ 75 %
Égress de classification — rappel au niveau confidentiel100 %≥ 95 %
Égress de classification — rappel au niveau secret100 %≥ 99 %

Par type d'entité gradué : email 99,6 %, adresse IP 99,5 %, numéro de téléphone 86,1 % de rappel.

Ce que nous ne prétendons pas. Le rapport comporte une section obligatoire hors périmètre listant les catégories de détection que le moteur ne couvre pas, avec des preuves mesurées plutôt que le silence : noms de personnes en texte libre (domaine NER — l'heuristique regex mesurée à 14 % de rappel, nous ne le notons donc pas), formats libres de date de naissance (3 % — le moteur revendique ISO 8601 uniquement), et identifiants nationaux génériques (27 % — le moteur revendique des formats juridictionnels spécifiques tels que US_SSN ou BE_NRN, pas des suites de chiffres arbitraires). Chacun est documenté dans l'artefact de rapport signé afin que les auditeurs voient le périmètre, et non un chiffre marketing.

Politique DLP de l'organisation et appels LLM bloqués

L'opération Guardrails des workflows et les appels LLM de la plateforme utilisent la même politique DLP de l'organisation (Paramètres → Gouvernance → DLP). Lorsque cette politique est en mode Enforce et que l'analyse d'une entrée LLM produit une détection — correspondance d'un motif PII/secret ou classification d'injection de prompt — l'appel est bloqué avant d'atteindre le fournisseur de modèle :

HTTP 422 Unprocessable Entity

{
  "error": "llm_blocked_by_dlp",
  "detail": "Your input contained content that could not be processed.",
  "dlpReason": "input_blocked"
}
  • detail est le message d'entrée bloquée configuré par l'administrateur dans l'éditeur de politique DLP.
  • dlpReason distingue un blocage d'entrée (input_blocked) d'un refus fail-closed du classificateur ou du chargement de politique (classifier_unavailable, policy_not_loaded).
  • Les étapes d'agent de workflow échouent avec Blocked by DLP policy: <message> ; les appels SDK et API reçoivent le refus de politique typé sur les opérations Base Platform unaires et streaming.
  • Un 422 signifie que le blocage est déterministe — réessayer la même entrée re-bloque. Examinez la règle concernée dans Paramètres → Gouvernance → DLP → Hits ou ajustez le mode de la politique.

Le classificateur sémantique d'injection de prompt est activé lorsqu'une organisation ne s'en est pas explicitement désinscrite. Dans Paramètres avancés, les administrateurs peuvent également configurer la politique pré-action canonique : une liste d'autorisation ou de refus des destinations externes et des rangs maximaux de classification des données par catégorie d'outil.

Voir aussi

Sur cette page

Sur cette page