SpiceDB is the most scalable and consistent Google Zanzibar-inspired database for storing and computing permissions data—use it to build global-scale fine grained authorization services.
Expressive gRPC and HTTP/JSON APIs for powering authorization logic in your client applications.
Distributed, parallel graph engine faithful to the architecture described in Google’s Zanzibar paper.
A flexible consistency model configurable per-request that includes resistance to the New Enemy Problem.
Intuitive authorization configuration language — SpiceDB Schema — with CI/CD integrations for validation & testing.
Support for in-memory, Spanner, CockroachDB, PostgreSQL, and MySQL relationship storage.
Deep observability with Prometheus metrics, pprof profiles, structured logging, and OpenTelemetry tracing.
--experimental-query-plan is enabled. (https://github.com/authzed/spicedb/pull/3052)withDebug flag in LookupResources calls to identify cycles (https://github.com/authzed/spicedb/pull/3070)go_sql_stats_connections_* in favor of those prefixed with go_sql_* (https://github.com/authzed/spicedb/pull/2980)--datastore-spanner-metrics=deprecated-prometheus; please use values otel or native (https://github.com/authzed/spicedb/pull/2980)--datastore-spanner-max-sessions and --datastore-spanner-min-sessions flags are now deprecated and no-op. We also strongly recommend using Application Default Credentials in favor of a credentials file. (https://github.com/authzed/spicedb/pull/3038)"ERROR: index \"pk_relation_tuple\" cannot be used for this query (SQLSTATE 42809)" returned when using wildcards (https://github.com/authzed/spicedb/pull/3039)--grpc-tls-cert-path, --grpc-tls-key-path) but not the other is now considered an error state, as both are necessary if you want to use TLS.kubectl create spicedbclusterDesign tailored authorization systems by defining relationships, permissions based on those relationships, and bits of policy called Caveats.