Every cell collapses to the same “View”.
No relationship. No field exception. No condition. The interesting cases get buried in a comment column nobody reads on the call.
Your access control lives in a spreadsheet. Permisly is a visual RBAC design tool for modeling roles, resources, and field-level permissions, getting sign-off before implementation, and presenting the hierarchy live in grooming. Not Okta — the design layer teams need before implementation.
Free includes one RBAC workspace. Solo and Pro add workspace capacity monthly.
A flat grid answers “can Editor view?” It can't answer “can a Manager view a record created by their own Staff, but not one from another group, and only if sensitive fields are hidden?” That's not a formatting problem. It's a dimensionality problem. Permisly models the fourth dimension a spreadsheet can't: the relationship between the actor and the record, which is exactly what relationship-based access control is built on.
No relationship. No field exception. No condition. The interesting cases get buried in a comment column nobody reads on the call.
Relationship is a first-class axis. Conditions and field hiding sit next to the permission, not in a footnote three tabs over.
Design the RBAC model once. Send it for sign-off. Read it aloud on the grooming call without translating a permission matrix in your head.
Roles, resources, actions, and relationship scopes, yours rather than a template that almost fits.
Send a link. Your lead reviews, edits if needed, approves. You see exactly what changed.
Presenter mode steps through one role at a time, in plain language, built to be read aloud on a call.
Access is not only role × action. It is role × action × relationship to the record, with own, same group, other group, and superior scopes, plus field-level exceptions attached to each scope.
Set default permissions once at the parent role and override only where it differs.
Define workspace-specific permission states beyond a generic 3-state grid.
Import an existing CSV access model with best-effort mapping instead of starting from scratch.
Zero-login viewer links so your whole team can follow along live on grooming calls.
One role at a time. Plain language. Built for the fifteen minutes on a grooming call when everyone is staring at you and the spreadsheet is already lying.
Start with one RBAC workspace for free, then add capacity as your access model grows. Every plan is priced around the workspaces you manage.
1 RBAC workspace
5 RBAC workspaces
25 RBAC workspaces
FAQ
Role-based access control means users have permissions based on their job (role), not individual rules.
Before engineering builds it. Catching mistakes in a grooming call is cheaper than refactoring production permissions.
A role is a job (editor). A permission is an action (edit posts). Roles group permissions.
They hide relationships, are hard to present live, and drift from code.
Restrictions beyond role × action, e.g. product.vendor_id = user.vendor_id.
It prevents role explosion. One admin role + conditions beats admin_US / admin_EU / admin_APAC.
RBAC uses roles; ABAC uses attributes. Most apps use RBAC plus field-level conditions.
Combine permissions from each role. Document the merge rule.
No card for Starter. Open a workspace, import a CSV, or start from the Deals example on this page.
Start free