Folder structure with user-based content visibility

Hi everyone,

We’re working on implementing a folder structure in our Builder.io project to better organize content and user permissions. The structure is hierarchical, starting from Business Units, then branching into Line of Business Units, and finally into specific folders like Products, etc.

What we want to achieve is the ability to assign users to specific Business Units. For example, Business Unit A might have 5 assigned users.

The key requirement is: symbols (our main content type) should only be visible and editable by users assigned to the same Business Unit where the symbol was created. Users from other Business Units shouldn’t be able to see or reuse that symbol within their own unit.

So essentially:

  • Symbols are scoped to a Business Unit.
  • Only users within that Business Unit can view or edit those symbols.
  • Cross-BU access or reuse should not be allowed.

Is there a recommended way to implement this kind of access control and folder structure in Builder.io?

Thanks in advance for any guidance!

Hi Mateusz​,

Builder.io doesn’t natively support fully scoped symbol visibility based on organizational-level access like Business Units (BUs), but you can implement a robust workaround using a combination of folder structure, content targeting, and custom roles.

Here’s how to architect this system to meet your goal:

Recommended Implementation Strategy

1. Use Folders to Represent Business Units

Organize your content like this:

/Business Unit A
  /LOB 1
    /Products
    /Symbols
  /LOB 2
    /Symbols
/Business Unit B
  /LOB X
    /Symbols

Each Business Unit gets its own top-level folder. Symbols for that BU live under a Symbols subfolder within that unit.

2. Use Targeting Attributes for Scoping Access

You can enforce visibility rules using custom userAttributes in combination with content targeting. For example:

// When querying a symbol
builder.get('symbol', {
  userAttributes: {
    businessUnit: 'BusinessUnitA',
  },
});

In the Builder UI, set up targeting rules per symbol so that it only resolves when the businessUnit matches.

Symbol Targeting Setup:

  • Open the symbol in Builder.io.
  • Click on the Targeting icon.
  • Set:
    • Where: businessUnit equals BusinessUnitA

This ensures symbols are only resolved for the correct BU.

3. Enforce Role-Based Permissions with Custom Roles (Enterprise Plan)

If you’re on an Enterprise plan, you can:

  • Create custom roles scoped to specific folders.
  • Assign roles to users so they only have access to:
    • Their BU folder (and subfolders like Symbols).
    • Restrict view/edit permissions outside their folders.

Thanks,

Hello!

Thanks for your reply!

I have one more question, I have feedback from developer that we don’t have access to folder APIs.

Are we able to use API in order to read/write new folders?

Regards,
Mateusz

Hi Mateusz​,

As of now, there is no public API support for directly managing folders (i.e., creating, reading, updating, or deleting folders via REST API). The existing Builder API focuses on managing content entries, models, and related data.

However, you can organize your content via models and custom fields for similar effect.

Thanks,

Thanks for reply!

I have an question regarding this point.

  1. Enforce Role-Based Permissions with Custom Roles (Enterprise Plan)

If you’re on an Enterprise plan, you can:

  • Create custom roles scoped to specific folders.
  • Assign roles to users so they only have access to:
    • Their BU folder (and subfolders like Symbols).
    • Restrict view/edit permissions outside their folders.

How to handle it?
I was trying to create custom roles to specific folders but it doesn’t work.
Is there documentation for this?