Security is a core pillar of the Simple CLI platform. This document outlines the protocols for secret management, process isolation, and secure runtime injection.
We strictly adhere to the principle of least privilege and secure injection. Secrets (API keys, passwords, tokens) are never passed as command-line arguments.
- Storage: Secrets are stored in a
.env.agentfile (gitignored) or injected via the environment of the parent process. - Manager: The
SecretManagerMCP server (src/mcp_servers/secret_manager/) acts as the gatekeeper.- Tool:
get_secretretrieves secrets securely. - Tool:
inject_secret(runtime only) allows secure passing of temporary secrets.
- Tool:
- Injection: The Orchestrator (
src/mcp.ts) automatically loads secrets from.env.agentand securely injects them into the environment variables of spawned child processes (Agents and MCP Servers).- No Logging: Values retrieved this way are explicitly excluded from logs.
To add a new secret:
- Add it to
.env.agent:MY_SECRET=value. - The Orchestrator will automatically make it available to all sub-agents.
- Agents can access it via
process.env.MY_SECRET.
(Future implementation details for containerized sandboxing can be added here.)