Developers create a schema that models their permissions requirements and use a client library to apply the schema to the database, insert data into the database, and query the data to efficiently check permissions in their applications.
Features that distinguish SpiceDB from other systems include:
- Expressive gRPC and HTTP APIs for checking permissions, listing access, and powering devtools
- A 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
- An expressive schema language with tools for rapid prototyping, integration testing, and validating designs in CI/CD pipelines
- Pluggable storage system supporting memdb, MySQL, PostgreSQL, CockroachDB, and Cloud Spanner
- Deep observability with Prometheus metrics, structured logging, and OpenTelemetry tracing