Docs / Conceptos
Página traducida automáticamente
Tratamiento de datos y privacidad
Qué envía la herramienta verbatra fuera de tu máquina, a quién, y qué guarda en local, para que una revisión de seguridad o legal pueda aprobarla.
Qué envían la CLI, el SDK, Studio y el servidor MCP de verbatra fuera de tu máquina o de tu CI. Este sitio web se rige por su política de privacidad.
La respuesta corta
- Sin telemetría, sin comprobación de actualizaciones y sin ningún servidor de verbatra al que llamar.
- Un único destino saliente: tu proveedor, solo cuando un comando traduce; ninguno con
provider: { id: "none" }. Todo lo demás se queda en local, Studio y el servidor MCP incluidos. - Solo se envía lo que necesita traducción: ni claves sin cambios, ni aciertos de caché, ni
claves protegidas (salvo ediciones humanas desactualizadas con
humanEdits: "suggest"). - Las claves de API solo vienen de variables de entorno y nunca aparecen en un mensaje.
Cómo fluyen los datos
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 flecha es HTTPS, salvo que openai-compatible y libretranslate pueden usar http simple hacia tu propia baseUrl.
Cuándo se hace una petición
Solo los comandos del diagrama llaman a un proveedor; las acciones de Studio y MCP necesitan
--allow-spend. Todo lo demás, ejecuciones de prueba y
estimaciones incluidas, es local, salvo verbatra doctor --live, que obtiene una lista de idiomas de DeepL, Google o LibreTranslate y no envía ningún texto.
Una ejecución de translate envía solo las claves ausentes o cambiadas respecto a
el archivo de bloqueo, menos los aciertos de la caché, y
el texto compartido una sola vez; una clave fijada nunca se
envía. Tu resolutor DNS ve el nombre del host del proveedor.
Qué recibe cada proveedor
| Proveedor | Qué se envía | Adónde va |
|---|---|---|
anthropic, openai, gemini, openai-compatible | Por clave: el nombre de la clave, el texto de origen y la descripción o el significado que lleva tu archivo de origen. Por petición: los códigos de origen y destino (tras localeMap) y sus nombres en inglés, tu tone, los términos del glosario del locale de destino, las categorías de plural del destino cuando un lote tiene plurales, las instrucciones fijas de verbatra, el nombre del modelo y un límite de tokens de salida. | api.anthropic.com, api.openai.com, generativelanguage.googleapis.com o la baseUrl que configuraste. *_ redirige los alojados. |
opencode | Lo mismo que en la primera fila. | opencode.ai, un endpoint fijo que ningún *_ redirige. |
deepl | El texto de origen de cada clave, con los placeholders enmascarados Disponible a partir de 0.12.0, los códigos de idioma, un ajuste de formalidad cuando tu tone lo pide con una clave de pago, y tu glossaryId. Ni nombres de clave, ni descripciones, ni términos del glosario. | api.deepl.com, o api-free.deepl.com para una clave que acaba en :fx. |
google-translate | El texto de origen de cada clave, con los placeholders enmascarados Disponible a partir de 0.12.0, y los códigos de idioma. | translation.googleapis.com |
libretranslate | El texto de origen de cada clave, con los placeholders enmascarados (un valor con sintaxis ICU no se envía), los códigos de idioma y LIBRETRANSLATE_ si está definida. | La baseUrl que configuraste. |
none | Nada. | A ninguna parte. |
Los SDK también envían cabeceras con la biblioteca, tu sistema operativo y Node.js. Tu clave de API
solo va al endpoint configurado (google-translate la envía en la cadena de consulta ?key=).
Protección de contenido sensible Disponible a partir de 0.12.0
sensitiveData revisa, antes de cada petición, lo que la tabla anterior envía. Los detectores, patterns y allow están en Cada clave. El detector email omite example.com, example.org, example.net y los dominios bajo .example, .test, .invalid o .localhost. Se rechaza un patrón que repite un grupo con un cuantificador o una alternativa, contiene más de un *, + o {n,}, o se ramifica demasiado. Lee los primeros 2.000 caracteres de un campo y se detiene al cabo de un segundo; agotar el tiempo es un hallazgo (pattern-timeout-<n>).
mode | Efecto |
|---|---|
warn | Envía como siempre; un aviso nombra las claves. |
block | Retiene la clave, así que el locale termina partial. |
redact | Envía un token por cada coincidencia en el valor y restaura la coincidencia; una coincidencia en una descripción o un significado se envía como [redacted]. Una coincidencia en el nombre de la clave, o un token que no vuelve exactamente una vez, retiene la clave. En DeepL, Google y LibreTranslate un token cuenta como placeholder, así que un valor que no pueden proteger se retiene como PLACEHOLDER_. |
block y redact además dejan fuera un término del glosario que coincide. verbatra init escribe warn para un proveedor automático. Ante un falso positivo, añade el texto a allow o quita su detector. verbatra check --sensitive revisa sin clave. Los nombres en texto libre no se detectan.
Retención y tratamiento de datos del proveedor
La retención la deciden el proveedor y tu contrato. Citas en su inglés original, a septiembre de 2026.
| Proveedor | Qué dice el proveedor | Tratamiento de datos |
|---|---|---|
| Anthropic | "For Anthropic API users, we automatically delete inputs and outputs on our backend within 30 days of receipt or generation" (retención). "By default, we will not use your inputs or outputs from our commercial products [...] to train our models" (entrenamiento). La retención cero es un acuerdo por organización (detalles). | 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 y Modified Abuse Monitoring "are subject to prior approval by OpenAI", y /v1/chat/completions, el endpoint al que llama verbatra, figura como elegible (your data). | Data Processing Addendum |
| Gemini | En el nivel gratuito (Unpaid Services), "human reviewers may read, annotate, and process your API input and output", y las condiciones piden no enviar "sensitive, confidential, or personal information". En Paid Services, "Google doesn't use your prompts [...] or responses to improve our products" y los registra "for a limited period of time, solely for detecting and preventing violations of the Prohibited Use Policy". En el EEE, Suiza y el Reino Unido, las condiciones de Paid Services se aplican a todo uso, nivel gratuito incluido (Gemini API terms). verbatra no usa ni grounding ni caché explícita, que la página de retención cero de Google excluye. | Processor terms, que las Gemini API terms citan para Paid Services |
| DeepL | Para DeepL API Free, la política de privacidad dice: "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." Para Pro, "your texts will not be used to improve the quality of our services", y "After complete performance of the contractually agreed services all submitted texts or documents and their translations or improvements will be deleted." | Data Processing Agreement, al que remiten las condiciones de DeepL Pro |
| Google Cloud Translation | "text is held briefly in-memory in order to perform the translation and return the results to you", y "Google does not use the content you send to train and improve our Google Translation features" (data usage). | Cloud Data Processing Addendum |
| OpenCode | Lo fijan OpenCode y el proveedor del modelo al que reenvía; lee su política de privacidad antes de enviar cadenas confidenciales. | Términos del servicio |
| openai-compatible, LibreTranslate | Lo que haga tu propio servidor. | Las tuyas |
Mantener los textos en casa
| Opción | Cómo |
|---|---|
| Sin traducción automática | Trabajar sin traducción automática Disponible a partir de 0.12.0 |
| Tu propio modelo | openai-compatible con Ollama, LM Studio o vLLM |
| Traducción automática sin modelo de lenguaje | libretranslate Disponible a partir de 0.12.0 |
| Hazlo cumplir | una política de red local-only, fijada en CI Disponible a partir de 0.12.0 |
Qué se escribe en local
| Archivo | Contiene | ¿Lo confirmas? |
|---|---|---|
| Tus archivos de locale | las traducciones | sí |
verbatra.lock.json | un hash de cada texto de origen del que salió una traducción | sí |
verbatra.provenance.json | por clave, la vía de escritura, el proveedor y el modelo del valor, y cualquier decisión de revisión con el nombre del revisor; sin texto traducido ni marcas de tiempo | sí |
verbatra.cache.json | el texto de origen y sus traducciones, por proveedor, modelo, tono, glosario y localeMap | no, verbatra init lo añade a .gitignore |
.verbatra-local/ | el estado de la última ejecución, las señales de revisión y el uso de tokens, los pseudolocales generados y los bloqueos de escritura con el nombre de host y el ID de proceso de la ejecución que los tiene | no, está en .gitignore |
.env, .env.local | tus claves de API, si las guardas ahí | nunca, verbatra init añade ambos a .gitignore |
Claves de API
Los errores del proveedor y la salida de la CLI sustituyen por [REDACTED] el valor de cada
variable de clave conocida, si tiene 8 caracteres o más, y todo lo que tenga
forma de clave de API.
Studio y MCP
Studio escucha solo en 127.0.0.1, con un token de sesión, rechaza otro Host u
Origin, y su Content-Security-Policy bloquea las cargas desde internet.
El servidor MCP habla por stdio sin abrir puertos. Sus herramientas de lectura devuelven textos,
glosario y estado; --redact-values enmascara cada valor.
history.list da el autor de cada commit (no
con --redact-values), nunca el correo.
Un cliente MCP, o un agente de navegador que usa --expose-agent-tools de Studio, envía lo que lee
a su modelo de IA, bajo las condiciones de ese proveedor. Las herramientas de agente de Studio nunca
se ocultan.
Traducciones generadas por IA y procedencia
Si las reglas de transparencia del Reglamento de IA de la UE (AI Act) (artículo 50) se aplican lo decide tu asesoría jurídica. verbatra registra el proveedor y el modelo de cada valor traducido automáticamente.
Archivo de auditoría Disponible a partir de 0.12.0
verbatra report provenance --json convierte ese registro en un
archivo de auditoría por clave.
Lista de comprobación para una revisión de DPA o NDA
- Decide si los textos pueden salir de tu red; si no, mantenlos en casa.
- Con un proveedor alojado, usa un nivel de pago (condiciones del proveedor) y firma sus condiciones de tratamiento de datos.
- Ejecuta
verbatra check --sensitive. - Guarda las claves de API en un almacén de secretos o en un
.envignorado por git, y ejecutaverbatra doctor. - Decide qué agentes de IA pueden usar Studio o el servidor MCP, y si necesitan
--redact-values. - Confirma
verbatra.provenance.jsony archivaverbatra report provenance --jsonen cada versión. - Adjunta el manifiesto de
verbatra doctor --data-flow --jsoncon cada host y los datos que recibe.