Skip to content

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.key like 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 secrets in 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.