Docs / Concepts
Page traduite automatiquement
Traitement des données et confidentialité
Ce que l'outil verbatra envoie hors de ta machine, à qui, et ce qu'il garde en local, pour qu'une revue sécurité ou juridique puisse le valider.
Ce que la CLI, le SDK, Studio et le serveur MCP de verbatra envoient hors de ta machine ou de ta CI. Ce site relève de sa politique de confidentialité.
La réponse courte
- Aucune télémétrie, aucune vérification de mise à jour et aucun serveur verbatra à contacter.
- Une seule destination sortante : ton fournisseur, seulement quand une commande traduit ;
aucune avec
provider: { id: "none" }. Tout le reste reste local, Studio et le serveur MCP compris. - Seul ce qui doit être traduit est envoyé : ni clés inchangées, ni succès du cache, ni clés
protégées (sauf les modifications humaines obsolètes avec
humanEdits: "suggest"). - Les clés d'API viennent uniquement de variables d'environnement et n'apparaissent jamais dans un message.
Comment circulent les données
your project (local disk) provider (only on translate, watch,
SDK retranslateEntry, or a Studio /
+-----------------------------------------+ MCP retranslate or translate-pending)
| locale files, verbatra.config.ts, | HTTPS +--------------------------+
| glossary -- read by verbatra --|------------>| Anthropic / OpenAI / |
| | changed | Gemini / DeepL / Google |
| verbatra.lock.json, provenance file, | strings | or your own server |
| verbatra.cache.json, .verbatra-local/ |<------------| (self-hosted) |
| -- written by verbatra | translations+--------------------------+
+-----------------------------------------+
| |
| 127.0.0.1 only | stdio
v v
Studio in your browser MCP client (your AI agent)La flèche est en HTTPS, sauf que openai-compatible et libretranslate peuvent utiliser du http simple vers ta propre baseUrl.
Quand une requête est faite
Seules les commandes du schéma appellent un fournisseur ; les actions de Studio et du MCP exigent
--allow-spend. Tout le reste, exécutions à blanc et estimations
comprises, est local, sauf verbatra doctor --live, qui récupère une liste de langues de DeepL, Google ou LibreTranslate et n'envoie aucun texte.
Une exécution de translate n'envoie que les clés manquantes ou modifiées par rapport au
fichier de verrouillage, moins les succès du cache, et un
texte partagé une seule fois ; une clé épinglée n'est jamais
envoyée. Ton résolveur DNS voit le nom d'hôte du fournisseur.
Ce que reçoit chaque fournisseur
| Fournisseur | Ce qui est envoyé | Où ça va |
|---|---|---|
anthropic, openai, gemini, openai-compatible | Par clé : le nom de la clé, le texte source, et la description ou le sens que porte ton fichier source. Par requête : les codes source et cible (après localeMap) et leurs noms anglais, ton tone, les termes du glossaire de la locale cible, les catégories de pluriel de la cible quand un lot contient des pluriels, les instructions fixes de verbatra, le nom du modèle et une limite de tokens de sortie. | api.anthropic.com, api.openai.com, generativelanguage.googleapis.com, ou la baseUrl que tu as configurée. *_ redirige les fournisseurs hébergés. |
opencode | Comme à la première ligne. | opencode.ai, un point de terminaison fixe qu'aucun *_ ne redirige. |
deepl | Le texte source de chaque clé, placeholders masqués Disponible à partir de 0.12.0, les codes de langue, un réglage de formalité quand ton tone en demande un avec une clé payante, et ton glossaryId. Ni noms de clé, ni descriptions, ni termes de glossaire. | api.deepl.com, ou api-free.deepl.com pour une clé qui finit par :fx. |
google-translate | Le texte source de chaque clé, placeholders masqués Disponible à partir de 0.12.0, et les codes de langue. | translation.googleapis.com |
libretranslate | Le texte source de chaque clé, placeholders masqués (une valeur avec de la syntaxe ICU n'est pas envoyée), les codes de langue, et LIBRETRANSLATE_ quand elle est définie. | La baseUrl que tu as configurée. |
none | Rien. | Nulle part. |
Les SDK envoient aussi des en-têtes avec la bibliothèque, ton OS et Node.js. Ta clé d'API ne va
qu'au point de terminaison configuré (google-translate l'envoie dans la chaîne de requête ?key=).
Protection des contenus sensibles Disponible à partir de 0.12.0
sensitiveData analyse, avant chaque requête, ce que le tableau ci-dessus envoie. Les détecteurs, patterns et allow sont sous Chaque clé. Le détecteur email ignore example.com, example.org, example.net et les domaines sous .example, .test, .invalid ou .localhost. Un motif est refusé s'il répète un groupe contenant un quantificateur ou une alternative, contient plus d'un *, + ou {n,}, ou se ramifie trop. Il lit les 2 000 premiers caractères d'un champ et s'arrête après une seconde ; un dépassement est une trouvaille (pattern-timeout-<n>).
mode | Effet |
|---|---|
warn | Envoie comme d'habitude ; un avis nomme les clés. |
block | Retient la clé, donc la locale se termine partial. |
redact | Envoie un jeton à la place de chaque correspondance dans la valeur et la restaure ; une correspondance dans une description ou un sens part en [redacted]. Une correspondance dans le nom de la clé, ou un jeton qui ne revient pas exactement une fois, retient la clé. Sur DeepL, Google et LibreTranslate, un jeton compte comme un placeholder, donc une valeur qu'ils ne peuvent pas protéger est retenue comme PLACEHOLDER_. |
block et redact laissent aussi de côté un terme du glossaire qui correspond. verbatra init écrit warn pour un fournisseur automatique. Pour un faux positif, ajoute le texte à allow ou retire son détecteur. verbatra check --sensitive analyse sans clé. Les noms dans du texte libre ne sont pas détectés.
Conservation et traitement des données chez le fournisseur
La conservation dépend du fournisseur et de ton contrat. Citations dans leur anglais d'origine, en septembre 2026.
| Fournisseur | Ce que dit le fournisseur | Traitement des données |
|---|---|---|
| Anthropic | "For Anthropic API users, we automatically delete inputs and outputs on our backend within 30 days of receipt or generation" (conservation). "By default, we will not use your inputs or outputs from our commercial products [...] to train our models" (entraînement). La conservation zéro est un accord par organisation (détails). | Data Processing Addendum |
| OpenAI | "data sent to the OpenAI API is not used to train or improve OpenAI models (unless you explicitly opt in to share data with us)"; "abuse monitoring logs are generated for all API feature usage and retained for up to 30 days, unless longer retention is required by law". Zero Data Retention et Modified Abuse Monitoring "are subject to prior approval by OpenAI", et /v1/chat/completions, le endpoint qu'appelle verbatra, y figure comme éligible (your data). | Data Processing Addendum |
| Gemini | Sur le niveau gratuit (Unpaid Services), "human reviewers may read, annotate, and process your API input and output", et les conditions demandent de ne pas envoyer de "sensitive, confidential, or personal information". Sur les Paid Services, "Google doesn't use your prompts [...] or responses to improve our products" et les journalise "for a limited period of time, solely for detecting and preventing violations of the Prohibited Use Policy". Dans l'EEE, en Suisse et au Royaume-Uni, les conditions des Paid Services s'appliquent à tout usage, niveau gratuit compris (Gemini API terms). verbatra n'utilise ni le grounding ni le cache explicite, que la page de conservation zéro de Google exclut. | Processor terms, que les Gemini API terms citent pour les Paid Services |
| DeepL | Pour DeepL API Free, la politique de confidentialité dit : "We process the content you upload and their translations or improvements for a limited period of time to train and improve our neural networks and algorithms." Pour Pro, "your texts will not be used to improve the quality of our services", et "After complete performance of the contractually agreed services all submitted texts or documents and their translations or improvements will be deleted." | Data Processing Agreement, auquel renvoient les conditions DeepL Pro |
| Google Cloud Translation | "text is held briefly in-memory in order to perform the translation and return the results to you", et "Google does not use the content you send to train and improve our Google Translation features" (data usage). | Cloud Data Processing Addendum |
| OpenCode | Fixée par OpenCode et le fournisseur du modèle vers lequel il route ; lis sa politique de confidentialité avant d'envoyer des chaînes confidentielles. | Conditions d'utilisation |
| openai-compatible, LibreTranslate | Ce que fait ton propre serveur. | Les tiennes |
Garder les textes en interne
| Option | Moyen |
|---|---|
| Pas de traduction automatique | Travailler sans traduction automatique Disponible à partir de 0.12.0 |
| Ton propre modèle | openai-compatible avec Ollama, LM Studio ou vLLM |
| Traduction automatique sans modèle de langage | libretranslate Disponible à partir de 0.12.0 |
| L'imposer | une politique réseau local-only, fixée dans la CI Disponible à partir de 0.12.0 |
Ce qui est écrit en local
| Fichier | Contient | À commiter ? |
|---|---|---|
| Tes fichiers de locale | les traductions | oui |
verbatra.lock.json | un hash de chaque chaîne source à partir de laquelle une traduction a été faite | oui |
verbatra.provenance.json | par clé, le chemin d'écriture, le fournisseur et le modèle de la valeur, et toute décision de relecture avec le nom du relecteur ; aucun texte traduit ni horodatage | oui |
verbatra.cache.json | le texte source et ses traductions, par fournisseur, modèle, ton, glossaire et localeMap | non, verbatra init l'ajoute au .gitignore |
.verbatra-local/ | le statut de la dernière exécution, les signalements de relecture et la consommation de tokens, les pseudolocales générées, et les verrous d'écriture avec le nom d'hôte et l'ID de processus de l'exécution qui les détient | non, ignoré par git |
.env, .env.local | tes clés d'API, si tu les gardes là | jamais, verbatra init les ajoute tous deux au .gitignore |
Clés d'API
Les erreurs du fournisseur et la sortie de la CLI remplacent par [REDACTED] la valeur de chaque
variable de clé connue, si elle compte 8 caractères ou plus, ainsi que tout ce qui
ressemble à une clé d'API.
Studio et MCP
Studio s'attache à 127.0.0.1 seulement, avec un jeton de session, rejette un autre
Host ou Origin, et sa Content-Security-Policy bloque les accès à Internet.
Le serveur MCP parle via stdio sans ouvrir de port. Ses outils de lecture renvoient textes,
glossaire et statut ; --redact-values masque chaque valeur.
history.list donne l'auteur de chaque commit (pas
avec --redact-values), jamais l'e-mail.
Un client MCP, ou un agent navigateur qui utilise --expose-agent-tools de Studio, envoie ce qu'il
lit à son modèle d'IA, sous les conditions de ce fournisseur. Les outils d'agent de Studio ne sont
jamais masqués.
Traductions générées par IA et provenance
Si les règles de transparence du règlement européen sur l'IA (Article 50) s'appliquent, ton conseil juridique le dira. verbatra enregistre le fournisseur et le modèle de chaque valeur traduite automatiquement.
Fichier d'audit Disponible à partir de 0.12.0
verbatra report provenance --json transforme cette trace en
fichier d'audit par clé.
Liste de contrôle pour une revue DPA ou NDA
- Décide si les textes peuvent quitter ton réseau ; sinon, garde-les en interne.
- Pour un fournisseur hébergé, prends un niveau payant (conditions du fournisseur) et signe ses conditions de traitement des données.
- Lance
verbatra check --sensitive. - Garde les clés d'API dans un coffre à secrets ou un
.envignoré par git, et lanceverbatra doctor. - Décide quels agents IA peuvent utiliser Studio ou le serveur MCP, et s'ils ont besoin de
--redact-values. - Commite
verbatra.provenance.json, et archiveverbatra report provenance --jsonà chaque version. - Joins le manifeste de
verbatra doctor --data-flow --jsonavec chaque hôte et les données qu'il reçoit.