# Hide Spaces from non-Admin Users

**URL:** <https://community.fibery.io/t/hide-spaces-from-non-admin-users/4004>\
**Category:** Ideas & Features\
**Tags:** left-menu\
**Created:** [February 16, 2023, 8:42pm UTC](https://community.fibery.io/t/hide-spaces-from-non-admin-users/4004 "2023-02-16T20:42:19Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![Matt\_Blais](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/matt_blais/32/1464_2.png) [@Matt\_Blais](https://community.fibery.io/u/Matt_Blais)\
**Post date:** [February 16, 2023, 8:42pm UTC](https://community.fibery.io/t/hide-spaces-from-non-admin-users/4004/1 "2023-02-16T20:42:19Z")

</div>

It would be very useful to be able to **hide Spaces from non-admin users in the Left Menu** , regardless of whether they have permissions to access a space:

1. Keep the Left Menu sparse, help users focus and reduce cognitive load.
2. Restrict user access to only certain views.

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [February 16, 2023, 8:46pm UTC](https://community.fibery.io/t/hide-spaces-from-non-admin-users/4004/2 "2023-02-16T20:46:43Z")

</div>

Is this needed because you want to grant a user access to a space in order for them to have permissions for the contained databases, but without wanting them to see the space and all its views?

---

<div class="post-metadata">

**Author:** ![Matt\_Blais](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/matt_blais/32/1464_2.png) [@Matt\_Blais](https://community.fibery.io/u/Matt_Blais)\
**Post date:** [February 16, 2023, 8:48pm UTC](https://community.fibery.io/t/hide-spaces-from-non-admin-users/4004/3 "2023-02-16T20:48:51Z")

</div>

I want to hide all “normal” spaces with DB’s from all non-admin users (even those they can access), and **only** show them a specific set of “presentation spaces” that just contain views, not DBs.

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [February 16, 2023, 8:52pm UTC](https://community.fibery.io/t/hide-spaces-from-non-admin-users/4004/4 "2023-02-16T20:52:17Z")

</div>

But if they are Editors, they don’t see databases, they only see views.  
Perhaps I’m not seeing the wood for the trees. Is there a concrete example we can hang this discussion on?

---

<div class="post-metadata">

**Author:** ![Matt\_Blais](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/matt_blais/32/1464_2.png) [@Matt\_Blais](https://community.fibery.io/u/Matt_Blais)\
**Post date:** [February 16, 2023, 9:06pm UTC](https://community.fibery.io/t/hide-spaces-from-non-admin-users/4004/5 "2023-02-16T21:06:22Z")

</div>

The simplest way to explain it is that as an Admin I want more control over what my Users can see in the Left Menu. And I specifically want to prevent them from seeing most of the Spaces containing DB’s, since there’s no reason they need to - just to reduce the complexity of their interface.

I want my users to only be able to see a few “curated” Spaces containing only the specific Views they need to do their jobs (and no DB’s). E.g. one custom Space for each department in the company, containing only views designed for that department’s particular workflows and needs.

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [February 16, 2023, 9:20pm UTC](https://community.fibery.io/t/hide-spaces-from-non-admin-users/4004/6 "2023-02-16T21:20:48Z")

</div>

> [@Matt\_Blais](#):
>
> prevent them from seeing most of the “Space” **views containing DB’s**

> [@Matt\_Blais](#):
>
> only be able to see a few “curated” Spaces containing only the specific Views they need to do their jobs ( **and no DB’s** ).

Not sure I understand what you mean by ‘views containing DB’s’… 🤔

You don’t mean the space configuration page (where databases are created, permissions managed, fields can be added/edited etc.) do you?

---

<div class="post-metadata">

**Author:** ![ccollins](https://avatars.discourse-cdn.com/v4/letter/c/bbe5ce/32.png) [@ccollins](https://community.fibery.io/u/ccollins)\
**Post date:** [February 16, 2023, 9:47pm UTC](https://community.fibery.io/t/hide-spaces-from-non-admin-users/4004/7 "2023-02-16T21:47:41Z")

</div>

I think a lot of people have this exact issue that Matt is describing. Using empty spaces with your views to better curate department/group flows, and then hidden spaces with all your databases. Hiding seems like a perfect solution. Until entity permissions are released at least.

We personally have “data level 1/2/3/4” spaces with no views but all our databases so we can better control user group permissions per database. Then we sync space order so these are at least hidden but it still causes confusion some time. Also last I checked there is still the bug that allows anyone to view the database pages if a space has no views at all

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [February 16, 2023, 10:17pm UTC](https://community.fibery.io/t/hide-spaces-from-non-admin-users/4004/8 "2023-02-16T22:17:18Z")

</div>

> [@ccollins](#):
>
> Using empty spaces with your views

When you say ‘empty space’ I presume you mean a space without dbs.

> [@ccollins](#):
>
> Using empty spaces with your views to better curate department/group flows, and then hidden spaces with all your databases.

This was basically what I was asking about here:

> [@Chr1sG](#):
>
> Is this needed because you want to grant a user access to a space in order for them to have permissions for the contained databases, but without wanting them to see the space

If @Matt_Blais does mean the same as you (wanting to hide a space that contains dbs for which the user needs permission, but otherwise is not relevant to them) then yes, you’re right that the new permissions model may be what’s needed.

> [@ccollins](#):
>
> last I checked there is still the bug that allows anyone to view the database pages if a space has no views at all

Technically, this isn’t a bug since it is behaving as designed/intended 🙂  
If a user has access permissions for a space, then he/she is entitled to see the contents of all dbs in that space.  
It was an early decision that clicking on the space name would redirect to showing the first view in a space for those users with anything lower than Creator level permissions (since the space config page is not interactive for these users).  
If there are no views, there is nowhere to redirect to so they see the space page 🤷‍♂️  
But from a permissions perspective, there’s actually nothing here that they’re not allowed to see.

---

<div class="post-metadata">

**Author:** ![Matt\_Blais](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/matt_blais/32/1464_2.png) [@Matt\_Blais](https://community.fibery.io/u/Matt_Blais)\
**Post date:** [February 17, 2023, 12:35am UTC](https://community.fibery.io/t/hide-spaces-from-non-admin-users/4004/9 "2023-02-17T00:35:10Z")

</div>

> [@Chr1sG](#):
>
> the space configuration page (where databases are created, permissions managed, fields can be added/edited etc.) do you?

Yes, that is what I do NOT want most of my users to see - the “space configuration” page for Spaces with DB’s.

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [February 17, 2023, 10:09am UTC](https://community.fibery.io/t/hide-spaces-from-non-admin-users/4004/10 "2023-02-17T10:09:44Z")

</div>

> [@Matt\_Blais](#):
>
> I do NOT want most of my users to see - the “space configuration” page for Spaces with DB’s.

Then, in that case, they should have Editor permissions or lower, and as mentioned above, there should be at least one view in the space to which they can be redirected.  
A simple ReadMe doc is sufficient (maybe with some #mentions of views in other spaces that they will find useful).

---

<div class="post-metadata">

**Author:** ![Matt\_Blais](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/matt_blais/32/1464_2.png) [@Matt\_Blais](https://community.fibery.io/u/Matt_Blais)\
**Post date:** [February 17, 2023, 4:29pm UTC](https://community.fibery.io/t/hide-spaces-from-non-admin-users/4004/11 "2023-02-17T16:29:45Z")

</div>

Thanks @Chr1sG - that is a quasi-solution for my needs, but I still would like the higher level of control over what Users see in their Left Menu.

As @ccollins mentioned above, with the current Space-based permissions it is all too easy to end up with a large number of Spaces = CLUTTER and cognitive load, especially for new Users.

When there are multiple departments/groups of Users using my Workspace, I foresee that it will be time-consuming for me to set up each new User by customizing their Left Menu view for their department/Role.

Right now I believe the only way to do that is log in as the new user (which means screwing with their email) and manually move/hide a bunch of spaces.

Ideally we could just assign a “Left Menu Template” to a User.

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [February 17, 2023, 6:03pm UTC](https://community.fibery.io/t/hide-spaces-from-non-admin-users/4004/12 "2023-02-17T18:03:59Z")

</div>

> [@Matt\_Blais](#):
>
> When there are multiple departments/groups of Users using my Workspace, I foresee that it will be time-consuming for me to set up each new User by customizing their Left Menu view for their department/Role.
> 
> Right now I believe the only way to do that is log in as the new user (which means screwing with their email) and manually move/hide a bunch of spaces.
> 
> Ideally we could just assign a “Left Menu Template” to a User.

To an extent, this is what the [group permissions](https://the.fibery.io/@public/User_Guide/Guide/Group-permissions-47) can be useful for - define roles, work out what they should/shouldn’t have access to, and then just assign any new users to the relevant role.  
It doesn’t enforce space hiding, but it might save some time.

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [February 20, 2023, 11:01am UTC](https://community.fibery.io/t/hide-spaces-from-non-admin-users/4004/13 "2023-02-20T11:01:37Z")

</div>

OK, here’s a little something that you might find useful. It’s a script that will propagate the space ordering that you have to any other user (including hiding spaces).

```auto

const fibery = context.getService('fibery');

for (const entity of args.currentEntities) {
    const userToCopy = await fibery.getEntityById(entity.type, args.currentUser['Id'], ['fibery/menu-rank']);
    await fibery.updateEntity(entity.type, entity.id, { 'fibery/menu-rank': userToCopy['fibery/menu-rank'] });
}

```

It should be put in a button automation in the User database (you need to open a User’s entity view and click the triple dots, choose Edit fields, to create an automation).  
Then you can open any User’s entity view and press the button. They will then inherit your space ordering.

So, for example, you (Admin) have the spaces arranged like this:

- C
- B
- D  
Hidden  
– A

A new user logs in, with access only to A, B and C. They might see this:

- A
- B
- C

but if you run this script on their User, they will get this:

- C
- B  
Hidden  
– A

Disclaimer: this is not official/publicly supported/guaranteed to work etc.

p.s. you will probably want to hide the button when you’re not using it 😉

---

<div class="post-metadata">

**Author:** ![Matt\_Blais](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/matt_blais/32/1464_2.png) [@Matt\_Blais](https://community.fibery.io/u/Matt_Blais)\
**Post date:** [February 20, 2023, 4:19pm UTC](https://community.fibery.io/t/hide-spaces-from-non-admin-users/4004/14 "2023-02-20T16:19:38Z")

</div>

Thanks @Chr1sG , that is super useful! 😀

If this part of the API was “officially supported”, then I would mark this as a Solution, but… 🤔

---

<div class="post-metadata">

**Author:** ![Jonathan](https://avatars.discourse-cdn.com/v4/letter/j/aeb1de/32.png) [@Jonathan](https://community.fibery.io/u/Jonathan)\
**Post date:** [May 31, 2025, 9:02pm UTC](https://community.fibery.io/t/hide-spaces-from-non-admin-users/4004/15 "2025-05-31T21:02:34Z")

</div>

Curious about this. Is this bug you refer to that allows anyone to view the database pages if a space has no views fixed? I’ve never seen it.  
However, I am aware that a user has the “personal” tab and they can create a private view that can see any databases contained in a space they have been granted access (even if the space itself has no views), so I was under the impression that spaces with only databases but no views paired with other spaces that have views but no databases was not an effective way to manage access control (since the user can create a personal view).
