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

saifxd7/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  GitHub Workflow Status  Scrutinizer code quality (GitHub/Bitbucket)  Coveralls

Permify - Open source authorization as a service

Join Our Team

Permify is on the lookout for engineers eager to tackle challenges in authorization. Join us!

We are hiring 

What is Permify?

Permify is a open-source authorization service for creating and managing fine-grained permissions in your applications and services. Inspired by Google’s consistent, global authorization system, Google Zanzibar

With Permify, you can:

🔮 Create permissions and policies using Permify's flexible authorization language that is compatible with traditional roles and permissions (RBAC), arbitrary relations between users and objects (ReBAC), and attributes (ABAC).

🔐 Manage and store authorization data in your preferred database and interact with the Permify API to perform access checks, filter your resources with specific permissions, and more.

🧪 Test your authorization logic with Permify's testing framework. You can conduct scenario-based testing, policy coverage analysis, and IDL parser integration to achieve end-to-end validation for the desired authorization schema.

⚙️ Create custom authorization models for different applications using Permify Multi-Tenancy support, all managed within a single place - Permify instance.

⚡ Analyze performance and behavior of your authorization with tracing tools jaeger, signoz or zipkin

Cases that can benefit from Permify

  • 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.
+ Missing a specific use case? no problem, let's discuss it together! just open an issue. 

Learn

Community ♥️

We would love to hear from you!

Get the latest product updates, receive immediate assistance from our team members, and feel free to ask any questions about Permify or authorization in a broader context by joining our conversation on Discord!

Join Our Discord 

QuickStart

You can quickly start Permify on your local with running the docker command below:

docker run -p 3476:3476 -p 3478:3478  ghcr.io/permify/permify serve

This will start Permify with the default configuration options:

  • Port 3476 is used to serve the REST API.
  • Port 3478 is used to serve the GRPC Service.
  • Authorization data stored in memory.

See all of the options that you can use to set up and deploy Permify in your servers.

Test your connection

You can test your connection with creating an GET request,

localhost:3476/healthz

Contribution

  • Contribute to codebase: We're collaboratively working with our community to make Permify the best it can be! You can develop new features, fix existing issues or make third-party integrations/packages.
  • Improve documentation: Alongside our codebase, documentation one of the most significant part in our open-source journey. We're trying to give the best DX possible to explain ourselfs and Permify. And you can help on that with importing resources or adding new ones.
  • Contribute to playground: Permify playground allows you to visualize and test your authorization logic. You can contribute to our playground by improving its user interface, fixing glitches, or adding new features.

You can find more details about contributions on CONTRIBUTING.md.

Stargazers

Stargazers repo roster for permify/permify

Communication Channels

If you like Permify, please consider giving us a ⭐

permify | Discord permify | Twitter permify | Linkedin

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 90.6%
  • JavaScript 7.9%
  • Less 1.1%
  • Makefile 0.2%
  • TypeScript 0.1%
  • Dockerfile 0.1%