Skip to content

Most secure identity and SSO container images, ranked by isolation score

How isolated are the most-pulled identity and SSO container images when you docker run them with plain defaults, no hardening flags? This page ranks 4 identity providers and single-sign-on servers (Keycloak, Authelia, Dex, Hydra) on IronClaw's seven-dimension container containment scale (0-100), best-isolated first. Scores run 48/100 to 63/100 (average 59/100). Higher is safer. Every score comes from ironctl scan, a credential-free audit you can run on your own containers in ten seconds.

No identity and SSO image ships fully isolated by default: the leaders still leave capabilities, egress, or a writable root filesystem open. The gap between any image here and a clean 100/100 grade A is a handful of docker run flags, shown on every scorecard.

Ranked best to worst

Rank Image Score Grade Top gaps (default config)
๐Ÿฅ‡ 1 dexidp/dex:v2.41.1 63/100 ๐ŸŸก C Dropped capabilities, Network isolation / egress, Read-only root filesystem
๐Ÿฅˆ 2 oryd/hydra:v2.2.0 63/100 ๐ŸŸก C Dropped capabilities, Network isolation / egress, Read-only root filesystem
๐Ÿฅ‰ 3 quay.io/keycloak/keycloak:26.0.7 63/100 ๐ŸŸก C Dropped capabilities, Network isolation / egress, Read-only root filesystem
4 authelia/authelia:4.38 48/100 ๐ŸŸ  D Dropped capabilities, Non-root user (uid != 0), Network isolation / egress

Scan your own identity and SSO container

These grades come from ironctl scan, one credential-free command that audits any running container, docker-compose service, or Kubernetes manifest, not just the identity and SSO images ranked above:

# install (Homebrew)
brew install ironsecco/ironclaw/ironclaw

# grade your own container the same way this page was generated
ironctl scan my-container

Part of the Container Isolation Scores directory. Generated from a reproducible survey by examples/isolation-survey/gen_scorecards.py and refreshed weekly, so this ranking never goes stale. Grades reflect each image's default configuration, not a limit of the image itself: every one reaches grade A with the right docker run flags.