First of all, thank you to the NocoBase team for building such a flexible and powerful platform, it has been a great foundation for our internal systems.
In Roles & Permissions → Configure permission, the Data scope dropdown offers only two options:
All recordsOwn records
With only these two options, there is no way to express the most common organizational access pattern: “users can see records belonging to their own department.”
Collections are shared across the entire organization all departments write to the same tables (e.g. one CBNV collection for all employees, one Salary collection for all salary records). There is no mechanism to partition collections by department / role at the data source level.
This means the only two access patterns currently possible are:
- See everything (
All records): no departmental boundary - See only what I created (
Own records): too restrictive for most workflows
What we would like
Additional data scope options:
1. By department:
Records in my departmentRecords in my department and sub-departments
2. By role:
Records created by users with the same roleRecords created by users with a specific role(select which role)
3. Ideally (custom filter with user context variables):
- Allow the data scope to reference attributes of the current user, e.g.
record.createdBy.department = currentUser.department - This would cover all the above cases and any organization-specific pattern
The Departments plugin already stores the org structure and user-department relationships. The Roles system already stores user-role relationships. The missing piece is connecting that data to the data scope evaluation.
Why this matters
Since collections are shared (not partitioned by department), the data scope dropdown is the only control point for departmental data isolation. Without a department-aware option, organizations are forced to either:
- Grant
All recordsand accept that everyone sees everything, or - Use
Own recordsand break workflows that require team-level visibility, or - Duplicate roles per department (our deployment has ~20+ roles following a
<dept code> - <job title>pattern), which makes reorganizations extremely high-risk
We understand that ACL is a complex area and this may not be a simple change. We’re raising this because we believe department/role-based data scoping would benefit a wide range of organizations using NocoBase. If there’s an existing approach we’ve overlooked, we’d love to hear about it.
Thanks again for your work on this project.


