NoEnv keeps the key on this machine. The agent asks for a capability, Muse Spark 1.3 scores it via the Meta API (or a local model you bring), you approve, and the secret never enters the chat.
Apache-2.0 · No account · No telemetry · From the crypto industry, securing wallets since 2025.Policy denies it before the model is asked. The warden can narrow a scope or force you to look. It cannot widen one, and it never sees the key.
Pick a step. The buttons are a simulation. Nothing is stored, and no key is real.
You type it in the app. The field clears. The agent learns the alias and the ceiling, never the value.
Stored. The field is empty, and it stays empty.
Cursor calls the MCP tool. There is no secret field on the call.
Muse Spark 1.3 via the Meta API by default, or the model on your own local endpoint. The prompt is the agent, the alias, the scope, and the reason.
Writes always ask. A standing approval is only for a read the warden called low.
The key is not in this payload.
Apache-2.0. The vault, the warden, the MCP server, and the audit log ship together. There is no tier to upgrade into.
Fork it, read it, run it without an account.
The daemon binds to localhost. The warden defaults to Muse Spark via the Meta API.
Milestones.
From the crypto industry, securing wallets since 2025.
Built and shipped consumer products across trading bots, finance tools, social networks, and games (goodrecmovies, Purrbook, ChessGods, GalaxyUI) hosted on whativedone.xyz.
Architected the local AES-256-GCM vault daemon (vaultd), deterministic policy ceiling, Model Context Protocol server, secret canary test sweep, and Electron approval shell.
Launched the Meta Hackathon (Indie track) interactive pitch deck at metahackathon.whativedone.xyz. Hardened adversarial prompt defenses (11-02). Made Muse Spark 1.3 via the Meta API the default warden, with a bring-your-own local endpoint, Muse Glimmer recommended (11-03). The caller-process check is opt-in and off by default.
Installer downloads are paused while distribution notices are updated. Build from source in the meantime.
{ "mcpServers": { "noenv": { "command": "node", "args": ["<noenv>/dist/packages/mcp/src/server.js"], "env": { "NOENV_AGENT_ID": "cursor", "NOENV_IDE": "Cursor" } } } }