>

Apply for $700 in starter credits on AuthZed Cloud

[Apply now]
AuthZed iconAuthZed slash iconSpiceDB logo

Open Source Google Zanzibar

The standard for building authZ services

1
2
3
4
5
6
7
8
9

Features

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 APIs

Expressive APIs

Expressive gRPC and HTTP/JSON APIs for powering authorization logic in your client applications.

Distributed Graph

Distributed Graph

Distributed, parallel graph engine faithful to the architecture described in Google’s Zanzibar paper.

Prevents New Enemies

Prevents New Enemies

A flexible consistency model configurable per-request that includes resistance to the New Enemy Problem.

Configuration Language

Configuration Language

Intuitive authorization configuration language — SpiceDB Schema — with CI/CD integrations for validation & testing.

Secure

Pluggable Storage

Support for in-memory, Spanner, CockroachDB, PostgreSQL, and MySQL relationship storage.

Secure

Deep Observability

Deep observability with Prometheus metrics, pprof profiles, structured logging, and OpenTelemetry tracing.

Latest Release

SpiceDB v1.54.0

miparnisarimiparnisari released this about 16 hours ago
Release Notes

Security

Added

Changed

Fixed

  • The watching schema cache (--enable-experimental-watchable-schema-cache) no longer enters permanent fallback on transient watch errors. A new supervisor restarts the watch cycle with bounded exponential backoff and only treats caller-driven cancellation or unsupported-watch as terminal (https://github.com/authzed/spicedb/pull/3134)
  • Watch consumers that request WatchCheckpoints now eventually observe every revision returned by WriteRelationships as a checkpoint. MemDB regressed this in https://github.com/authzed/spicedb/pull/2578 for no-op writes and MySQL never emitted checkpoints at all prior to now. Both now emit a checkpoint at the new revision. (https://github.com/authzed/spicedb/pull/3114)
  • When Query Planner evaluates a union, short-circuit if one of the branches yields a positive un-caveated result (https://github.com/authzed/spicedb/pull/3120)
  • DispatchQueryPlan previously did not try to use the singleflight middleware for check calls. (https://github.com/authzed/spicedb/pull/3119)
  • Fixed regression introduced in 1.53.0. Postgres HeadRevision no longer allocates a new transaction ID on every call (https://github.com/authzed/spicedb/pull/3127)
  • Fixed regression introduced in 1.53.0 for MySQL migration scripts (https://github.com/authzed/spicedb/pull/3129)
  • Query Planner: LookupSubjects no longer returns a subject excluded from a wildcard (e.g. viewer:* - banned) when the exclusion feeds an intersection (experimental --experimental-query-plan ls) (https://github.com/authzed/spicedb/pull/3136)
  • Tracing: When server is shutting down, flush traces. Also, elide the need for setting OTEL_EXPORTER_OTLP_ENDPOINT. (https://github.com/authzed/spicedb/pull/3108)
  • Fixed a LookupSubjects issue in the query planner around the handling of wildcards in compound permissions (https://github.com/authzed/spicedb/pull/3140)
  • MySQL: identifiers (object/subject IDs and relationship counter names) are now stored with a case-sensitive (binary) collation, matching the Postgres, CockroachDB, and Spanner datastores. Previously, identifiers differing only in letter case (e.g. Foo and foo) incorrectly collided in unique indexes and lookups. ⚠️ The migration rebuilds the relation_tuple table in place via ALTER TABLE, which can hold a metadata/table lock for a long time on large datasets — run the upgrade in a low-traffic window, or apply it with an online schema-change tool (e.g. gh-ost). (https://github.com/authzed/spicedb/pull/3161)
  • server.NewConfigWithOptionsAndDefaults now populates Config and its embedded structs with the same defaults as the CLI flags, fixing zero-value behavior when embedding SpiceDB as a library. (https://github.com/authzed/spicedb/pull/3156)

What's Changed

New Contributors

Full Changelog: https://github.com/authzed/spicedb/compare/v1.53.0...v1.54.0

Docker Images

This release is available at authzed/spicedb:v1.54.0, quay.io/authzed/spicedb:v1.54.0, ghcr.io/authzed/spicedb:v1.54.0

What's Changed

New Contributors

Full Changelog: https://github.com/authzed/spicedb/compare/v1.53.0...v1.54.0

Docker Images

This release is available at authzed/spicedb:v1.54.0, quay.io/authzed/spicedb:v1.54.0, ghcr.io/authzed/spicedb:v1.54.0

Don’t reinvent the wheel

Integrate against AuthZed’s globally available authorization service in minutes.
Complete Ecosystem

SpiceDB Tooling

Everything you need to deploy, manage, and integrate SpiceDB.

SpiceDB Operator

Optimize your Day 1 and Day 2 operations the our official Kubernetes SpiceDB Operator.
Kubernetes controller for managing instances of SpiceDB
GoGitHub Star103GitHub Fork39
kubectl create spicedbcluster
Create, manage, and scale SpiceDB clusters with a single Kubernetes resource.
Zero-Downtime Datastore Migrations
Run painless migrations regardless of your backing datastore or SpiceDB version.
Automated Update Channels
Configure clusters to follow release channels and automatically roll out updates.
SpiceDB Docs

Learn Key Concepts

Define

Define a Permissions Schema

Define types of objects, how those objects relate to one another, and the permissions that can be computed from those relationships.
Define

Integrate Your Applications

Integrate with your application using official and community supported client libraries or make requests to the HTTP API endpoint.
Define

Test and Deploy

Use provided tooling to develop and validate schema changes. Use the built-in testing server to run real API calls against test data.

Define Authorization
as Schema

Design tailored authorization systems by defining relationships, permissions based on those relationships, and bits of policy called Caveats.

Learn Together


Join our thriving community to learn about SpiceDB, Zanzibar, production deployments, and more!

Users Online

Get started now

Join 1000s of users building delightful, secure application experiences.