Security¶
Design goals¶
- Local-first — no SaaS control plane, no telemetry by default
- Secrets stay on disk under
~/.omo/— KeePass + key file - Plugin isolation — out-of-process RPC; one bad plugin should not crash the host
- No nested secret RPC — host pushes config; plugins do not broker secrets mid-view
Key file hygiene¶
- Treat
~/.omo/keys/omo.keylike an SSH private key - Restrict permissions (
chmod 600) - Back up offline; do not commit to git
- Prefer the key-file model over sharing a master password in chat
Automation¶
- Use
omo secretsin CI/CD instead of baking passwords into images - Pass tokens via env at seed time (see playground
GITHUB_TOKEN) — do not commit PATs
Third-party plugins¶
- Review source before installing plugins from outside the official index
- Same caution as installing any ops CLI from the internet
Network trust¶
When a plugin connects to Redis, AWS, Argo CD, etc., credentials leave the machine only as needed for that protocol. Prefer TLS where available (sslmode for Postgres, HTTPS for Argo CD / APIs, enable_ssl for Kafka).
Vulnerability reporting¶
If you find an issue in credential handling or plugin isolation, prefer a private security advisory or email via oh-myops.com rather than a public issue with exploit details.