Masquage des données
Les spans capturent les entrées et sorties de chaque opération, y compris les prompts, les réponses, ainsi que les arguments et résultats des appels d'outils. Ces données peuvent contenir des secrets ou des informations personnellement identifiables (PII). Pour limiter ce qui quitte votre environnement, Mistral applique un masquage côté client : les spans sont nettoyées sur la machine qui les produit, avant d'être exportées vers notre plateforme.
Le masquage est activé par défaut dans tous les produits et SDK Mistral. Il est basé sur des expressions régulières et fait de son mieux pour supprimé les motifs reconnus tout en conservant la structure de vos spans. La seule exception concerne l'exécution de votre propre pipeline OpenTelemetry, où vous devez l'activer explicitement (voir ci-dessous).
Le masquage est un filet de sécurité, et non une garantie. La politique par défaut cible les motifs courants de secrets et de PII, mais elle peut manquer des PII libres ou des secrets qui ne correspondent pas à un motif connu. Ne vous fiez pas uniquement à ce mécanisme pour contrôler des données hautement sensibles.
Fonctionnement du masquage
Fonctionnement du masquage
Le masquage s'exécute au niveau de l'exportateur OpenTelemetry, il s'applique donc à chaque span, quelle que soit sa méthode de création. Chaque attribut de span est inspecté et réécrit selon la politique active avant l'envoi du span. Le span original, non masqué, ne quitte jamais le processus.
Comme il s'exécute côté client, le masquage n'ajoute aucune latence supplémentaire et garde les données sensibles hors du réseau.
Politiques de masquage
Politiques de masquage
Chaque surface expose les mêmes trois modes. Les SDK permettent en plus de fournir votre propre politique.
| Mode | Action | Compromis |
|---|---|---|
default (activé) | Orienté contenu. Analyse les valeurs de type chaîne et masque les secrets et PII correspondants (jetons API, e-mails, séquences de type carte bancaire, adresses IPv4), tout en conservant les clés et la structure des attributs. | Conserve la plupart des données d'observabilité. Fonctionne au mieux, donc il peut manquer des motifs hors de l'ensemble connu. |
strict | Orienté clé. Masque les valeurs entières pour les clés sensibles et toutes les valeurs non primitives, puis analyse les valeurs restantes pour détecter les motifs de secrets. | Très prudent : supprime la plupart du contenu des prompts et des réponses. |
none | Aucun masquage. Les spans sont exportées telles quelles. | Fidélité totale. À utiliser uniquement dans des environnements de confiance. |
| Personnalisé (SDK uniquement) | Fournissez votre propre politique ou un callback par attribut qui décide comment chaque valeur est masquée. | Contrôle total. Vous gérez la logique. |
Masquage par source
Masquage par source
| Source | Par défaut | Configurable |
|---|---|---|
| Mistral SDK (Python) | Activé | Complètement (y compris une politique avec callback personnalisé) |
| Mistral SDK (TypeScript) | Activé | Complètement (y compris une politique avec callback personnalisé) |
| Workflows | Activé | Oui sur les workers que vous exécutez ; sur les workers hébergés uniquement dans des déploiements dédiés |
| Vibe Code CLI | Activé | Oui |
| Vibe Work | Activé | Uniquement dans des déploiements dédiés |
| Personnalisé (OTEL) | Désactivé | Complètement (y compris une politique avec callback personnalisé) |
Configurer le masquage
Configurer le masquage
Le masquage est activé par défaut en mode dédié. Utilisez l'argument redaction pour le modifier :
from mistralai.extra.observability import (
configure_telemetry,
AttributeRedactionPolicy,
)
configure_telemetry(client) # politique par défaut
configure_telemetry(client, redaction=AttributeRedactionPolicy()) # strict, orienté clé
configure_telemetry(client, redaction=False) # désactivé
configure_telemetry( # callback personnalisé par attribut
client,
redaction=lambda key, value: None if "email" in key else value,
)Si vous pointez le SDK vers votre propre configuration OpenTelemetry au lieu de le laisser gérer le traçage, le SDK ne contrôle plus l'exportateur et l'argument redaction n'a aucun effet. Appliquez plutôt le masquage dans votre propre pipeline (voir l'onglet Personnalisé (OTEL)).
Pour plus de détails, consultez la section sur le masquage du README du SDK et les exemples d'observabilité.
FAQ
FAQ