> 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/fr/guides/understand/security-model.md).

# Ce qui reste caché, et ce qui ne l’est pas

Voyez quelles commandes Devolutions CLI gardent un secret hors de vue, lesquelles transmettent la valeur, et ce contre quoi Devolutions CLI ne peut pas vous protéger.

Chaque commande Devolutions CLI qui utilise un secret doit placer la valeur **quelque part** : dans l’environnement d’un programme, dans votre terminal, dans un fichier, dans votre shell ou dans le contexte d’un modèle d’IA. L’endroit où elle aboutit décide qui peut la voir. `devo secret run` garde la valeur loin de vous, de votre shell et de vos fichiers. Les autres commandes la remettent exprès, parce que c’est parfois ce dont vous avez besoin.

## Où chaque commande place la valeur

<table><thead><tr><th width="230">QUAND VOUS UTILISEZ</th><th>LA VALEUR ABOUTIT</th><th width="140">CACHÉ POUR VOUS ?</th></tr></thead><tbody><tr><td><code>devo secret run</code></td><td>Dans l’environnement, ou l’entrée standard, du seul programme que vous démarrez. Quand il affiche la valeur, vous voyez <code>&#x3C;concealed by Devolutions></code> à la place.</td><td>Oui. Seul le programme la reçoit.</td></tr><tr><td><code>devo secret read</code><br><code>devo secret get</code></td><td>Affiché dans votre terminal, ou dans la sortie JSON ou YAML. Avec <code>--out-file</code>, écrit dans un fichier à la place.</td><td>No.</td></tr><tr><td><code>devo secret inject</code></td><td>Écrit en texte clair dans le modèle rempli, sur la sortie standard ou dans le fichier <code>--out-file</code>.</td><td>No.</td></tr><tr><td><code>devo secret shell enter</code></td><td>Dans les variables d’environnement de votre shell actuel, et de chaque programme que vous démarrez depuis celui-ci, jusqu’à ce que vous exécutiez <code>devo secret shell leave</code>. Rien n’est masqué.</td><td>No.</td></tr><tr><td><code>devo secret set</code></td><td>La nouvelle valeur vient d’une variable d’environnement (<code>--value-env</code>) ou d’un fichier (<code>--value-file</code>) que vous préparez, jamais de la ligne de commande.</td><td>Pas depuis la ligne de commande ni l’historique de votre shell. La variable ou le fichier que vous avez préparé la contient encore.</td></tr><tr><td>Un client d’IA s’est connecté avec <code>devo mcp</code></td><td>L’outil <code>RDM_resolve_secret_reference</code> renvoie la valeur au client d’IA, qui la place dans le contexte du modèle.</td><td>Non. Le modèle, et sa transcription, voient la valeur.</td></tr><tr><td>SecretSpec</td><td>Devolutions CLI renvoie la valeur à SecretSpec, qui décide où elle va ensuite.</td><td>Cela dépend de la façon dont vous utilisez SecretSpec. Devolutions CLI ne le masque pas.</td></tr></tbody></table>

{% hint style="warning" %}
`devo mcp --read-only` n’éloigne pas les valeurs du modèle : `RDM_resolve_secret_reference` ne fait que lire, donc il reste disponible. Pour garder les valeurs de secret hors du contexte du modèle, ajoutez `--deny-tool RDM_resolve_secret_reference`. Consultez [Limiter ce qu’un agent peut faire](/cli/fr/guides/ai-agents/limit-tools.md).
{% endhint %}

## Ce que cela signifie pour vous

**Préférez `devo secret run` chaque fois qu’un programme peut lire son secret dans une variable d’environnement.** La valeur va seulement à ce programme, jamais à votre shell, et elle disparaît quand le programme se termine. Consultez [Exécuter une commande avec ses secrets](/cli/fr/guides/secrets/run-with-secrets.md).

**Les références sont refusées dans les arguments de commande.** Si vous écrivez une référence `devo://` après `--`, `devo secret run` s’arrête et vous demande d’utiliser `--env-ref`, `--stdin-reference` ou un manifeste de lancement à la place.

**Les fichiers qui contiennent un secret vous sont privés.** Quand `devo secret read`, `devo secret get` ou `devo secret inject` écrit vers `--out-file`, le fichier n’est lisible et modifiable que par votre compte sur macOS et Linux. Sur Windows, seuls votre compte, les administrateurs et le compte système peuvent l’ouvrir. La valeur est quand même en texte clair : supprimez le fichier quand vous avez terminé. Consultez [Remplir un fichier de configuration à partir d’un modèle](/cli/fr/guides/secrets/fill-a-template.md).

**Choisissez la commande qui correspond à ce que vous voulez exposer.** Lire un secret, remplir un modèle ou le charger dans votre shell est parfois la seule option, par exemple pour un outil qui lit un fichier de configuration. Sachez seulement qu’à partir de là, la valeur est dans votre terminal, votre fichier ou votre session. Consultez [Utiliser des secrets dans votre shell actuel](/cli/fr/guides/secrets/current-shell.md).

## Comment fonctionne le masquage, et ses limites

Par défaut, `devo secret run` surveille tout ce que le programme écrit vers sa sortie standard et sa sortie d’erreur, et remplace chaque valeur résolue par `<concealed by Devolutions>` avant qu’elle n’atteigne votre terminal ou votre journal.

Le masquage est un filet de sécurité pour ce que le programme **affiche**. Il ne protège pas contre ce que le programme **fait** :

* Seule la valeur exacte est remplacée. Si le programme en affiche une partie, l’encode (par exemple en Base64) ou la modifie, le résultat n’est pas masqué.
* Un fichier que le programme écrit, ou une requête qu’il envoie sur le réseau, n’est pas masqué.
* Les processus enfants du programme héritent de son environnement, donc ils reçoivent aussi la valeur.
* `--no-masking` désactive le masquage. Utilisez-le seulement quand vous avez besoin de la sortie exacte, jamais dans un journal partagé.

## À qui Devolutions CLI fait confiance

Devolutions CLI fait confiance au compte d’utilisateur de votre système d’exploitation. Le processus en arrière-plan s’exécute sous votre compte et parle à `devo` par un canal local sur votre ordinateur. Ce canal accepte votre compte et, sur Windows, le compte système (voir [Devolutions CLI sur Windows, macOS et Linux](/cli/fr/guides/understand/platforms.md) pour l’exception). Chaque demande, sauf une vérification d’état, doit aussi porter un jeton de session que Devolutions CLI conserve dans votre dossier de configuration. Vos contextes enregistrés sont dans votre dossier de configuration, et vos sessions de connexion sont protégées par le magasin sécurisé de votre système d’exploitation. Consultez [Quelles données Devolutions CLI envoie](/cli/fr/guides/understand/privacy.md).

Cela a une conséquence : tout autre programme qui s’exécute sous votre compte est approuvé de la même façon. Il peut exécuter `devo` et demander un secret, tout comme vous.

## Ce contre quoi Devolutions CLI ne peut pas vous protéger

* **Un programme qui reçoit un secret peut le divulguer.** Il peut écrire la valeur dans un fichier, l’envoyer sur le réseau ou l’afficher sous une forme que le masquage ne détecte pas. N’exécutez avec vos secrets que des programmes en qui vous avez confiance.
* **D’autres programmes qui s’exécutent sous votre identité.** Un logiciel malveillant ou un outil non fiable qui s’exécute sous votre compte peut utiliser vos contextes comme vous. Devolutions CLI ne sépare pas les programmes qui s’exécutent sous le même utilisateur.
* **Valeurs que vous avez remises.** Une fois que vous lisez un secret dans votre terminal, que vous l’écrivez dans un fichier, que vous le chargez dans votre shell ou que vous le donnez à un modèle d’IA, Devolutions CLI ne contrôle plus où il va.
* **Un ordinateur compromis.** Comme tout outil, Devolutions CLI n’est sûr que dans la mesure où le sont l’ordinateur et le compte d’utilisateur sur lequel il s’exécute.

## Suivant

* [Run a command with its secrets](/cli/fr/guides/secrets/run-with-secrets.md)
* [Give an agent a credential without exposing it](/cli/fr/guides/ai-agents/run-an-agent.md)
* [Limit what an agent can do](/cli/fr/guides/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/fr/guides/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.
