Monica Pass CLI Development
Version: 2026-05-24
Development input for a standalone Rust project monica-pass-cli/ in the repo root, reusing MDBX Rust crates while preserving strict security boundaries.
1. Objective
Build a production-grade binary monica-pass for:
- human interactive vault management in terminal
- policy-restricted AI-agent calls via SSH-key authenticated JSON interface
2. Security principles
Agent mode must not directly read/write .mdbx files or access master passwords, plaintext secrets, TOTP seeds, passkey private keys, or plaintext attachments.
Human mode may explicitly reveal secrets when requested. Agent JSON mode should default to read-only and redacted outputs.
3. Existing code baseline
Current Rust workspace (mdbx/) already includes running prototype capabilities in mdbx-cli and robust storage/crypto/sync primitives.
4. Product boundary
Must-have top-level commands:
unlocksearchgetaddeditdeletetotpsync
Recommended additions:
init,status,lock,session,agent,policy,audit,snapshot,doctor
5. Agent auth model
Use challenge-response with registered SSH public keys and short-lived scoped session tokens.
6. Policy model
Policy controls command permissions, vault scope, result limits, and session TTL. Default agent responses must be redacted unless explicitly permitted.
7. Delivery strategy
Create monica-pass-cli/ as a separate project. Reuse library crates from mdbx/ where possible. Do not couple the new project to old command-layer internals.
