Profils et politiques
Un profil décide quels détecteurs sont actifs. Il y en a trois :
| Masqué | balanced (par défaut) |
max |
secrets |
|---|---|---|---|
| Secrets : clés d’API, jetons, mots de passe, clés privées | ✅ | ✅ | ✅ |
Les valeurs des colonnes et des champs secrets (password, api_key, reset_token…) dans les tableaux et le JSON |
✅ | ✅ | ✅ |
| Vos propres termes | ✅ | ✅ | ✅ |
| Vos propres reconnaisseurs | ✅ | ✅ | ✅ |
| Les valeurs déjà présentes dans le coffre-fort | ✅ | ✅ | ✅ |
| Données personnelles : adresses e-mail, numéros de téléphone, IBAN, numéros de carte, numéros de TVA, adresses IP publiques, adresses Bitcoin | ✅ | ✅ | ❌ |
| Numéros d’identité nationaux et numéros fiscaux (par pays) | les pays de id_regions |
tous les pays | ❌ |
| L’identité de cette machine : votre nom d’utilisateur dans les chemins, le nom d’hôte, l’auteur git et le domaine de son entreprise | ✅ | ✅ | ❌ |
Adresses IP privées (10.x, 192.168.x…) |
❌ | ✅ | ❌ |
Chaque valeur des tableaux, du JSON et des paires key=value qu’affiche un outil (mode données strict) |
❌ | ✅ | ❌ |
| Noms et adresses postales, avec le modèle local de noms facultatif | dans vos prompts, vos pièces jointes et le texte des images | partout | ❌ |
| Ce qu’aucun motif ne trouve, avec le relecteur local facultatif | quand il est activé | quand il est activé | quand il est activé |
| Le texte des images, avec la reconnaissance de texte facultative | masqué | non envoyé | masqué |
| PDF, et images sans reconnaissance de texte | envoyés, et signalés | non envoyés | envoyés, et signalés |
balancedconvient à la plupart des travaux sur du code. C’est le profil par défaut.maxajoute les adresses IP privées et les numéros d’identité de tous les pays, active le mode données strict (chaque valeur d’un tableau qu’affiche un outil est masquée, même un ID ou un état), cherche les noms partout quand le modèle local est installé, et refuse d’envoyer une requête qui contient une image ou un PDF. L’erreur indique quoi faire : retirer l’image de la conversation (dans Claude Code,/rewind), ou passer àbalanced. Un de vos projets peut envoyer les images avec leur texte masqué, avecimages: mask.secretsne masque que les secrets et vos propres termes. Les données personnelles et votre identité passent. Choisissez-le quand les fausses alertes sur les données personnelles vous gênent.
Choisir un profil
Section intitulée « Choisir un profil »- Quand vous faites passer vos agents par Latet pour de bon :
latet global-install --profile max. - Dans le tableau de bord : la page Règles. Le changement s’applique aussitôt aux nouvelles requêtes, sans redémarrage.
- Dans
config.yaml: réglezprofile: max, puis lancezlatet reloadpour l’appliquer sans redémarrage.
Réglage fin
Section intitulée « Réglage fin »Au-delà du profil, la page Règles du tableau de bord et config.yaml vous permettent de choisir :
pii: les types de données personnelles à détecter, par exemple[EMAIL, IBAN]. La liste remplace le choix du profil : un type qu’elle omet n’est pas détecté, y compris les numéros d’identité deid_regions(et ceux de tous les pays dansmax). S’il est omis, chaque type qu’active le profil est détecté. Dans vos réglages pour un projet,piiajoute des types aux types globaux.phone_regions: les pays dont les numéros de téléphone sont reconnus sans préfixe international (par défautIT,US,GB).include_private_ips: true: masquer les adresses IP privées enbalancedaussi.data:strictactive le mode données strict enbalancedet ensecretsaussi,normalle désactive enmax. S’il est omis, c’est le profil qui décide.disabled_secret_rules: les règles gitleaks à désactiver, commegeneric-api-key.identity: désactiver le masquage de l’identité de cette machine, ou en écrire vous-même les valeurs.
Chaque clé figure dans la référence de la configuration.
Politiques
Section intitulée « Politiques »Une politique décide de ce qu’il advient d’un type de valeur une fois qu’il est détecté. La politique
par défaut est mask :
| Politique | Ce que voit le modèle | Ce que vous recevez en retour |
|---|---|---|
mask (par défaut) |
Une valeur factice : +44 20 3318 4452 |
L’original : +44 20 7946 0958 |
redact |
Un marqueur fixe : [REDACTED:PHONE] |
Le marqueur. Rien n’est remis en place : un fichier que l’agent écrit contient donc lui aussi [REDACTED:PHONE] |
allow |
L’original, inchangé | L’original |
Définissez une politique par type dans config.yaml, ou sur la page Règles du tableau de bord :
policies: PHONE: redact IP_ADDRESS: allowLes noms des types sont ceux que le tableau de bord affiche à côté de chaque valeur masquée, comme
EMAIL, PHONE, IBAN, PASSWORD, ou le type que vous avez donné à un terme personnalisé. Les
types sans politique sont masqués.
redact convient aux valeurs dont le modèle n’a jamais besoin, pas même sous forme factice. Cela
fonctionne dans un seul sens : le modèle reçoit le marqueur, et Latet ne remet jamais l’original en
place dans les réponses ou les fichiers. Que Latet conserve l’original ou non dépend de la façon dont
la valeur a été trouvée :
- Une valeur trouvée par les détecteurs, y compris vos termes et vos reconnaisseurs, n’est pas conservée.
- Une valeur trouvée par le relecteur local, ou par vous dans le Relecteur en direct, est conservée malgré tout : scellée dans le coffre-fort, avec une valeur factice qui lui est propre et qui n’est pas envoyée. Latet la retrouve ainsi partout où elle apparaît, et la caviarde là aussi.
Une valeur de plus de 16 384 caractères, comme toute une chaîne JSON en
mode données strict, est caviardée quelle que soit la
politique de son type, sauf si ce type est allow : elle est trop longue pour que le coffre-fort la
garde, elle n’est donc jamais remise en place, et un fichier que l’agent écrit à partir d’elle
contient le marqueur.
Listes d’autorisation
Section intitulée « Listes d’autorisation »Quand Latet masque quelque chose qui n’est pas sensible (un faux positif), dites-lui de ne pas toucher à cette valeur :
allow_values: - demo@northwind-legal.com # exact value, any letter caseallow_patterns: - "test_[0-9a-f]{16}" # RE2 regular expression, matched against the whole valueDans le tableau de bord, vous pouvez le faire en un clic : ouvrez une requête, cliquez sur la valeur masquée et choisissez Non sensible : toujours autoriser. L’action inverse, Toujours masquer, ajoute la valeur comme terme personnalisé. Dans une requête d’un projet, choisissez d’abord si cela s’applique à Ce projet ou Partout.
Chaque clic de ce genre ajoute une valeur, et la liste grandit. Sur la page Règles du tableau de
bord, l’onglet Valeurs autorisées la montre en tableau, valeurs et motifs ensemble avec leur
genre : cherchez-y, filtrez-la, ouvrez une ligne pour la modifier (le panneau d’un motif l’essaie
sur une valeur), ou sélectionnez des lignes et supprimez-les. Exporter et Importer déplacent la
liste en CSV (kind,value) ; une importation ajoute ce qui est nouveau et, comme elle laisse passer
des valeurs, ne l’applique que si vous cochez Les appliquer aussi.
Le nom de Latet reste toujours en clair : c’est l’outil dont parle l’agent, jamais une de vos valeurs.
Pour essayer vos règles sur un texte sans rien envoyer, collez-le dans le Banc d’essai du tableau de bord.
En mode client
Section intitulée « En mode client »En mode client (Claude Code), le masquage a lieu dans le plugin, avec le même profil, les mêmes politiques et les mêmes listes d’autorisation. Le daemon ne réécrit jamais une requête : il peut seulement la laisser passer ou la bloquer. Quand il en bloque une parce qu’une valeur partirait en clair, ouvrez la requête dans le tableau de bord : cette valeur est encadrée en rouge. Si elle n’est pas sensible, cliquez dessus et choisissez Non sensible : toujours autoriser, comme plus haut, puis réessayez.
© 2026 Emanuele Casabona · TVA IT02293040990 · Politique de confidentialité · Mentions légales · latet.ai