How to hide TAB based on user in different sheet

I have 4 sheets to make an app. One is “client” and One is “staff”. I want to hide the Client tab when the user in the staff sheet sign-in to the app. And hide the staff tab when the user in client sheet to do so. I have used user-profile and RowID to make the data which belongs to the user show on their own app when that user using that. But I met difficulty to set the visibility condition. Is there any idea to make this possible?

In the user profile create a ROLE column. Assign someone “staff” and another person “client”

You can then hide the tabs (visibility) based on that data.

Staff tab is visible if ROLE = staff etc

2 Likes

I am not in Private Plan, so i cannot set Role column. Is there another solution?

Should I set both client and staff in One sheet then assign them a title in a column for setting the tab visibility condition?

1 Like

This is what you will have to do. Your app can have only 1 user profile sheet. So all your users must be in the same sheet.

Doesn’t really matter what the column title is. Could call it permissions. Just so long as you have some way of differentiating between staff and clients.

1 Like

Yup. You can still keep user data private. As @Manan_Mehta said, all will have to be in the same sheet.

There are various options available if you need staff to see client data though.

2 Likes

OK, let me make all user in one sheet and manage how to work it out. Thank you.

1 Like

Please be aware that whilst you might be able to “hide” a tab from view, all the related data will still be downloaded to your users devices. So if one of your clients decides that they want to spy on your staff data, there will be nothing you can do to prevent this.

The only way to properly secure data is through the use of Row Owners, which means a paid private plan. The bottom line is that if your app contains personal/private/sensitive data, and you want to keep it that way, then you must use a Private plan. Anything less than this, and you must assume that all data in your app is in the public domain.

4 Likes

Has this changed recently? I am currently building/testing an app which has row owners and is only on the basic plan set to public with email.

2 Likes

oops, I misspoke there. Yes, row owners is available on a free plan.
If you want role based security, then you need a paid private plan

2 Likes

Do you know any way that the user can spy my sheet data that don’t show to their interface?

If you are not using row owners, then yes it’s possible. All data that’s used in your app will be downloaded to the users device. Although you may “hide” some data using visibility conditions, it will still be there and accessible to users that know how and where to look.

PS. @Jeff_Hager this seems to come up over and over again. I wonder if one of your responses on this subject could be massaged into a FAQ Topic that we could simply direct people to? :thinking: :slightly_smiling_face:

4 Likes

I always recommend reading through the the entire Security Center documentation and understanding all of it. It states in there that data is still accessible if not properly secured. And very easily at that…

https://docs.glideapps.com/all/guides/security-center

1 Like