Echolot
Espaces de travail

Secrets

Gardez mots de passe, jetons et clés dans le trousseau plutôt que dans les fichiers de l’espace de travail, et transmettez-les à l’outil en ligne de commande et à la CI.

Un secret est une variable dont la valeur reste dans le trousseau de votre Mac. Le fichier de l’espace de travail n’en contient que le nom : vous pouvez donc valider l’espace de travail et le partager sans partager vos identifiants. Utilisez des secrets pour les mots de passe, les jetons, les clés d’API et tout ce que vous ne colleriez pas dans une conversation.

Rendre une variable secrète

  1. Ouvrez le tableau de la variable : la page Environnements, Réglages du dossier… › Variables, ou l’onglet Variables de la requête.
  2. Ajoutez la variable, ou trouvez-la, et cochez Secret.
  3. Saisissez la valeur dans le champ (il affiche Non défini sur ce Mac) et appuyez sur ↩ ou cliquez sur Enregistrer.

Le champ n’affiche plus jamais la valeur. Il indique Stocké dans le trousseau, avec une clé, dès qu’une valeur s’y trouve. Pour changer la valeur, saisissez-en une nouvelle et enregistrez-la.

Utilisez un secret comme n’importe quelle variable : {{token}}.

Les variables de l’espace de travail sur la page Environnements : token marqué Secret, son champ de valeur indiquant Stocké dans le trousseau

Dans le fichier, un secret est un nom et un indicateur, sans valeur :

[[variables]]
name = "token"
secret = true

Chaque niveau garde sa propre valeur. Un secret password dans l’environnement Staging et un autre dans Production sont deux éléments du trousseau : chaque environnement peut donc avoir son propre mot de passe.

Où se trouvent les valeurs

Les valeurs sont conservées dans votre trousseau de session, un élément par secret, nommé Echolot secret <name>. Elles appartiennent à l’espace de travail (par son ID, qui se trouve dans workspace.toml) et au niveau où la variable est définie. L’outil en ligne de commande, sur le même Mac, lit les mêmes éléments.

Un secret sans valeur sur ce Mac ne se rabat pas sur un autre niveau. La requête indique the secret {{password}} has no value on this Mac tant que vous n’en avez pas défini une.

Édition du Mac App Store

L’édition App Store utilise le même trousseau. Les éléments créés par le téléchargement direct ou par l’outil en ligne de commande peuvent demander une fois l’accès ; choisissez Toujours autoriser.

Comparer les éditions

Ce qui n’entre jamais dans les fichiers

Echolot garde ces éléments hors des fichiers de l’espace de travail :

  • Les valeurs des variables secrètes.
  • Les secrets que stockent les captures de réponse : une capture marquée secrète n’écrit que dans le trousseau. Dans Alpenglow, Auth › Sign in capture access_token dans le secret {{token}}.
  • Les jetons OAuth 2.0 et les connexions MCP.
  • Les valeurs que vous déplacez avec Placer dans le trousseau (ci-dessous).

Ce que vous saisissez en clair reste en clair. Quand le champ d’un mot de passe d’auth ou de proxy contient une valeur littérale au lieu d’une variable, Echolot vous avertit en dessous : Enregistré en clair dans le fichier de l’espace de travail. Cliquez sur Placer dans le trousseau : la valeur devient une variable secrète de l’espace de travail, et le champ reçoit {{name}} à sa place.

Les secrets sont aussi masqués partout où Echolot affiche ou transmet une requête résolue : aperçus, Coup d’œil, panneau Variables, recherche dans l’historique et tout ce que reçoivent les agents. Générer du code… et Copier en tant que cURL font exception : ils écrivent la requête telle qu’elle serait envoyée, secrets compris.

Les importations placent les identifiants dans des secrets

Quand vous importez une collection Postman, un export Insomnia ou un autre fichier, les mots de passe, jetons et clés d’API trouvés dans les réglages d’auth et les en-têtes d’identification deviennent des variables secrètes. Leurs valeurs vont dans le trousseau, et la requête reçoit {{name}} à la place : le nom de la requête et du champ, par exemple {{me_password}}. Le rapport d’importation liste les noms des secrets enregistrés, jamais les valeurs.

Les identifiants écrits dans des adresses (https://user:pass@…), des chaînes de requête et des corps ne sont pas encore déplacés. Vérifiez-les après une importation.

Les exports omettent les valeurs

Un export écrit les variables secrètes par leur nom seulement, sans valeur, dans tous les formats. La personne qui ouvre l’export définit les valeurs de son côté.

Les secrets en ligne de commande et en CI

L’outil en ligne de commande cherche la valeur d’un secret dans cet ordre :

  1. Un fichier --secrets donné à echolot run : des lignes NAME=value.
  2. Une variable d’environnement ECHOLOT_SECRET_<NAME> : le nom en majuscules, chaque caractère autre qu’une lettre ou un chiffre devenant _. {{token}} lit ECHOLOT_SECRET_TOKEN ; {{api-key}} lit ECHOLOT_SECRET_API_KEY.
  3. Sur un Mac, les éléments du trousseau que gère l’app.
ECHOLOT_SECRET_TOKEN=… echolot run Alpenglow.echolot --folder orders
echolot run Alpenglow.echolot --env staging --secrets staging.secrets

Le trousseau est ignoré quand CI est défini, et quand ECHOLOT_KEYCHAIN=0. En CI, définissez les variables ECHOLOT_SECRET_… à partir du magasin de secrets de votre CI. Voir CI.

Un secret trouvé dans l’environnement vaut pour tous les niveaux : ECHOLOT_SECRET_PASSWORD répond à {{password}} dans n’importe quel environnement.

Les importations en ligne de commande placent les identifiants dans des secrets comme le fait l’app. Sans trousseau, l’outil indique quelles variables ECHOLOT_SECRET_… définir.

La première ouverture d’un collègue

Un collègue qui clone l’espace de travail obtient le nom de chaque secret et aucune des valeurs. Ses tableaux indiquent Non défini sur ce Mac. Il définit ses propres valeurs une fois, puis tout le monde travaille à partir des mêmes fichiers avec ses propres identifiants. Voir Git et équipes.

Sur cette page