Roles and Permissions

Role-based access control (RBAC) in TaskView - 28 granular permissions for tasks, lists, Kanban boards, dependency graphs, team members, and GitHub/GitLab integrations. Per-project roles with server-side enforcement.

TaskView uses a role-based access control (RBAC) system. You create roles, assign permissions to those roles, and then assign roles to team members. This way you define once what a "Developer" or "Viewer" can do, and simply assign that role to new people.

How it works

Each project has its own set of roles and permissions. A role in one project doesn't affect access in another.

The chain is simple:

Permission → assigned to → Role → assigned to → User

A user can have one or more roles per project. Their permissions are the sum of what that role allows.

Creating roles

  1. Go to the Collaboration tab in a project
  2. Open the Roles section
  3. Click Add Role and give it a name (like "Developer", "Designer", "Viewer")

Assigning permissions to a role

After creating a role, toggle the permissions you want to grant. Permissions are grouped by area:

Project permissions

PermissionKeyWhat it allows
Delete projectgoal_can_deletePermanently delete the entire project
Edit projectgoal_can_editRename the project, change color
Manage usersgoal_can_manage_usersAdd/remove team members, assign roles
Add listsgoal_can_add_task_listCreate new task lists in the project
View listsgoal_can_watch_contentSee the list of task lists (not the tasks inside)

List permissions

PermissionKeyWhat it allows
Delete listcomponent_can_deleteRemove a task list and its contents
Edit listcomponent_can_editRename a task list
View taskscomponent_can_watch_contentSee tasks inside a list - their title, status, deadlines, and times
Add taskscomponent_can_add_tasksCreate new tasks in a list

Task permissions

PermissionKeyWhat it allows
Delete tasktask_can_deletePermanently remove a task
Edit descriptiontask_can_edit_descriptionChange the task title
Edit statustask_can_edit_statusToggle the completion checkbox
Edit notetask_can_edit_noteModify the rich-text note
View notetask_can_watch_noteSee the note editor
Edit deadlinetask_can_edit_deadlineSet or change start/end dates and times
View detailstask_can_watch_detailsOpen the task detail panel (works only in UI)
View subtaskstask_can_watch_subtasksSee the subtasks section
Add subtaskstask_can_add_subtasksCreate subtasks
Edit tagstask_can_edit_tagsAdd or remove tags on a task
View tagstask_can_watch_tagsSee which tags are attached
View prioritytask_can_watch_prioritySee the task priority
Edit prioritytask_can_edit_priorityChange the task priority
View historytask_can_access_historySee the change history of a task
Restore historytask_can_recovery_historyRestore a task to a previous state
Assign userstask_can_assign_usersAdd or remove assignees
View assigneestask_can_watch_assigned_usersSee who is assigned to a task

Kanban permissions

PermissionKeyWhat it allows
View Kanbankanban_can_viewSee the Kanban board
Manage Kanbankanban_can_manageCreate, edit, delete status columns and move tasks

Graph permissions

PermissionKeyWhat it allows
View graphgraph_can_viewSee the dependency graph
Manage graphgraph_can_manageCreate and remove task dependencies

Integration permissions

PermissionKeyWhat it allows
View integrationsintegrations_can_viewSee connected GitHub/GitLab integrations
Manage integrationsintegrations_can_manageAdd, remove, toggle, and sync integrations

Assigning roles to users

In the Collaboration tab, find the user and select a role from the dropdown. The permissions take effect immediately.

The project owner

The project owner automatically has all permissions. You don't need to assign a role to the owner - they can always do everything.

Tips

  • Start with 2-3 roles - "Admin" (everything), "Member" (create and edit), "Viewer" (read only). Add more specific roles only if you need them.
  • Review permissions when something feels wrong - if someone can't edit a task or see the Kanban board, it's almost always a missing permission on their role.
  • Permissions are enforced on both client and server - even if someone inspects the UI or calls the API directly, the server checks permissions before allowing any action.

Built with Nuxt UI • © 2026 Thank you Nuxt Team for this awesome UI library and for the template!