$ account cerbos
Cerbos is an open-source, cloud-native authorization engine (Policy Decision Point) that evaluates access policies at runtime. It processes authorization requests via gRPC and HTTP APIs, enforcing policies defined in YAML using RBAC, ABAC, and derived roles. The system ingests policies from multiple storage backends (disk, Git, SQL databases, cloud blob storage, Cerbos Hub) and compiles them into an optimized rule table with a bitmap-based index for low-latency evaluation. The rule table uses CEL (Common Expression Language) for condition evaluation, with partial evaluation for query planning. Architecturally, Cerbos is a Go monorepo producing two main binaries: `cerbos` (server + CLI tools) and `cerbosctl` (admin CLI). The server exposes gRPC/HTTP endpoints for CheckResources and PlanResources, along with admin, playground, and AuthZEN-compliant APIs. It includes built-in observability with OpenTelemetry metrics/tracing, structured logging, audit logging (local, Kafka, Hub), and telemetry. The evaluation engine is highly optimized with lazy dimension materialization, program caching, and functional core sharing to minimize memory and latency. External dependencies include protobuf, gRPC, CEL, OpenTelemetry, and various storage drivers (PostgreSQL, MySQL, SQLite, Kafka, BadgerDB, cloud SDKs). The project is designed for Kubernetes deployment (sidecar, service, daemonset), AWS Lambda, and systemd. It also provides a CLI for policy management, testing, and debugging, including a REPL for interactive condition evaluation.