Coffre
Le coffre garde les secrets qu’un projet partage — chaînes de connexion, clés d’API, mots de passe — pour que les membres cessent de se les transmettre par messagerie et que les agents s’en servent sans que la valeur apparaisse dans la conversation.
L’activer
Le coffre est désactivé par défaut et demande le plan Pro. L’opérateur du serveur l’active dans Réglages › Serveur › Coffre. L’activer ajoute un onglet Coffre à chaque projet et active le skill vault des agents ; le désactiver masque les onglets et refuse toute requête au coffre. Les secrets déjà saisis restent chiffrés en base et réapparaissent quand on le réactive.
Deux niveaux
- Projet — un secret d’un projet. Disponible au Pro et au Max.
- Organisation — un secret d’une organisation, disponible dans tous ses projets. Disponible au Max, là où existent les organisations ; géré dans Réglages › Organisation › Coffre.
Un secret de projet qui porte le nom d’un secret d’organisation le remplace dans ce projet seulement. La valeur de l’organisation reste en usage dans ses autres projets. L’onglet Coffre du projet barre la ligne remplacée.
Un nom s’écrit en majuscules, chiffres et _, sans chiffre au début (DATABASE_URL, STRIPE_SECRET_KEY) : c’est aussi le nom qu’emploient les agents. Une valeur tient en 8 Ko et peut s’étendre sur plusieurs lignes.
Ouvrir le coffre
Tout membre d’un projet ouvre son coffre depuis le menu du projet (… ou clic droit sur le projet) › Coffre, depuis le menu Dépôt de l’application de bureau, ou depuis la palette (⌘P › « Ouvrir le coffre du projet »). Les admins du projet le retrouvent aussi en onglet des réglages du projet.
Qui fait quoi
| Secret de projet | Secret d’organisation | |
|---|---|---|
| Créer, modifier, supprimer | Admins du projet (et de l’organisation) | Admins de l’organisation |
| Révéler et copier | Selon l’accès du secret (ci-dessous) | Selon l’accès du secret (ci-dessous) |
| Voir les noms | Tout membre du projet | Tout membre de l’organisation ou de l’un de ses projets |
Chaque secret a un accès, réglé par les admins qui le gèrent :
- Tous les éditeurs (organisation : Tous les membres) — par défaut : les éditeurs et contributeurs du projet, ou tous les membres de l’organisation, le révèlent.
- Admins seulement — seuls les admins du niveau le révèlent.
- Personnes choisies — les admins, et les membres cochés un à un. Une personne qui quitte le projet ou l’organisation perd les secrets pour lesquels elle avait été cochée, et ne les retrouve pas en étant réinvitée.
Une personne avec qui un secret n’est pas partagé voit toujours son nom, marqué réservé, sans Révéler ni Copier. L’accès ne vise que les personnes : tout agent du projet continue d’utiliser tous les secrets, quel que soit leur accès.
Seule une personne révèle une valeur ; les clés API n’atteignent pas le coffre. Chaque création, modification (accès compris), suppression et révélation est enregistrée dans le journal d’audit (plan Max).
Agents
Tout agent qui tourne sur une carte du projet peut utiliser tous les secrets disponibles dans ce projet, de niveau projet comme d’organisation. Il ne reçoit jamais de valeur dans son prompt ni dans son environnement : le skill vault lui apprend à demander un fichier privé.
stib vault list # noms, descriptions, niveaux — jamais de valeur
f="$(stib vault file DATABASE_URL)" # un fichier privé qui contient la valeur
DATABASE_URL="$(cat "$f")" npm run test:integration
env_file="$(stib vault env-file)" # tous les secrets en lignes `export NOM='valeur'`
( set -a; . "$env_file"; set +a; npm test )Les fichiers vivent dans un dossier temporaire privé de la carte, hors du dépôt, et disparaissent à la fin de l’exécution de l’agent. En sandbox, ils sont montés en lecture seule.
Ce contre quoi le coffre protège
Le coffre évite de montrer une valeur : il la tient à l’écart des messageries, des prompts et de la conversation, où une valeur que l’agent afficherait quand même devient 🔒 secret. Il ne la protège pas d’un agent à qui on la remet : cet agent peut encore la transmettre à son fournisseur de modèle. Une valeur de moins de 12 caractères n’est pas masquée dans la conversation.
Modifier ou supprimer un secret ne retire pas un fichier déjà remis à un agent en cours : ce fichier disparaît à la fin de son exécution.
Propositions des agents
Un agent n’écrit jamais dans le coffre. Quand il produit une valeur qui mérite d’être gardée — un jeton qu’il vient de créer, un mot de passe qu’il a fait tourner —, il la propose :
printf '%s' "$CF_TOKEN" | stib vault propose CLOUDFLARE_API_TOKEN --description "DNS stib.ai"La proposition apparaît dans la conversation de la carte, avec le nom et la description, mais jamais la valeur. Seul un admin du projet la décide :
- Ajouter au coffre… ouvre un formulaire prérempli : le niveau (projet, ou organisation pour un admin de l’organisation), le nom, la description et l’accès. La valeur va directement de la proposition au coffre, sans passer par le navigateur.
- Si un secret du même nom existe déjà, la tuile le signale et le bouton devient Remplacer… : la valeur est remplacée, le nom et l’accès du secret sont conservés ; choisir un autre niveau crée un nouveau secret. Un nom que seule l’organisation porte se remplace dans le coffre de l’organisation par un admin de celle-ci ; pour les autres, l’ajouter au projet le remplace dans ce projet seulement.
- Refuser supprime la valeur proposée.
Dans les deux cas, la proposition ne garde plus aucune valeur une fois décidée. Archiver ou supprimer la carte retire les propositions encore en attente.