Local SQLite encryption
Credentials live locally and are encrypted with AES-256-GCM. The salt stays beside the vault, failing closed on mismatch.
v0.10.1 • local first • zero-trust broker
An encrypted local database, per-agent access policies, ephemeral environment injection, and unattended OAuth refresh. Keep plaintext API keys off your disk and out of autonomous agent contexts.
HERMES_VAULT_HOME variable.
Interactive Sandboxes
See how Hermes Vault scans plaintext configurations, imports credentials securely, and grants transient access to agents using Model Context Protocol (MCP) tool lifecycles.
Autonomous agent requests env variables via the get_ephemeral_env tool.
Vault verifies the calling agent ID against permissions in policy.yaml.
Key is safely materialized in agent environment for a TTL-bounded duration.
IdleWhat it does
Hermes Vault keeps credentials in a central, local database, checking caller policy and providing temporary keys only when needed. Agents can interact programmatically using standard MCP tools.
Credentials live locally and are encrypted with AES-256-GCM. The salt stays beside the vault, failing closed on mismatch.
policy doctor checks policy.yaml rules for agent capabilities, policy drift, and wildcard credential access.
Brokers transient key injection into environment variables with a strict Time-to-Live (TTL) countdown constraint.
Automatically rotates and refreshes OAuth tokens using stored refresh tokens without triggering a browser redirection.
Exposes tools like verify_credential and get_ephemeral_env to Claude Desktop, Cursor, and LLM hosts.
dashboard serves a secure browser layout from packaged assets, keeping secret payloads out of the DOM.
Reality check
No cloud sync. No central server audits. Destructive vault actions, raw key updates, and policy edits are locked to the local CLI, keeping browser dashboards strictly read-only and metadata-focused.
Allows absolute vault database and policy configuration separation using the --profile argument.
The console dashboard binds to 127.0.0.1 and generates a process-local token required for all API calls.
Verify backup age, check backups, and run non-mutating restore drills using the backup-verify utility.
Console Dashboard
The local dashboard (introduced in v0.8.0) renders health statistics, inventories, policies, and audits on localhost, keeping raw key payloads fully redacted.
Operator installation
Hermes Vault requires Python 3.11+. The safest production path is via isolated tool managers.
uv tool install git+https://github.com/asimons81/hermes-vault.git
hermes-vault scan --path ~/.hermes
hermes-vault import --from-env .env
Installs the CLI inside an isolated tool context. Recommends running a scan to flag plaintext secrets instantly.
Environment importer imports key variables automatically (e.g. *_API_KEY), skipping public configurations.
git clone https://github.com/asimons81/hermes-vault.git
cd hermes-vault
uv sync --extra dev
uv run pytest tests/ -q
Creates a synchronized editable environment with developer hooks and unit tests configured.
Never write real passphrases, databases, or provider token payloads into logs or test assets.
Release & status history
Hermes Vault has an active release trail. The local changelog tracks security fixes, command line updates, and dashboard improvements.
Adds explicit OAuth device-code login for headless shell sessions and remote server authorizations.
Unattended OAuth auto-refresh engines and generic custom verifiers.
Multi-vault profile support, file-based verifier plugins, tags and notes.
Hermes Vault Console local browser dashboard with safe action boundaries.
Policy doctor auditing tool, backup-verify drills, and Systemd integration helpers.