What it offers

Three jobs, one directory

Cardinal does three things, and the point is that they are not three products. They read the same people and groups, and one policy set decides all of them, so “who can reach what, and why?” has one answer.

How it fits together

Five pieces, one of them yours

A small, boring deployment: one binary, one database, your own proxy, and an agent on each managed host.

your proxyin frontcardinaladmin CLIyour appsOIDC or nonecardinal-serverone containercardinal-agenteach Linux hostPostgreSQL 18+the only datastore
cardinal-serverOne container

The API, the console, the OpenID Connect provider, the forwardAuth endpoint, the ACME directory and the event transmitter.

PostgreSQL 18+Beside it

The only datastore. No cache, no broker, nothing else to back up.

your proxyIn front

Terminates TLS, routes to applications, and asks Cardinal before serving a protected one.

cardinalAn admin machine

The command line. It signs in like a person; the few break-glass commands open the database instead.

cardinal-agentEach Linux host

Users, groups and sudo for that host, fetched with the host’s own key.