Skip to content
forked from Permify/permify

Permify is an open-source authorization service inspired by Google Zanzibar.

License

Notifications You must be signed in to change notification settings

canhlinh/permify

 
 

Repository files navigation

Permify logo
Permify - Open Source Authorization Service

Permify Go Version  Permify Go Report Card  Permify Licence  Permify Discord Channel  Permify Release  Permify Commit Activity 

Permify - Open source authorization as a service

What is Permify?

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.

Key Features

⚙️ 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

Permify works best:

  • 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.

How it works

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.

Value Chain Schema

Try Permify 

Getting Started

Run in Postman View in Swagger

Community & Support

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.

permify | Discord permify | Twitter permify | Linkedin

Stargazers

Stargazers repo roster for permify/permify

About

Permify is an open-source authorization service inspired by Google Zanzibar.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.4%
  • Other 0.6%