Case study

Permit

Permit

Permit is an Elixir library that makes dealing with resource authorization and access control easier, providing a single source of truth about permissions in the application's business domain.

It helps maintain consistency and avoid repetition of authorization-related concerns, slotting in seamlessly into the Phoenix Controller pipelines and LiveView lifecycles.

Industry
Information technology
Country
Poland
Project size
Makes dealing with resource authorization and access control easier, simplifying permission management in Elixir and Phoenix projects

Technologies

Elixir
Phoenix
Phoenix LiveView
Postgres

Permit description

Permit helps unify permission management concerns across the codebase, providing a resource- and attribute-based, plain-Elixir rule definition syntax, as well as mechanisms for constructing Ecto queries for accessible resources based on defined permissions and consistently use it for preloading and authorizing resources in Phoenix controllers and LiveView.

Permit Elixir code example showing resource-based authorization implementation
Permit Elixir code example showing resource-based authorization implementation
No items found.

When plugged into Phoenix, it automatically preloads records based on current context (e.g. path and params) taken from a controller's Conn or, in LiveView, from the Socket and event parameters. It then either puts the found record in assigns if authorized, or handles authorization failure otherwise.

Permit can work with or without Ecto, as well as with or without Phoenix, and is extensible for usage with any other Elixir-based toolset through its Resolver behaviour. We encourage you to try it out in your applications or contribute to its development!

Learn more

Client’s voice

,

Let’s build something together

Ready to turn your curiosity into a successful digital product?
Share your idea, and let's explore the possibilities.

Our experts worked with 20+ worldwide tech innovators

Szymon Soppa
CEO