Permify is an open-source authorization service for creating and maintaining fine-grained authorizations in your applications.
With Permify you can easily structure your authorization model, store authorization data in your own servers securely, and interact with Permify API to handle all authorization questions from any of your applications.
Permify's data model is inspired by Google’s consistent, global authorization system, Google Zanzibar Paper.
⚙️ Production ready authorization API that serve as gRPC and REST
🔮 Domain Specific Authorization Language - Permify Schema - to easily model your authorization
🔐 Database Configuration to store your permissions in house with high availability
✅ Ask authorization questions and get answers down to 10ms with parallel graph engine
💪 Battle tested, robust authorization architecture and data model based on Google Zanzibar
📝 Audit & Reason your access control hassle-free with various functionalities via API
⚡ Analyze performance and behavior of your authorization with tracing tools jaeger, signoz or zipkin
- If you already have an identity/auth solution and want to plug in fine-grained authorization on top of that.
- If you want to create a unified access control mechanism to use across your individual applications.
- If you want to make future-proof authorization system and don't want to spend engineering effort for it.
- If you’re managing authorization for growing micro-service infrastructure.
- If your authorization logic is cluttering your code base.
- If your data model is getting too complicated to handle your authorization within the service.
- If your authorization is growing too complex to handle within code or API gateway.
Permify stores access control relations on a database you choose and performs authorization checks based on the stored relations. We called that database Write Database (WriteDB) and it behaves as a centralized data source for your authorization system. You can model your authorization with Permify's DSL - Permify Schema and perform access checks with a single API call anywhere on your stack.
- Set Up & Run Permify Service in your environment.
- Follow a guide to model your authorization using Permify Schema.
- Learn how Permify Store Authorization Data as relations.
- See our playground, build your authorization logic and test it with sample data.
- Take a look at the overview of Permify API.
We love to talk about authorization also we would love to hear from you ❤️
You can get immidiate help on our Discord channel. This can be any kind of questions related to Permify, authorization, or even from authentication or identity access control. We'd love to discuss anything related with access control space.
For feature requests, bugs or any improvements you can always open an issue. If you like Permify, please consider giving us a ⭐
Want to contribute ? See CONTRIBUTING.md.