A robust, modular and extendable user management solution.

Pow is a complete authentication and user management library built in Elixir that works out-of-the-box for Phoenix and Plug based applications while being fully customizable.


User registration

Pow gives you out-of-the-box authentication and user management for your Phoenix or Plug based app. Functionally built so it's fully customizable.

Strong security is a core tenet of Pow's philosophy, which is why Pow by default uses short lived sessions. If your app requires stateless tokens, the authorization layer can be replaced in minutes.


Sign in

can't be blank



Pow has been used in countless production apps and is a "batteries included" library for production. The cache backend store used for session storage can be replaced with any key-value store of your choice.

The built-in Mnesia cache module works both for clusters and single machine persistence, that can auto-connect to the cluster on startup and self-heal after netsplit.


Pow is extremely modular and fully customizable. As your platform scales, each moving part can be modified or replaced ad-hoc. Several extensions are included in Pow so you with no effort can add secure features to your app like these:

PowAssent adds multi-provider support so your app can permit sign in with Github, Twitter or any other external profiles.


Sign in with