Access Control in KanbanDeck

A brief guide to KanbanDeck's access control features, including Private Projects, Guest Users, and the two-tiered Access Level system.

Motivation: The Need For Access Control

In your business, you work with a number of individuals such as employees, managers, vendors, clients, temp-staff, interns, etc. In most cases, not all projects/initiatives need to be accessible to everyone.

General business initiatives such as those regarding employee benefits, policy changes, or brainstorming sessions should typically be accessible to all employees. But you'd usually want to avoid including clients/vendors in such discussions.

On the other hand, specific projects may require input/feedback from clients, but not require the involvement of every employee. And, of course, in all cases, company owners and team administrators should always be able to access all of their team's projects and initiatives.

Based on interactions with users, and from our own experience at GatorStack, it was clear that KanbanDeck required a system for managing users' access to projects. Such a system would need to account for different types of users such as managers, employees, clients, vendors, etc.

Two-Tier Access Control System

In line with the above motivation, we've implemented a two-tier access control system. In KanbanDeck, per-user access can be managed on a project-specific basis, and more generally, on a team-wide basis.

Additionally, KanbanDeck has two types of projects: team-wide projects and private projects. The two-tier access control system, in conjunction with two types of projects, allows you to set up fine-grained access control patterns for ensuring that the right users have access to the right projects.

Team-Wide Access Control

On a team-wide basis, a user may have one of three access levels: guest, regular, and admin.

Guest:
Regular:
Admin:

Please note that a team can have multiple team admins. Similarly, a team can have multiple team regulars and team guests.

Adding & Managing Team Members:

Team admins can go to the Users page to invite users and manage their team-wide access level. To invite a user, click the 'Invite' button, then fill and submit the invitation form. The invitee shall receive an email with a link to accept the invitation.

To manage the team-wide access level of a user, click on the menu button right next to their name, and click 'Change Access Level'. You can also use the same menu-button to deactivate (or reactivate) the access of any particular user.

Project Creation & Visibility:

Team admins and team regulars can create projects via the Projects page. To create a new project, click the 'Create Project' button. After entering a title and optional description, you can set the visibility of the project to 'Team Wide' or 'Private'.

Before discussing the difference between team-wide and private projects, we need to discuss project-specific access control.

Project-Specific Access Control

On a project-specific basis, a user may have one of three access levels: reader, regular, and admin.

Reader:
Regular:
Admin:

Project Creator Becomes a Project Admin

As mentioned before, a project may be created by a team admin or a team regular. For any given project, the creator of the project becomes a project admin (for that project).

Please note that a project can have multiple project admins. Similarly, a project can have multiple project regulars and multiple project readers.

Team-Wide Vs Private Projects

Team-Wide Projects:
Private Projects.

Adding Members To A Project

Project admins can add members to a project and manage their project-specific access level. To add project members, click on the menu button right next to the project's title and select 'Project Members' and scroll down to the 'Add Project Members' section.

Explicit Vs Implicit Access - An Example:

To make things clear, let's take an example. Consider the following team:

Let's say Roger (a team regular) creates a team-wide project titled "Website Redesign Project" or just WRP for short.

We see that while Roger is a team regular, he is a project admin for WRP. Now, let's say he needs Rita's help in managing the project's columns.

Further, let's say that WRP doesn't really require much involvement from Ronald.

Further yet, let's say that Roger needs to heavily collaborate with Greg, an outside developer they've contracted for managing their website.

Questions?

The two-tier access control system described above may feel a bit tricky at first. But in time, one easily gets accustomed to it. If you have any questions, please feel free to email [email protected]. We'll be happy to help.