---
title: "Roles and permissions"
description: "A permissions matrix for a studio's roles: grouped permission rows, a locked Owner column, group rows that set a whole area, an unsaved-changes footer and custom roles."
plan: Pro
docs: https://ui.edbn.me/docs/blocks/roles-permissions
---

# Roles and permissions

A permissions matrix for a studio's roles: grouped permission rows, a locked Owner column, group rows that set a whole area, an unsaved-changes footer and custom roles.

Kilnwork's roles at Pine Street Pottery against what each can do: permissions in rows grouped by area, a column per role with its member count. The Owner column is ticked and locked with a lock icon and a note. A group's row sets or clears the whole area for a role and shows a dash when it's mixed, and an edit that needs the area's View turns it on with it. Edits wait in a sticky footer that counts them, with Discard and Save, which keeps its width while it saves. Each changed box carries a dot until it's saved. The matrix is one tab stop: arrow keys, Home and End move between boxes and Space ticks one. New role starts blank or from another role; a custom role can be renamed, duplicated or deleted after a confirm that says where its members go, and a built-in one duplicated. Narrower than 672px the matrix shows one role at a time, picked from a select.

A Pro block built on Base UI and Tailwind CSS v4.

## Installation

This is a Pro item. Once per project, create a token at https://ui.edbn.me/dashboard/tokens, put it in `.env.local` as `EDBN_TOKEN`, and add the registry to `components.json`:

```json
{
  "registries": {
    "@edbn": {
      "url": "https://ui.edbn.me/r/{name}.json",
      "headers": { "Authorization": "Bearer ${EDBN_TOKEN}" }
    }
  }
}
```

Then install:

```bash
npx shadcn@4.19.0 add @edbn/roles-permissions
```

## Dependencies
- npm: lucide-react@^1.33.0
- edbn: edbn-base, alert-dialog, badge, button, card, checkbox, dialog, dropdown-menu, field, input, select, spinner, table

## Source

The source is part of Pro (https://ui.edbn.me/pricing). The install above adds it to the project, ready to edit.

## More settings blocks

All 13, with install commands: https://ui.edbn.me/docs/blocks/settings (Markdown: https://ui.edbn.me/docs/blocks/settings.md)

## For agents
- Base theme, once per project: npx shadcn@4.19.0 add https://ui.edbn.me/r/edbn-base.json
- MCP server with search, items, examples and source: https://ui.edbn.me/mcp
- Every page and item: https://ui.edbn.me/llms.txt
