Skip to content
English
  • There are no suggestions because the search field is empty.

User Groups and Permissions Management

A Comprehensive Guide to User Groups, Permission Levels, and Inheritance

Permission Structure Overview

Trellis uses a hierarchical permission structure, where access can be defined at multiple levels:

  • Client level

  • Inventory level

  • Facility Group level

  • Facility level

  • Meter level

 

Default User Groups

Three default groups (usually created by Trellis during onboarding)

Default Group

Purpose

Viewer

Read-only access

User

Data entry and editing

Manager

Full control

Note: These names are guidelines only. User groups are not functionally special, and their behavior depends entirely on the permissions assigned. You may name and configure user groups however needed.

 

 

Standard Access Level and Permissions

Level of Access 

Permitted To

Not Permitted To

Viewer 

Select inventory to view 

View all data stored within the system 

View all “Analysis and Reporting” functions 

Export data from the system either as a table or as a graph

Add/Edit facility groups, facilities, resource usage or benchmarks

Add/Edit resource usage data or benchmarks 

Add or change other user access 

Add/Edit the Client Information 

Add/Edit any pdf read data  

User 

As above, additional privileges include: 

Add/Edit facility groups, facilities, resource usage or benchmarks  

Add/Edit resource usage data or benchmarks 

Add/Edit other user access 

Add/Edit the Client Information 

Add/Edit any pdf read data 

 

Manager 

 

 

 

 

As above, additional privileges include: 

Add/Edit other user access 

Add/Edit the Client Information 

Add/Edit any pdf read data 

Create new users who are outside of their domain.

To do so, please reach out to support

 
 
 

Custom User Groups

Custom groups can be created and assigned permissions exactly like the default groups. Permissions can be managed by CS during onboarding or later by client-side Managers.

 

Permission Types

Setting

Meaning

🔵 All 

Full access, can read and write at all levels

View 

Read-only access

 

🔴 Undefined

  • Acts the same as ⛔ Deny if set at the Client level

  • Inherits from the first defined higher option at all other levels

Deny 

Explicitly denies access

 

 

Permission Inheritance

How it works

  • System checks up the hierarchy until it finds a defined permission

  • If no permission is defined at any level, access is denied

  • Works similar to a file system hierarchy

 

Client

├── Inventories

│   ├── Facility Groups

│   │   ├── Facilities

│   │   │  ├── Meters

├── User Groups

│   ├── Users

 

Example

Client: Deny

├── Inventory: 🔴 Undefined

    ├── Facility Group A:⚫ View

    │   └── Facility A.1: 🔴 Undefined

    ├── Facility Group B: 🔵 All

    │   └── Facility B.1: 🔴 Undefined

    └── Facility Group C: 🔴 Undefined

        └── Facility C.1: U🔴 Undefined

 

Result

  • Facility A.1 → Inherits ⚫ View from Facility Group A settings:

    • The user has read only access to all data records from Facility Group A and below (inclusive)

    • The user can not add or edit any data records from Facility Group A and below (inclusive)

  • Facility B.1 → Inherits 🔵 All from Facility Group B settings:

    • The user can view, add and edit any data records from Facility Group B and below (inclusive)

  • Facility C.1 → All levels 🔴 Undefined → Inherits ⛔ Deny from Client level settings:

    • The user has no access to any records from Facility Group C and below (inclusive)

    • The user can not see Facility Group C at all

 

Think of this like a file system. If a folder (e.g. Facility) doesn't define a permission, the system climbs up to the parent folder until it finds one.

There's no need to define permissions for every single entity, for example if you had a user group with permissions to only one facility group, you would leave all permissions undefined, no need to change anything as default is undefined (default = denied) except for that one facility group which you would set to view or all as required.

 

Permissions Management

Note: Keep in mind the below functionality is typically available to users with “Manager” permissions only, unless specifically modified.

 

Create custom user groups

  • Navigate to the “User groups” tab

 

  • Click “New” button to create a new custom user group

  • Fill out the required field and click “Save”

 

Configure permissions at various levels

  • Client level - Navigate to “Client profile” tab using the drop down menu located on the top right corner of the page

  • Permissions at this level can usually be left as default (undefined), which will work as denied access if reached to on the hierarchy

 

  • Inventory level - Navigate to the “Structure” tab and select the “Inventories” tab

  • Select the inventory that would need permissions updated and click “Edit” button

 

 

  • In here you can select the relative permissions based on your requirements for the custom group created and the access level they would need to each inventory

  • This process can be repeated for any other inventory that this user group would need access to

 

  • A similar process can be done for the more granular data levels including facility groups, facilities, and meters.

 

Note:

  • Setting permissions for each entity is optional and can vary on a case-to-case basis and based on the needs and requirements.

  • As mentioned before, If left undefined, the system will keep going up the hierarchy / chain until it finds a defined permission. If at the client level stated as undefined it means deny permission.

  • Managers can define different permissions per inventory or facility group if needed. This includes denying/restricting access to specific items within a hierarchy that a user has higher level access to.

  • To assign specific users to a user group, read our documentation on new user creation. 

     


Best Practices Summary

  • Start by assigning permissions at the highest relevant level (e.g., Client or Inventory)
  • You do not need to set permissions for every level, define only where needed. Permissions checks proceed up the tree from the entity a user is attempting to access until they find a permission which is not 'undefined'. That permission is then applied.
  • Use “Undefined” where inheritance is appropriate. If all permissions for a group are undefined, they will be denied access by default.
  • Managers can take over custom group creation and permission control after first CS setup.
  • Always review permission inheritance before assigning granular access.
  • All user groups are treated equally. Permissions alone determine what they can or cannot access.
  • Nothing is hardcoded; permissions are fully configurable at any time without engineering help.
  • For help with client-specific configurations, reach out to the Customer Success team.