Enables agents to use secrets without them ever touching storage, decrypted only in memory
178
ghostSecretsVault is a secret management vault that keeps credentials encrypted on disk and delivers them to CLI users, Docker containers, and AI agents strictly inside process memory.
Storing plain text credentials in environment files or writing unencrypted temporary files to disk exposes sensitive keys to unauthorized access. ghostSecretsVault solves this by decrypting secrets directly into process memory and passing them safely to your applications without ever writing plain text to the filesystem. Using this project allows you to securely manage passwords, container environment variables, and agent tools from your terminal without running a complex cloud server.
sops binary installed on your system PATHage binary installed on your system PATHuv pip install 'ghostSecretsVault[mcp]'
gsup init
gsup daemon
Store a secret interactively in the vault:
gsup set DB_PASSWORD
Enter value for DB_PASSWORD:
Re-enter value for DB_PASSWORD:
Stored secret 'DB_PASSWORD' in ghostVault.toml
Retrieve the stored secret directly into your system clipboard without displaying it on screen:
gsup get DB_PASSWORD --clip
Copied DB_PASSWORD to clipboard.
| Variable / Option | Purpose | Default Value |
|---|---|---|
GHOSTVAULT_CONFIG | Environment variable specifying the file path to ghostConfig.toml. | ./config/ghostConfig.toml |
paths.secrets_file | Relative file path to the encrypted TOML secret vault. | "ghostVault.toml" |
paths.age_key | Relative file path to the age private key file. | "age/keys.txt" |
cache.policy | Document caching strategy (MTIME for mtime checks or NONE for instant reads). | "MTIME" |
cache.fail_closed | Halts execution if cache validation fails. | true |
mcp.audit.fail_closed | Refuses secret mutations if the audit log cannot be updated. | true |
mcp.leases.default_ttl_s | Default lease duration in seconds for agent credential requests. | 300 |
mcp.leases.max_ttl_s | Maximum allowed lease duration in seconds. | 3600 |
mcp.leases.max_leases_per_agent | Maximum number of active concurrent leases per AI agent. | 4 |
graph TD
User([User / CLI]) -->|gsup get / set| Vault[ghostSecretsVault]
Container([Docker Container]) <--Injects env secrets-- Proxy[Docker API Proxy]
Proxy <--> Vault
Agent([AI Agent]) <--Opaque lease handles-- Broker[MCP Broker]
Broker <--> Vault
Vault <-->|Process Memory Only| Disk[(ghostVault.toml Encrypted File)]
This diagram shows how users, containers, and AI agents interact with ghostSecretsVault. The vault manages all credentials strictly inside process memory and safely delivers them to each consumer without writing plain text to disk.
Content type
Image
Digest
sha256:40ab627e3…
Size
90.5 MB
Last updated
2 months ago
docker pull mattcreigh/ghostsecretsvault