[{"data":1,"prerenderedAt":840},["ShallowReactive",2],{"navigation":3,"/docs/collaboration/roles-and-permissions":156,"/docs/collaboration/roles-and-permissions-surround":835},[4,23,83,103,118,133,141],{"title":5,"path":6,"stem":7,"children":8,"icon":22},"Getting Started","/docs/getting-started","docs/1.getting-started/1.index",[9,12,17],{"title":10,"path":6,"stem":7,"icon":11},"What is TaskView","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Installation","/docs/getting-started/installation","docs/1.getting-started/2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Quick Start","/docs/getting-started/usage","docs/1.getting-started/3.usage","i-lucide-rocket",false,{"title":24,"icon":22,"path":25,"stem":26,"children":27,"page":22},"Features","/docs/features","docs/2.features",[28,33,38,43,48,53,58,63,68,73,78],{"title":29,"path":30,"stem":31,"icon":32},"Projects and Lists","/docs/features/projects-and-lists","docs/2.features/1.projects-and-lists","i-lucide-folder",{"title":34,"path":35,"stem":36,"icon":37},"Organizations","/docs/features/organizations","docs/2.features/10.organizations","i-lucide-building-2",{"title":39,"path":40,"stem":41,"icon":42},"SSO (Single Sign-On)","/docs/features/sso","docs/2.features/11.sso","i-lucide-shield-check",{"title":44,"path":45,"stem":46,"icon":47},"Tasks","/docs/features/tasks","docs/2.features/2.tasks","i-lucide-check-square",{"title":49,"path":50,"stem":51,"icon":52},"Kanban Board","/docs/features/kanban","docs/2.features/3.kanban","i-lucide-columns-3",{"title":54,"path":55,"stem":56,"icon":57},"Dependency Graph","/docs/features/graph","docs/2.features/4.graph","i-lucide-git-branch",{"title":59,"path":60,"stem":61,"icon":62},"Dashboard","/docs/features/dashboard","docs/2.features/5.dashboard","i-lucide-layout-dashboard",{"title":64,"path":65,"stem":66,"icon":67},"Notifications","/docs/features/notifications","docs/2.features/6.notifications","i-lucide-bell",{"title":69,"path":70,"stem":71,"icon":72},"Webhooks","/docs/features/webhooks","docs/2.features/7.webhooks","i-lucide-webhook",{"title":74,"path":75,"stem":76,"icon":77},"API Tokens","/docs/features/api-tokens","docs/2.features/8.api-tokens","i-lucide-key-round",{"title":79,"path":80,"stem":81,"icon":82},"Sessions & Devices","/docs/features/sessions","docs/2.features/9.sessions","i-lucide-monitor-smartphone",{"title":84,"icon":22,"path":85,"stem":86,"children":87,"page":22},"Integrations","/docs/integrations","docs/3.integrations",[88,93,98],{"title":89,"path":90,"stem":91,"icon":92},"GitHub & GitLab Setup","/docs/integrations/setup","docs/3.integrations/1.setup","i-lucide-git-pull-request",{"title":94,"path":95,"stem":96,"icon":97},"MCP Server","/docs/integrations/mcp","docs/3.integrations/2.mcp","i-lucide-bot",{"title":99,"path":100,"stem":101,"icon":102},"Telegram & Slack Setup","/docs/integrations/messaging","docs/3.integrations/3.messaging","i-lucide-send",{"title":104,"icon":22,"path":105,"stem":106,"children":107,"page":22},"Configuration","/docs/configuration","docs/4.configuration",[108,113],{"title":109,"path":110,"stem":111,"icon":112},"Environment Variables","/docs/configuration/environment-variables","docs/4.configuration/1.environment-variables","i-lucide-settings",{"title":114,"path":115,"stem":116,"icon":117},"Authentication","/docs/configuration/authentication","docs/4.configuration/2.authentication","i-lucide-lock",{"title":119,"icon":22,"path":120,"stem":121,"children":122,"page":22},"Collaboration","/docs/collaboration","docs/5.collaboration",[123,128],{"title":124,"path":125,"stem":126,"icon":127},"Team Members","/docs/collaboration/members","docs/5.collaboration/1.members","i-lucide-users",{"title":129,"path":130,"stem":131,"icon":132},"Roles and Permissions","/docs/collaboration/roles-and-permissions","docs/5.collaboration/2.roles-and-permissions","i-lucide-shield",{"title":134,"path":135,"stem":136,"children":137,"icon":22},"FAQ","/docs/faq","docs/6.faq/1.index",[138],{"title":139,"path":135,"stem":136,"icon":140},"Frequently Asked Questions","i-lucide-circle-help",{"title":142,"icon":22,"path":143,"stem":144,"children":145,"page":22},"Guides","/docs/guides","docs/7.guides",[146,151],{"title":147,"path":148,"stem":149,"icon":150},"Deploy TaskView on a VPS with Nginx","/docs/guides/deploy-vps-nginx","docs/7.guides/1.deploy-vps-nginx","i-lucide-server",{"title":152,"path":153,"stem":154,"icon":155},"TaskView for Freelancers","/docs/guides/taskview-for-freelancers","docs/7.guides/2.taskview-for-freelancers","i-lucide-briefcase",{"id":157,"title":129,"body":158,"description":829,"extension":830,"meta":831,"navigation":832,"path":130,"seo":833,"stem":131,"__hash__":834},"docs/docs/5.collaboration/2.roles-and-permissions.md",{"type":159,"value":160,"toc":811},"minimark",[161,165,170,177,185,188,200,203,207,231,235,238,243,331,335,401,405,640,644,684,688,728,732,772,776,779,783,786,790],[162,163,164],"p",{},"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.",[166,167,169],"h2",{"id":168},"how-it-works","How it works",[162,171,172],{},[173,174],"img",{"alt":175,"src":176},"TaskView roles and permissions panel showing role creation and granular permission toggles per project","/docs/roles.png",[162,178,179,180,184],{},"Each ",[181,182,183],"strong",{},"project"," has its own set of roles and permissions. A role in one project doesn't affect access in another.",[162,186,187],{},"The chain is simple:",[162,189,190,193,194,193,197],{},[181,191,192],{},"Permission"," → assigned to → ",[181,195,196],{},"Role",[181,198,199],{},"User",[162,201,202],{},"A user can have one or more roles per project. Their permissions are the sum of what that role allows.",[166,204,206],{"id":205},"creating-roles","Creating roles",[208,209,210,217,224],"ol",{},[211,212,213,214,216],"li",{},"Go to the ",[181,215,119],{}," tab in a project",[211,218,219,220,223],{},"Open the ",[181,221,222],{},"Roles"," section",[211,225,226,227,230],{},"Click ",[181,228,229],{},"Add Role"," and give it a name (like \"Developer\", \"Designer\", \"Viewer\")",[166,232,234],{"id":233},"assigning-permissions-to-a-role","Assigning permissions to a role",[162,236,237],{},"After creating a role, toggle the permissions you want to grant. Permissions are grouped by area:",[239,240,242],"h3",{"id":241},"project-permissions","Project permissions",[244,245,246,261],"table",{},[247,248,249],"thead",{},[250,251,252,255,258],"tr",{},[253,254,192],"th",{},[253,256,257],{},"Key",[253,259,260],{},"What it allows",[262,263,264,279,292,305,318],"tbody",{},[250,265,266,270,276],{},[267,268,269],"td",{},"Delete project",[267,271,272],{},[273,274,275],"code",{},"goal_can_delete",[267,277,278],{},"Permanently delete the entire project",[250,280,281,284,289],{},[267,282,283],{},"Edit project",[267,285,286],{},[273,287,288],{},"goal_can_edit",[267,290,291],{},"Rename the project, change color",[250,293,294,297,302],{},[267,295,296],{},"Manage users",[267,298,299],{},[273,300,301],{},"goal_can_manage_users",[267,303,304],{},"Add/remove team members, assign roles",[250,306,307,310,315],{},[267,308,309],{},"Add lists",[267,311,312],{},[273,313,314],{},"goal_can_add_task_list",[267,316,317],{},"Create new task lists in the project",[250,319,320,323,328],{},[267,321,322],{},"View lists",[267,324,325],{},[273,326,327],{},"goal_can_watch_content",[267,329,330],{},"See the list of task lists (not the tasks inside)",[239,332,334],{"id":333},"list-permissions","List permissions",[244,336,337,347],{},[247,338,339],{},[250,340,341,343,345],{},[253,342,192],{},[253,344,257],{},[253,346,260],{},[262,348,349,362,375,388],{},[250,350,351,354,359],{},[267,352,353],{},"Delete list",[267,355,356],{},[273,357,358],{},"component_can_delete",[267,360,361],{},"Remove a task list and its contents",[250,363,364,367,372],{},[267,365,366],{},"Edit list",[267,368,369],{},[273,370,371],{},"component_can_edit",[267,373,374],{},"Rename a task list",[250,376,377,380,385],{},[267,378,379],{},"View tasks",[267,381,382],{},[273,383,384],{},"component_can_watch_content",[267,386,387],{},"See tasks inside a list - their title, status, deadlines, and times",[250,389,390,393,398],{},[267,391,392],{},"Add tasks",[267,394,395],{},[273,396,397],{},"component_can_add_tasks",[267,399,400],{},"Create new tasks in a list",[239,402,404],{"id":403},"task-permissions","Task permissions",[244,406,407,417],{},[247,408,409],{},[250,410,411,413,415],{},[253,412,192],{},[253,414,257],{},[253,416,260],{},[262,418,419,432,445,458,471,484,497,510,523,536,549,562,575,588,601,614,627],{},[250,420,421,424,429],{},[267,422,423],{},"Delete task",[267,425,426],{},[273,427,428],{},"task_can_delete",[267,430,431],{},"Permanently remove a task",[250,433,434,437,442],{},[267,435,436],{},"Edit description",[267,438,439],{},[273,440,441],{},"task_can_edit_description",[267,443,444],{},"Change the task title",[250,446,447,450,455],{},[267,448,449],{},"Edit status",[267,451,452],{},[273,453,454],{},"task_can_edit_status",[267,456,457],{},"Toggle the completion checkbox",[250,459,460,463,468],{},[267,461,462],{},"Edit note",[267,464,465],{},[273,466,467],{},"task_can_edit_note",[267,469,470],{},"Modify the rich-text note",[250,472,473,476,481],{},[267,474,475],{},"View note",[267,477,478],{},[273,479,480],{},"task_can_watch_note",[267,482,483],{},"See the note editor",[250,485,486,489,494],{},[267,487,488],{},"Edit deadline",[267,490,491],{},[273,492,493],{},"task_can_edit_deadline",[267,495,496],{},"Set or change start/end dates and times",[250,498,499,502,507],{},[267,500,501],{},"View details",[267,503,504],{},[273,505,506],{},"task_can_watch_details",[267,508,509],{},"Open the task detail panel (works only in UI)",[250,511,512,515,520],{},[267,513,514],{},"View subtasks",[267,516,517],{},[273,518,519],{},"task_can_watch_subtasks",[267,521,522],{},"See the subtasks section",[250,524,525,528,533],{},[267,526,527],{},"Add subtasks",[267,529,530],{},[273,531,532],{},"task_can_add_subtasks",[267,534,535],{},"Create subtasks",[250,537,538,541,546],{},[267,539,540],{},"Edit tags",[267,542,543],{},[273,544,545],{},"task_can_edit_tags",[267,547,548],{},"Add or remove tags on a task",[250,550,551,554,559],{},[267,552,553],{},"View tags",[267,555,556],{},[273,557,558],{},"task_can_watch_tags",[267,560,561],{},"See which tags are attached",[250,563,564,567,572],{},[267,565,566],{},"View priority",[267,568,569],{},[273,570,571],{},"task_can_watch_priority",[267,573,574],{},"See the task priority",[250,576,577,580,585],{},[267,578,579],{},"Edit priority",[267,581,582],{},[273,583,584],{},"task_can_edit_priority",[267,586,587],{},"Change the task priority",[250,589,590,593,598],{},[267,591,592],{},"View history",[267,594,595],{},[273,596,597],{},"task_can_access_history",[267,599,600],{},"See the change history of a task",[250,602,603,606,611],{},[267,604,605],{},"Restore history",[267,607,608],{},[273,609,610],{},"task_can_recovery_history",[267,612,613],{},"Restore a task to a previous state",[250,615,616,619,624],{},[267,617,618],{},"Assign users",[267,620,621],{},[273,622,623],{},"task_can_assign_users",[267,625,626],{},"Add or remove assignees",[250,628,629,632,637],{},[267,630,631],{},"View assignees",[267,633,634],{},[273,635,636],{},"task_can_watch_assigned_users",[267,638,639],{},"See who is assigned to a task",[239,641,643],{"id":642},"kanban-permissions","Kanban permissions",[244,645,646,656],{},[247,647,648],{},[250,649,650,652,654],{},[253,651,192],{},[253,653,257],{},[253,655,260],{},[262,657,658,671],{},[250,659,660,663,668],{},[267,661,662],{},"View Kanban",[267,664,665],{},[273,666,667],{},"kanban_can_view",[267,669,670],{},"See the Kanban board",[250,672,673,676,681],{},[267,674,675],{},"Manage Kanban",[267,677,678],{},[273,679,680],{},"kanban_can_manage",[267,682,683],{},"Create, edit, delete status columns and move tasks",[239,685,687],{"id":686},"graph-permissions","Graph permissions",[244,689,690,700],{},[247,691,692],{},[250,693,694,696,698],{},[253,695,192],{},[253,697,257],{},[253,699,260],{},[262,701,702,715],{},[250,703,704,707,712],{},[267,705,706],{},"View graph",[267,708,709],{},[273,710,711],{},"graph_can_view",[267,713,714],{},"See the dependency graph",[250,716,717,720,725],{},[267,718,719],{},"Manage graph",[267,721,722],{},[273,723,724],{},"graph_can_manage",[267,726,727],{},"Create and remove task dependencies",[239,729,731],{"id":730},"integration-permissions","Integration permissions",[244,733,734,744],{},[247,735,736],{},[250,737,738,740,742],{},[253,739,192],{},[253,741,257],{},[253,743,260],{},[262,745,746,759],{},[250,747,748,751,756],{},[267,749,750],{},"View integrations",[267,752,753],{},[273,754,755],{},"integrations_can_view",[267,757,758],{},"See connected GitHub/GitLab integrations",[250,760,761,764,769],{},[267,762,763],{},"Manage integrations",[267,765,766],{},[273,767,768],{},"integrations_can_manage",[267,770,771],{},"Add, remove, toggle, and sync integrations",[166,773,775],{"id":774},"assigning-roles-to-users","Assigning roles to users",[162,777,778],{},"In the Collaboration tab, find the user and select a role from the dropdown. The permissions take effect immediately.",[166,780,782],{"id":781},"the-project-owner","The project owner",[162,784,785],{},"The project owner automatically has all permissions. You don't need to assign a role to the owner - they can always do everything.",[166,787,789],{"id":788},"tips","Tips",[791,792,793,799,805],"ul",{},[211,794,795,798],{},[181,796,797],{},"Start with 2-3 roles"," - \"Admin\" (everything), \"Member\" (create and edit), \"Viewer\" (read only). Add more specific roles only if you need them.",[211,800,801,804],{},[181,802,803],{},"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.",[211,806,807,810],{},[181,808,809],{},"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.",{"title":812,"searchDepth":813,"depth":813,"links":814},"",2,[815,816,817,826,827,828],{"id":168,"depth":813,"text":169},{"id":205,"depth":813,"text":206},{"id":233,"depth":813,"text":234,"children":818},[819,821,822,823,824,825],{"id":241,"depth":820,"text":242},3,{"id":333,"depth":820,"text":334},{"id":403,"depth":820,"text":404},{"id":642,"depth":820,"text":643},{"id":686,"depth":820,"text":687},{"id":730,"depth":820,"text":731},{"id":774,"depth":813,"text":775},{"id":781,"depth":813,"text":782},{"id":788,"depth":813,"text":789},"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.","md",{},{"icon":132},{"title":129,"description":829},"ZrnhoPNEkmJjHBn2eK1OJbsl72gCDCjMod6auK6jRko",[836,838],{"title":124,"path":125,"stem":126,"description":837,"icon":127,"children":-1},"Invite team members to TaskView projects by email, assign tasks, manage access, and control visibility. Built-in collaboration tools with project ownership and role assignment for self-hosted project management.",{"title":139,"path":135,"stem":136,"description":839,"icon":140,"children":-1},"Common questions about TaskView - self-hosted open-source task and project management. Installation, features, security, Docker deployment, team collaboration, and more.",1783289464129]