LogicSite/Docs

6 min read · Updated

Roles & Permissions

LogicSite uses role-based access control (RBAC) to ensure each team member has the right level of access. Permissions operate at two levels: organization roles control what users can do across your workspace, and project roles control what they can do within specific projects.

Organization Roles

Organization roles determine platform-wide access:

RoleDescription
Org Admin (org_admin)Full tenant control — billing, delete org, manage all members and roles, all projects
Project Admin (project_admin)Administer projects and sites tenant-wide — create/archive, manage rosters, invite. Cannot do billing, delete org, or grant org_admin.
Member (member)Work within assigned projects
Support (support)Platform-staff impersonation seat — SOC 2 controlled, time-boxed, read-only by default

org_admin is the only role with billing and org-deletion power. project_admin is the day-to-day admin for tenants that want to delegate project administration without granting billing access. The legacy owner and admin roles were collapsed into org_admin in 2026 — they were functionally identical.

Project Roles

Within each project, team members are assigned a project-level role that controls their specific capabilities:

Internal Roles

RoleKey Capabilities
Project ManagerFull project control — create/delete projects, manage devices, approve designs, assign tasks, manage members, generate reports, initiate closeout and handoff
EngineerCreate and edit designs, manage devices, approve device moves, assign tasks, invite other engineers
TechnicianCreate and edit devices, move own tasks, upload media — cannot approve moves or initiate projects
SalesView-only access to devices and projects, can comment

External Roles

These roles are for users from outside your organization:

RoleKey Capabilities
CollaboratorSub-contractor access — edit device details, accept test results, view floor plans, sign closeout documents
Client Viewer (client_viewer)Owner-side read + comment access on owner-facing surfaces (floor plan, change orders, closeout docs). Cannot approve, sign off, or invite.
Client Approver (client_approver)Owner-side decision-maker — everything Client Viewer can do plus approve change orders, sign off on closeout, and invite other client-side members.
Guest (guest)Cross-cutting view-only — assignable to internal teammates or external observers (distinguished by isExternal). Default capabilities are view + comment; the comment toggle is configurable per tenant.
Tech Support (tech_support)Read-only access for support staff

The legacy client and client_member roles were removed in 2026-04 and replaced by the split client_viewer / client_approver pair. Existing rows were backfilled to client_approver. Do not introduce new code or invitations that reference client or client_member.

External roles (Collaborator, Client Viewer, Client Approver, Guest with isExternal: true) are assigned when inviting users from other organizations to your project. These users see the project in their Shared section.

Choosing the Right Role

If they need to...Assign this role
Lead the project and manage the teamProject Manager
Design floor plans and place devicesEngineer
Install equipment and update device statusTechnician
View project status for bidding or salesSales
Work on the project as a subcontractorCollaborator
Review the project as the building owner (read + comment only)Client Viewer
Approve change orders and sign off on closeout for the ownerClient Approver
Give a same-org teammate temporary view-only accessGuest

Custom Role Capabilities

Organization admins can customize the default permission set for external project roles using capability overrides in Settings > Roles. This allows fine-grained control — you can grant permissions that a role doesn't normally have, or revoke permissions that it does.

Start with the minimum role needed and upgrade if necessary. Use capability overrides to fine-tune external roles rather than assigning higher-level roles.

Vendor Roles (Site Owner Projects)

When contractors work on a project created by a site owner, they receive vendor-specific project roles instead of the internal set above:

RoleKey Capabilities
Vendor AdminLead contractor — promoted from Vendor Viewer when the site owner selects a winning bid. Can create/edit devices and tasks, add members, unlock floor plans, and sign off on closeout (contractor side).
VendorWorking contractor — can edit device details, accept devices, and participate in closeout, but cannot add members or create device records.
Vendor ViewerBid-phase read-only access. Vendor Viewers are isolated — they only see the frozen v1 floor plan and cannot see other vendors on the project. Removed from the project when a different contractor is selected.

At closeout, the selected contractor (Vendor Admin) is automatically downgraded to Vendor Viewer for read-only access to the as-built. The site owner retains the client_approver role and can invite a different contractor for future service work.

Cross-Team Visibility

Comments and activity entries on shared projects use a two-level visibility model:

  • internal — only the author's team members see it
  • client_visible — site owner and all vendors on the project see it

Internal roles (technician, sub-contractor) default to internal and cannot toggle. PMs and Vendor Admins default to internal but can flip to client_visible. Comments from client_viewer and client_approver are always client_visible.

Best Practices

  • Limit org_admin access — Only company leadership and IT need org-admin-level access. Use project_admin to delegate project administration without billing power.
  • Use Project Manager for leads — Project leads and senior technicians benefit from full project management capabilities
  • Pick the right client role — Use client_viewer for owner-side stakeholders who only need to read and comment. Use client_approver only for the decision-maker who can bind the client (change orders, closeout signoff).
  • Review roles periodically — As responsibilities change, update roles to match

What's Next?

Was this helpful?