whatisgithub

What is permify?

jbergstroem/permify — explained in plain English

Analysis updated 2026-07-15 · repo last pushed 2024-08-13

Audience · developerComplexity · 3/5StaleSetup · easy

In one sentence

Permify is an open-source authorization service that centralizes permission and access control logic for your app, letting you define who can do what in one place instead of scattering checks across your codebase.

Mindmap

mindmap
  root((repo))
    What it does
      Centralized access control
      Google-inspired authz model
      Multi-tenancy support
    Permission Types
      Role-based access
      Relationship-based logic
      Attribute-based rules
    Tech stack
      Go
      In-memory default storage
      External database support
    Use cases
      Google Docs-like sharing
      B2B SaaS platforms
      Complex folder hierarchies
    Audience
      Product teams
      App builders
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a document sharing app where users can grant view-only or edit access to specific people.

USE CASE 2

Manage different role structures for separate customers in a B2B SaaS platform.

USE CASE 3

Test permission logic before deploying to catch access control errors early.

What is it built with?

Go

How does it compare?

jbergstroem/permify0xhassaan/nn-from-scratch0xzgbot/hermes-comfyui-skills
Stars00
LanguagePython
Last pushed2024-08-13
MaintenanceStale
Setup difficultyeasymoderateeasy
Complexity3/54/51/5
Audiencedeveloperdeveloperdesigner

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Runs locally with a single command using in-memory storage by default, but production database configuration requires external documentation.

The explanation does not specify the license, but as an open-source project it likely allows free use and modification.

So what is it?

Permify is an open-source tool that handles permissions and access control for your application. Instead of writing custom logic to figure out who can view, edit, or delete what, you define your rules in one place and let the service handle the checks. It is modeled after Google's internal authorization system, aiming to bring that same level of robustness to any team. At a high level, you define your permission rules using a specialized language that supports traditional role-based permissions, relationship-based logic, and attribute-based rules. Once your rules are in place, your application talks to the service via an API to ask questions like "can this user access this document?" It also includes tools to test your permission logic before deploying it, and supports multi-tenancy if you need isolated permission models for different applications. This would be useful for product teams building apps with complex sharing or access needs. For example, a Google Docs-like product where users can share documents with specific people, grant view-only or edit access, and manage permissions across nested folders. Or a B2B SaaS platform where different customers need entirely different role structures. Instead of scattering permission checks throughout your codebase, you centralize them and get an auditable record of how access decisions are made. The project is built in Go and can be started locally with a single command. It stores authorization data in memory by default for quick testing, but can be configured to use a proper database for production. The README does not go into deep detail on database options or deployment specifics, pointing instead to separate documentation for those topics.

Copy-paste prompts

Prompt 1
How do I define role-based and relationship-based permission rules in Permify's modeling language?
Prompt 2
Show me how to call the Permify API from my app to check if a user can edit a specific document.
Prompt 3
How do I configure Permify to use a production database instead of the default in-memory storage?
Prompt 4
How do I set up multi-tenancy in Permify so different applications have isolated permission models?

Frequently asked questions

What is permify?

Permify is an open-source authorization service that centralizes permission and access control logic for your app, letting you define who can do what in one place instead of scattering checks across your codebase.

Is permify actively maintained?

Stale — no commits in 1-2 years (last push 2024-08-13).

What license does permify use?

The explanation does not specify the license, but as an open-source project it likely allows free use and modification.

How hard is permify to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is permify for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.