The installer
No account. No telemetry. The vault stays on this machine.
Download for WindowsWindows first. One MCP snippet. You approve. The agent receives a result, never the secret.
No account. No telemetry. The vault stays on this machine.
Download for Windowsgit clone https://github.com/0xm0w/openvault cd openvault npm install npx tsc -p tsconfig.json --outDir dist
The vault is already safe with the model off. Edge acceleration adds judgement. Default model: Llama 3.2 1B (Edge / WebGPU DirectML), about 1.3 GB.
Get OllamaAES-256-GCM. The master key goes to the OS keychain, not a file you can paste.
Detects the GPU and loads Llama 3.2 1B (Edge / WebGPU DirectML). Skip this and policy still holds the ceiling.
openvault add stripe --scope charges.read reads a hidden prompt. The agent learns the alias and the ceiling.
Replace <openvault> with your checkout. The agent id is how audit and revoke find that IDE. Full host notes live in docs/MCP.md.
{
"mcpServers": {
"openvault": {
"command": "node",
"args": ["<openvault>/dist/packages/mcp/src/server.js"],
"env": {
"OPENVAULT_AGENT_ID": "cursor",
"OPENVAULT_IDE": "Cursor"
}
}
}
}{
"mcpServers": {
"openvault": {
"command": "node",
"args": ["<openvault>/dist/packages/mcp/src/server.js"],
"env": {
"OPENVAULT_AGENT_ID": "claude-code",
"OPENVAULT_IDE": "Claude Code"
}
}
}
}VS Code uses servers, not mcpServers.
{
"servers": {
"openvault": {
"type": "stdio",
"command": "node",
"args": ["<openvault>/dist/packages/mcp/src/server.js"],
"env": {
"OPENVAULT_AGENT_ID": "vscode",
"OPENVAULT_IDE": "VS Code"
}
}
}
}[mcp_servers.openvault] command = "node" args = ["<openvault>/dist/packages/mcp/src/server.js"] [mcp_servers.openvault.env] OPENVAULT_AGENT_ID = "codex" OPENVAULT_IDE = "Codex"
{
"mcp": {
"openvault": {
"type": "local",
"command": ["node", "<openvault>/dist/packages/mcp/src/server.js"],
"environment": {
"OPENVAULT_AGENT_ID": "opencode",
"OPENVAULT_IDE": "OpenCode"
}
}
}
}Five tools. There is no approve tool. An agent that calls the approve route itself gets 401.
Real screenshots. The credential in them is a test value.
Ceilings, expiry, and your approval. Works with the model switched off.
Edge / WebGPU DirectML on this machine. Risk, a recommended scope, one line of why.
Same metadata. Stronger judgement. Still no key in the prompt.
A large local GPU. Nothing about the request leaves the machine.
Metadata only, to the API you configure. The key stays in the daemon.
Byzantine fault-tolerant consensus: Meta API (cloud) plus on-device Llama co-audit. Cross-verification with offline fallback.
Effort is separate: Fast, Standard, or Deep. Deep runs two passes; if they disagree it keeps the narrower scope, raises risk to the higher of the two, and requires your approval. Why the floor holds is on the research page.
The grant expires when that call returns.
A pending approval that you ignore is gone.
App, CLI, or the MCP revoke tool. Pending and future grants for that agent stop.
Who asked, which IDE, the scope, the warden line, your decision, execution, expiry, revocation.
No key, fragment, or hash. Same ban on MCP responses and the settings screen. The check is the 27-surface canary.
stripe → charges.read means a write never runs, even if a model recommends it. Always-allow is only for a low, read-only repeat. Those standing approvals live in memory and clear on restart.
Apache-2.0. Windows is the supported platform today. macOS packaging is parked.