> For the complete documentation index, see [llms.txt](https://help.modelreef.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.modelreef.io/help/permissions-and-collaboration/branch-level-permissions.md).

# Branch Level Permissions

This article explains **branch level permissions** in Model Reef.

You will learn:

* How to restrict access to specific branches.
* How branch level permissions cascade to child branches.
* How branch level access interacts with roles and collaboration tools.

Branch level permissions are essential when multiple teams or external parties only need access to part of a model.

{% stepper %}
{% step %}

### How branch level permissions work

Branch level permissions are applied to a specific branch in the model's tree.

Rules:

* Access flows **downwards**.
  * If a user has access to a branch, they also have access to all of its children.
* Access does **not** flow upwards.
  * Access to a child branch does not grant access to the parent or siblings.
* You can assign **Editor** or **Viewer** roles at branch level.
  * Owners are generally granted at model level.

Branch level access can be applied to multiple branches for the same user if needed.
{% endstep %}

{% step %}

### Typical use cases

Branch level permissions are useful for:

* **Multi entity groups**
  * Give each entity owner access only to their own entity branch.
  * Keep group consolidation visible only to central finance or head office.
* **Divisional or regional teams**
  * Allow each division to maintain its own branch while keeping the group consolidated model in one place.
* **External stakeholders**
  * Share only the relevant project or business unit branch with external partners, lenders or advisors.

This allows granular collaboration without duplicating models.
{% endstep %}

{% step %}

### What branch level Editors and Viewers can see

Within their assigned branches, users experience the model as if it only contained that subtree:

* **Editors** can create and edit variables, drivers, notes, tags and attachments in that subtree.
* **Viewers** can see variables, outputs and collaboration artefacts but cannot change them.
* Both see statements and dashboards filtered to their subtree.

They do not see branches they have no access to, even if those branches exist in the full model.
{% endstep %}

{% step %}

### Interactions with model level roles

If a user has both:

* Model level role, and
* Branch level role,

the more permissive access applies:

* Model level Owner overrides any branch level limits.
* Model level Editor can still edit the whole model.
* Branch level roles matter only when model level access is not granted.

As a result:

* Use model level roles for trusted internal team.
* Use branch level roles when you need isolation and limited visibility.
  {% endstep %}
  {% endstepper %}

***

## Related articles

* [Customer-Level Revenue Modelling](/use-cases/wholesale-distribution-and-b2b-trade/customer-level-revenue-modelling.md)
* [Core Modelling](/how-tos/core-modelling.md)
* [PDF Import Overview](/help/importing-and-data-inputs/pdf-import-overview.md)
* [Multi-Branch Driver Behaviour](/syntax/drivers-syntax/multi-branch-driver-behaviour.md)
