Skip to content

Permissions & Roles

Bifolk uses a role-based access control (RBAC) system to manage what each user can do within an organization. Every user has a specific role in each organization they belong to, and that role determines their permissions.

Target Audience: Organization owners and administrators


Role Hierarchy

Bifolk uses four roles, ordered from most to least privileged:

Owner > Admin > Member > Viewer

Each role inherits all capabilities of the roles below it. For example, an Admin can do everything a Member can do, plus additional management tasks.


Role Capabilities

Capability Owner Admin Member Viewer
View all resources
Create resources (hives, inspections, etc.)
Edit own resources
Edit all resources
Delete resources
Manage members (invite, remove, change roles)
View and manage invitations
Change organization settings
Export data
Import data
Transfer hives between organizations
Edit organization details (name, type, logo)
Assign the Owner role
Remove an Owner
Delete the organization

Role Descriptions

Owner

Full control over the organization. The user who creates an organization automatically becomes its Owner.

  • All capabilities of Admin, plus:
  • Can edit organization details (name, type, description, logo, active status)
  • Can delete the organization and all its data
  • Can assign and revoke the Owner role for other members
  • Can remove other Owners
  • There must always be at least one Owner per organization

Admin (Administrator)

Management-level access for day-to-day operations:

  • Can create, edit, and delete all resources in the organization (hives, inspections, operations, harvests, etc.)
  • Can manage members: invite new members, remove existing members, and change roles (up to Admin level)
  • Can view and manage invitations
  • Can change organization settings (date format, units, numbering schemes, notifications, branding)
  • Can export and import data
  • Can transfer hives between organizations (requires Admin or Owner in both organizations)
  • Cannot edit organization details (name, type, logo)
  • Cannot assign the Owner role to others
  • Cannot remove an Owner
  • Cannot delete the organization

Member

Standard contributor access for active beekeepers:

  • Can view all resources in the organization
  • Can create new resources (hives, inspections, operations, harvests, breeding records, etc.)
  • Can edit resources they created themselves
  • Cannot edit resources created by other members
  • Cannot delete any resources
  • Cannot manage members, invitations, or organization settings

Viewer

Read-only access for observers:

  • Can view all resources in the organization
  • Cannot create, edit, or delete any resources
  • Cannot manage members, invitations, or settings
  • Useful for family members, mentors, or external observers who only need to read data

Tip

The Viewer role is ideal for people who want to follow along with the organization's beekeeping activities without making changes, such as family members or club advisors.


Special Permission Cases

Owner Role Protection

Admins cannot modify, demote, or remove Owner memberships. This applies to both the member role-change page and the invitation form:

  • Role change: An Admin who opens the role-change page for a member with the Owner role will be redirected with an error. The Owner option is not shown in the role dropdown for non-Owners.
  • Invitations: The Owner role is not available in the invitation form for Admins. A server-side check also rejects any POST that attempts to invite a new Owner by an Admin.

Only an existing Owner can assign the Owner role to another member or remove it.

Hive Transfers

Transferring a hive from one organization to another requires the user to be an Admin or Owner in both the source and destination organizations. If you are not an Admin or Owner in any other organization, the transfer option is not available.

Closed Batches and Buckets

Closed honey charges (batches) and buckets cannot be modified by anyone, including Owners. This ensures the integrity of honey traceability records.

Inventory Items in Sales

Inventory items that are referenced in sales records cannot be deleted, regardless of the user's role. This prevents breaking the link between inventory and sales data.

Health Status Changes

Hive and queen health statuses can only be changed through inspections, not by directly editing the hive or queen. This ensures every health status change is linked to an inspection record.


Django Superuser

The Django superuser is a separate, system-level role that exists outside the organization-based RBAC system. Superusers have:

  • Full access to the Django admin interface (/admin/)
  • Access to all organizations and all data
  • Ability to manage all user accounts
  • Ability to configure system-wide settings (configurable choices, global MFA policy, etc.)

Warning

The Django superuser role is intended for system administrators only and is separate from the organization-level Owner role. A user can be a Django superuser without being an Owner of any organization, and vice versa.


MFA Policy

Organizations can set a multi-factor authentication (MFA) policy for their members through the organization settings:

Policy Behavior
Inherit global setting Uses the system-wide MFA configuration
MFA required All members of this organization must set up MFA
MFA optional Members can choose whether to enable MFA

This setting is configured by Owners and Admins in the organization settings.


Assigning Roles

For step-by-step instructions on managing roles, see Organization Management:


What's Next