Overview
Implement the v0.5 MVP of 2keychains as defined in ROADMAP.md. This is a local-only secret broker that replaces direct secret access with a controlled intermediary. It introduces manual approval, contextual justification, UUID abstraction, and ephemeral injection.
Key Design Decisions
- Local-only: Runs on the same machine as the AI agent
- Plain JSON file for secret storage (NOT macOS keychain — that's a later phase)
- Discord webhook/bot for the approval flow
- Clean channel interface so future notification integrations (Slack, email, SMS) can be swapped in
- UUID abstraction: AI only interacts with UUID references, never human-readable names or raw values
- Contextual justification required for every access request (reason, task reference, duration)
- Time-bound ephemeral injection: Secrets injected into process environments for a short window, then purged
- Stateless flow: Request → Approve → Fetch → Inject → Purge
Technology
- TypeScript / Node.js
commander for CLI
discord.js for bot, Discord webhook API for notifications
uuid for UUID generation
- Plain JSON file for secret persistence
Exit Criteria (from ROADMAP)
- All secrets routed through broker
- Approval workflow stable
- Logging consistent and reliable
Security Limitations (acknowledged for v0.5)
- Runs on same host as AI
- Can be bypassed by attacker with system-level access
- Not resistant to privilege escalation
Out of Scope (Post-MVP)
- macOS Keychain integration
- 1Password sync
- Honeytoken / decoy secrets
- Rate limiting
- Anomaly detection
Overview
Implement the v0.5 MVP of 2keychains as defined in ROADMAP.md. This is a local-only secret broker that replaces direct secret access with a controlled intermediary. It introduces manual approval, contextual justification, UUID abstraction, and ephemeral injection.
Key Design Decisions
Technology
commanderfor CLIdiscord.jsfor bot, Discord webhook API for notificationsuuidfor UUID generationExit Criteria (from ROADMAP)
Security Limitations (acknowledged for v0.5)
Out of Scope (Post-MVP)