Open-source authorization engine inspired by Google Zanzibar with ReBAC and ABAC access control, sub-millisecond gRPC checks, and PostgreSQL storage.
Software engineers Ege Aytin and Tolga Ozturk built Permify after repeatedly rewriting authorization logic across microservices, aiming to package Google's Zanzibar architecture into a standalone engine. Following its acquisition by FusionAuth, the project remains an independent service that externalizes access control from application code. Today, it translates relationship models and context policies into sub-millisecond graph checks across microservices without relying on proprietary cloud vendors.
Auth0 manages user authentication, identity verification, and coarse session tokens. Teams often start by packing roles into Auth0 JWT claims, but this breaks down when permissions depend on nested hierarchies or resource ownership. Token payloads balloon, and syncing real-time revocations across microservices becomes impractical. While Auth0 offers fine-grained authorization as an add-on cloud service, it locks permission schemas and relationship tuples inside a metered vendor environment.
Permify approaches access control from the internal architecture out. Deployed directly alongside PostgreSQL, it evaluates permissions via high-throughput gRPC and REST endpoints without overloading perimeter tokens. Application services push relationship tuples into Permify through background workers or change-data-capture pipelines like Debezium. This decoupling lets engineering teams retain their existing authentication provider for login while running graph-based access checks internally with complete operational control over data locality.
xid8 and pg_snapshot) for snapshot isolation, preventing deployment on MySQL or distributed PostgreSQL-compatible engines like CockroachDB without schema modifications.Does Permify replace Auth0? No. Auth0 handles user authentication and identity tokens, whereas Permify handles runtime authorization checks; teams typically use Auth0 to verify identity and Permify to evaluate permissions.
Can Permify run without an external database? Permify includes an in-memory storage engine suitable for local testing, but production deployments require a persistent PostgreSQL database to store relationship tuples.
How does Permify achieve low latency on deep permission checks? Permify evaluates relationships as a directed graph using concurrent traversal algorithms and in-memory caching, returning permission decisions in tens of milliseconds even across nested resource trees.
Permify is the right fit for teams designing complex, hierarchical permissions who want to avoid vendor lock-in and keep authorization checks close to their backend services; it is unnecessary overhead for simple web applications that only need basic role badges on user profiles. With active maintenance following its acquisition by FusionAuth—continuing regular updates through September 2026—the project operates under the AGPL-3.0 license, which warrants architectural review if you intend to distribute hosted authorization services to third parties.
Commands from the official package registries. Each package is matched to Permify through the registry's own link to its source code or website.
brew install permifybrew install permifyGo, gRPC and Protobuf done right, LLM agents in production, and the hard parts of shipping a first product.
Show that Permify is listed as an open-source alternative. Paste into your README: