mipo
Security

Trust starts with the scanner

mipo is built for environments where every component must be auditable. The scanner is a stdlib-only Go binary, there is no auto-update channel, and nothing phones home.

What mipo does

Security properties

Stdlib-only scanner

The scanner is a Go static binary using only the standard library — a tiny, auditable supply chain.

No auto-update

Scanners are deployed manually; there is no silent update channel to compromise.

No telemetry

mipo does not phone home; all data stays in your deployment.

API keys + IP binding

Scanners authenticate with revocable API keys and can be bound to expected source IPs.

RBAC + OIDC/SSO

resource:action scopes with default roles; external IdP via generic OIDC with optional local fallback.

Owner bootstrap

Day-0 setup creates a local owner that bypasses scope checks; everything after is least-privilege.

TLS everywhere

HTTPS at the edge with configurable ACME/Let’s Encrypt certificate issuance.

Encrypted backups

Database backups are encrypted; restore is an explicit, audited operation.

Audit logs

A global interceptor records every state change to an append-only, tamper-evident log.

Honest limits

What mipo does not do

  • Not a goal No compliance guarantee — mipo collects evidence; auditors determine control satisfaction.
  • Not a goal No auto-patching — mipo reports exposure, it does not remediate hosts.
  • Not a goal No silent scanner updates — scanner upgrades are a deliberate, manual operator action.

mipo reports exposure and preserves evidence — it does not remediate hosts, patch software, or certify compliance.

Read the security model

A docs-style reference covers the supply chain, authentication, TLS, backups, and audit guarantees in detail.

Security model guide Compliance evidence