> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/cli/es/guias/understand/security-model.md).

# Qué permanece oculto y qué no

Vea qué comandos de Devolutions CLI mantienen un secreto fuera de la vista, cuáles entregan el valor y de qué no puede protegerle Devolutions CLI.

Cada comando de Devolutions CLI que usa un secreto tiene que poner el valor **en algún sitio**: en el entorno de un programa, en su terminal, en un archivo, en su shell o en el contexto de un modelo de IA. Dónde acaba decide quién puede verlo. `devo secret run` mantiene el valor lejos de usted, de su shell y de sus archivos. Otros comandos lo entregan a propósito, porque a veces es lo que necesita.

## Dónde coloca el valor cada comando

<table><thead><tr><th width="230">CUANDO USA</th><th>EL VALOR ACABA</th><th width="140">¿OCULTO PARA USTED?</th></tr></thead><tbody><tr><td><code>devo secret run</code></td><td>En el entorno, o la entrada estándar, del único programa que usted inicia. Cuando imprime el valor, usted ve <code>&#x3C;concealed by Devolutions></code> en su lugar.</td><td>Sí. Solo el programa lo recibe.</td></tr><tr><td><code>devo secret read</code><br><code>devo secret get</code></td><td>Se imprime en el terminal, o en la salida JSON o YAML. Con <code>--out-file</code>, se escribe en un archivo en su lugar.</td><td>No.</td></tr><tr><td><code>devo secret inject</code></td><td>Escrito en texto sin formato en la plantilla rellenada, en la salida estándar o en el archivo <code>--out-file</code>.</td><td>No.</td></tr><tr><td><code>devo secret shell enter</code></td><td>En las variables de entorno de su shell actual, y de cada programa que inicie desde él, hasta que ejecute <code>devo secret shell leave</code>. No se enmascara nada.</td><td>No.</td></tr><tr><td><code>devo secret set</code></td><td>El valor nuevo procede de una variable de entorno (<code>--value-env</code>) o de un archivo (<code>--value-file</code>) que usted prepara, nunca de la línea de comandos.</td><td>No desde la línea de comandos ni del historial de su shell. La variable o el archivo que preparó todavía lo contiene.</td></tr><tr><td>Un cliente de IA se conectó con <code>devo mcp</code></td><td>La herramienta <code>RDM_resolve_secret_reference</code> devuelve el valor al cliente de IA, que lo coloca en el contexto del modelo.</td><td>No. El modelo, y su transcripción, ven el valor.</td></tr><tr><td>SecretSpec</td><td>Devolutions CLI devuelve el valor a SecretSpec, que decide adónde va después.</td><td>Depende de cómo use SecretSpec. Devolutions CLI no lo enmascara.</td></tr></tbody></table>

{% hint style="warning" %}
`devo mcp --read-only` no mantiene los valores lejos del modelo: `RDM_resolve_secret_reference` solo lee, así que sigue disponible. Para mantener los valores de secreto fuera del contexto del modelo, añada `--deny-tool RDM_resolve_secret_reference`. Consulte [Limitar lo que puede hacer un agente](/cli/es/guias/ai-agents/limit-tools.md).
{% endhint %}

## Qué significa esto para usted

**Prefiera `devo secret run` siempre que un programa pueda leer su secreto desde una variable de entorno.** El valor va solo a ese programa, nunca a su shell, y desaparece cuando el programa termina. Consulte [Ejecutar un comando con sus secretos](/cli/es/guias/secrets/run-with-secrets.md).

**Las referencias se rechazan en los argumentos del comando.** Si escribe una referencia `devo://` después de `--`, `devo secret run` se detiene y le pide que use `--env-ref`, `--stdin-reference` o un manifiesto de inicio.

**Los archivos que contienen un secreto son privados para usted.** Cuando `devo secret read`, `devo secret get` o `devo secret inject` escribe en `--out-file`, el archivo solo puede leerlo y modificarlo su cuenta en macOS y Linux. En Windows, solo su cuenta, los administradores y la cuenta del sistema pueden abrirlo. El valor sigue en texto sin formato: elimine el archivo cuando haya terminado. Consulte [Rellenar un archivo de configuración desde una plantilla](/cli/es/guias/secrets/fill-a-template.md).

**Elija el comando que corresponda a cuánto quiere exponer.** Leer un secreto, rellenar una plantilla o cargarlo en su shell es a veces la única opción, por ejemplo para una herramienta que lee un archivo de configuración. Solo sepa que, a partir de entonces, el valor está en su terminal, su archivo o su sesión. Consulte [Usar secretos en el shell actual](/cli/es/guias/secrets/current-shell.md).

## Cómo funciona el enmascaramiento y sus límites

De forma predeterminada, `devo secret run` vigila todo lo que el programa escribe en su salida estándar y su error estándar, y sustituye cada valor resuelto por `<concealed by Devolutions>` antes de que llegue a su terminal o a su registro.

El enmascarado es una red de seguridad para lo que el programa **imprime**. No protege contra lo que el programa **hace**:

* Solo se sustituye el valor exacto. Si el programa imprime parte de él, lo codifica (por ejemplo en Base64) o lo cambia, el resultado no se enmascara.
* Un archivo que escribe el programa, o una solicitud que envía por la red, no se enmascara.
* Los procesos secundarios del propio programa heredan su entorno, así que también reciben el valor.
* `--no-masking` desactiva el enmascaramiento. Úselo solo cuando necesite la salida exacta, nunca en un registro compartido.

## En quién confía Devolutions CLI

Devolutions CLI confía en la cuenta de usuario de su sistema operativo. El proceso en segundo plano se ejecuta con su cuenta y habla con `devo` por un canal local en su ordenador. Ese canal acepta su cuenta y, en Windows, la cuenta del sistema (consulte [Devolutions CLI en Windows, macOS y Linux](/cli/es/guias/understand/platforms.md) para la excepción). Cada solicitud, salvo una comprobación de estado, debe llevar también un token de sesión que Devolutions CLI guarda en su carpeta de configuración. Sus contextos guardados están en su carpeta de configuración, y sus sesiones de inicio de sesión las protege el almacén seguro del sistema operativo. Consulte [Qué datos envía Devolutions CLI](/cli/es/guias/understand/privacy.md).

Esto tiene una consecuencia: cualquier otro programa que se ejecute con su cuenta recibe la misma confianza. Puede ejecutar `devo` y pedir un secreto, igual que usted.

## De qué no puede protegerle Devolutions CLI

* **Un programa que recibe un secreto puede filtrarlo.** Puede escribir el valor en un archivo, enviarlo por la red o imprimirlo de una forma que el enmascaramiento no detecta. Ejecute con sus secretos solo programas en los que confíe.
* **Otros programas que se ejecutan como usted.** Un malware o una herramienta no fiable que se ejecute bajo su cuenta puede usar sus contextos como usted. Devolutions CLI no separa los programas que se ejecutan como el mismo usuario.
* **Valores que entregó.** Una vez que lee un secreto en su terminal, lo escribe en un archivo, lo carga en su shell o se lo da a un modelo de IA, Devolutions CLI ya no controla adónde va.
* **Un ordenador comprometido.** Como cualquier herramienta, Devolutions CLI es tan seguro como el ordenador y la cuenta de usuario en la que se ejecuta.

## Siguiente

* [Run a command with its secrets](/cli/es/guias/secrets/run-with-secrets.md)
* [Give an agent a credential without exposing it](/cli/es/guias/ai-agents/run-an-agent.md)
* [Limit what an agent can do](/cli/es/guias/ai-agents/limit-tools.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/cli/es/guias/understand/security-model.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
