authz-designer

Designs and audits authorization models with RBAC, ABAC, and ReBAC schemas.

Updated Apr 5, 2026
One-click install
npx skills add https://github.com/Simon-YHKim/eject-button --skill authz-designer-simon-yhkim
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: authz-designer
Source: https://github.com/Simon-YHKim/eject-button/tree/main/.claude/skills/authz-designer
Command: npx skills add https://github.com/Simon-YHKim/eject-button --skill authz-designer-simon-yhkim

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Choosing and implementing the right authorization model is error-prone: teams over-engineer simple role checks with ReBAC, or force complex document-sharing graphs into plain RBAC, and often ship IDOR vulnerabilities by missing authorization middleware on endpoints. This Skill guides model selection, provides ready-to-use Postgres DDL, and audits existing code for privilege-escalation bugs. ## Core Features & Use Cases - Model Selection Guide: Decision table mapping scenarios to RBAC, ABAC, ReBAC, or hybrid models, with recommended stacks like OpenFGA, SpiceDB, Casbin, and Postgres RLS. - Schema Templates: Production-ready DDL for authz_roles, authz_role_assignments, authz_policies, and authz_audit_log tables with indexes and constraints. - Security Audit Checklists: Grep-based detection of missing authorization middleware, IDOR patterns, privilege-escalation paths, and JWT validation gaps. - Use Case: When a user asks to add Notion-style document sharing, the Skill recommends ReBAC, generates the relationship schema, and produces an audit checklist with regression tests. ## Quick Start Ask the assistant to design a permission system for your app, for example: design a role-based access control system with team workspaces and audit logging for my SaaS app.

Frequently Asked Questions about authz-designer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose between RBAC, ABAC, and ReBAC for my app?

Choose RBAC when roles are few and fixed like admin/user/viewer, ABAC when access depends on attributes like time or IP, and ReBAC when permissions follow relationship graphs like document sharing in Notion or Figma. A hybrid combining RBAC with ABAC conditions is the most realistic option for many apps.

What tools are recommended for implementing ReBAC?

For relationship-based access control, the Skill recommends OpenFGA from Auth0 or SpiceDB, which is based on Google's Zanzibar model. For simpler RBAC or ABAC needs, Casbin and Oso are suggested, while Postgres RLS works well with Supabase.

How do I detect IDOR vulnerabilities in my API endpoints?

Check that every route applies authorization middleware by grepping for route definitions missing authorize or requireAuth calls. Also search for queries that only compare user_id without role checks, since those allow attackers to access other users' resources by guessing IDs.

Can I rely on frontend role checks to protect admin features?

No, frontend checks like hiding an admin button are decorative only and must be annotated as UI-only gates. The server must remain the final authority, re-validating permissions on every sensitive operation rather than trusting JWT role claims without database verification.

When should I avoid using ReBAC for permissions?

Avoid ReBAC when a handful of fixed roles fully covers your access needs, such as a simple admin/user/viewer SaaS. Over-engineering with a relationship graph adds operational complexity without benefit when plain RBAC with Postgres RLS would suffice.