Comment partager des secrets en toute sécurité avec les agents IA
Par Maxim Novak
Quand tu demandes à Claude de t'aider à configurer un serveur, où vont les mots de passe ?
Si tu les tapes directement dans le chat — « voici le mot de passe de ma base de données : ... » —, ils se retrouvent dans l'historique de la conversation. Ils sont dans le contexte du modèle. Ils sont peut-être stockés sur les serveurs du fournisseur d'IA. Pour une clé API que tu n'utiliseras qu'une fois, c'est un rayon d'impact bien plus large que le partage lui-même.
Les développeurs utilisent déjà des assistants IA pour mettre en place de l'infrastructure, déboguer des déploiements et faire tourner des identifiants. Ce qui manque, c'est une couche de transfert sécurisée — quelque chose qui garde les secrets hors du contexte du LLM tout en laissant l'agent agir dessus.
C'est précisément à ça que sert le serveur MCP de Vaulted.
De quoi il s'agit
Le serveur MCP de Vaulted (@vaulted/mcp-server) est un serveur Model Context Protocol qui donne aux assistants IA quatre outils pour travailler avec des secrets chiffrés :
| Outil | Ce qu'il fait |
|---|---|
create_secret | Chiffre et stocke un secret, renvoie un lien partageable à usage unique |
view_secret | Récupère et déchiffre un secret depuis une URL Vaulted |
check_status | Vérifie si un secret existe et combien de consultations restent (sans en consommer) |
list_secrets | Affiche les secrets suivis localement avec leur statut actuel |
Il fonctionne avec Claude Desktop, Cursor, Windsurf et tout client MCP en stdio. L'installation tient en un seul bloc de configuration.
Ce qui le distingue : l'entrée invisible pour l'agent
La fonctionnalité que la plupart des développeurs n'attendent pas : tu n'as pas besoin de donner directement la valeur secrète à l'agent.
Vaulted MCP prend en charge des sources d'entrée invisibles pour l'agent. Au lieu de transmettre la valeur brute, tu transmets une référence :
env:STRIPE_KEY— lit la valeur depuis une variable d'environnementfile:/path/to/api-key.txt— lit depuis un fichierdotenv:.env.local:DATABASE_URL— lit une clé précise dans un fichier.env
Le serveur MCP résout la référence côté serveur (localement, dans le processus de ton terminal). La valeur résolue est chiffrée immédiatement et n'entre jamais dans le contexte du LLM. L'agent accomplit la tâche sans jamais voir l'identifiant.
Donc, au lieu de :
« Partage ma clé Stripe : sk_live_abc123... »
tu dis :
« Partage ma variable d'environnement STRIPE_KEY en toute sécurité »
L'agent transmet env:STRIPE_KEY à create_secret. La clé n'apparaît jamais dans la conversation.
Voilà ce que signifie « invisible pour l'agent » : l'agent gère le flux de travail sans que le secret ne traverse sa fenêtre de contexte.
Chiffrement zero-knowledge
Le chiffrement sous-jacent est le même AES-256-GCM que celui utilisé par l'application web et la CLI de Vaulted. La clé de chiffrement vit uniquement dans l'URL fragment — elle n'est jamais envoyée aux serveurs de Vaulted. Quand un destinataire ouvre le lien, son navigateur le déchiffre localement.
Le serveur stocke un texte chiffré qu'il ne peut pas déchiffrer. Ton assistant IA ne voit pas le texte en clair. L'API de Vaulted ne voit pas le texte en clair. Seule la personne qui possède le lien peut le lire.
Pour commencer
Ajoute Vaulted au fichier de configuration de Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json) :
{
"mcpServers": {
"vaulted": {
"command": "npx",
"args": ["-y", "@vaulted/mcp-server"]
}
}
}
Le même format de configuration fonctionne dans Cursor (~/.cursor/mcp.json) et Windsurf (~/.codeium/windsurf/mcp_config.json).
Redémarre ton client IA et les quatre outils sont immédiatement disponibles. Aucun compte requis.
Exemples concrets
Partager une clé API directement :
« Partage ceci en toute sécurité : sk-abc123 »
L'agent appelle create_secret avec la valeur. Tu récupères un lien chiffré Vaulted à envoyer par Slack ou par e-mail.
Partager depuis une variable d'environnement :
« Partage ma variable d'environnement STRIPE_KEY en toute sécurité »
L'agent appelle create_secret avec env:STRIPE_KEY. La valeur réelle de la clé n'apparaît jamais dans la conversation.
Récupérer dans le presse-papiers :
« Récupère ce secret dans mon presse-papiers »
L'agent appelle view_secret avec le mode de sortie clipboard. La valeur déchiffrée atterrit dans ton presse-papiers sans s'afficher dans le terminal.
Vérifier si un secret a été consulté :
« Mon secret a-t-il déjà été consulté ? »
L'agent appelle check_status. Tu vois combien de consultations restent sans en consommer une.
Sous le capot
Quand tu lances npx @vaulted/mcp-server, cela démarre un processus local qui parle le transport stdio de MCP. Ton client IA s'y connecte comme à n'importe quel autre serveur MCP.
Pour les sources invisibles pour l'agent, le serveur lit la valeur depuis ton environnement local (variables d'environnement, fichiers, clés .env) avant le chiffrement. La valeur ne quitte jamais le processus local en clair. Elle est envoyée à l'API de Vaulted sous forme de texte chiffré — exactement comme si tu avais utilisé l'application web.
Les secrets s'autodétruisent : tu peux définir des limites de consultations (1, 3, 5 ou 10 consultations) et une expiration (de 1 heure à 30 jours). Une fois la limite atteinte, le texte chiffré est supprimé du serveur.
Le principe est simple : ajoute un seul bloc de configuration, et ton assistant IA gagne la capacité de gérer les identifiants de manière responsable — sans jamais avoir besoin de les voir.
Commence sur la page MCP → · Installer depuis npm · Voir sur GitHub