Privacy options

I would like to build a simple app for children’s soccer group.
The app should be private as I want to display photos and other sensitive data related to children mostly.
The free personal app is not providing this option and I need to choose a paid plan.
However, the number of users is low, about 10-15 users. And the prices for the paid version are too high and giving me a “redundant” number of users.

What are my options, in this case, if any?


maybe you can hardcoded made a private with email then users have to sing in and you can manually add a column called role (true, false maybe) and put visibility of all the tabs visible if true only. Then if someone that you don’t want to see your data sign in to your app, it can not see anything while has the role at false.

10-15 users would be covered in the base private pro plan price. Just in case it wasn’t clear, the first 20 users are included before you are charged for additional users.

A private pro plan will provide restricted access security to the entire app, so only you can determine who can get into an app.

You can still secure your data with any of the other plans, but it becomes more difficult for large groups of people. In this case, you would have to create a row owner column for every single user that you want to be able to see that row, and maintain the emails of every user you want to grant access. You can do this by creating a set of sequentially numbered columns in a google sheet which turns into a single array column in glide they you can assign row owners to, or you can just assign row owners to multiple columns in glide.

I want to stress that visibility and filter controls are not secure. They may hide data from view, but that data is still downloaded to a user’s device and easily accessible if you know how to get to it. Row Owners and/or a Private Pro plan are the only guaranteed ways to make sure your data is secure and only visible to those that should see it.


Thanks for your reply.
That was my initial solutions. Then I read this:

When you use visibility conditions or design a screen to show some data but not other data, your app still downloads whatever data it can for the corresponding sheet, even if it is not displayed in your app. It is relatively straightforward to inspect this data with common tools such as your browser’s developer console, so you should not rely on hiding information to keep it secure.

So that’s not an option.

Thanks for the reply.
It is still $40 per month (Not sure which dollars these are, though).
Anyhow, assuming it is USD, it is a lot of money for me.

Can you please elaborate on row owners? Not sure I understood this suggested solution

Any documentation about this :arrow_up:?


I found these helpful, I guess you were writing about these options as the solution.

I believe it is durable and manageable for small groups, which is what I need.


Have a watch of this…

1 Like

Thanks for the reference!

A simple question though, How can I create an Array Column?
I am using Glideapp tables and not Google sheets. Can’t seem to create this in anyway.

So I have 10 columns named Email 1, Email 2, Email 3… Email N
How can I create from this an Array Column? Is it possible to create in in an other table?
Seems like I am missing a simple step here…


I’m not aware of a way to turn those into an array column if you’re using Glide tables.
But, if you want to use those as Row Owner columns, you can set each one individually as a row owner, and that should work.

true that, but then maintenance will be like hell.

For example.
Let’s say I have a schedule tab with events. Each row in the table is an event. I would like all 10 users to see all events.
When I add an event, in a new new row, I will need to populate 10 more columns with users identifiers (Emails). Is there any easy and automatic way to do this?
So I have a table with events - Name, Date, Address, Event Manager, etc. Then I will have to add 10 columns as owners - Email 1, Email 2,…Email 10
When a new event is created, how do I auto populate the email columns? So each event will be ‘owned’ by everyone?

Hope my scenario and issue is understood.


If those 10 columns already exist (and are populated) in your User Profiles table, then you should be able to use them anywhere in your app with an Add Row action. They will be amongst the “User” values.

Screen Shot 2021-04-06 at 9.26.32 AM


But I want all users to be owners.
With your solution, I can populate 1 user? Current user?
This is what I am after →

Column1 Column2 Column3 ColumnN Owner1 Owner2 OwnerN
Lorem Ipsum fact Good 2
Lorem Ipsum humour Bad 6
Lorem Ipsum English Good 7
Lorem Ipsum versions Good 3

Unless I got it all wrong?!? :face_with_raised_eyebrow:


So the question is - do you have those same 10 columns in your User Profiles sheet, populated with the same 10 email addresses?
If the answer is yes, then my suggested solution should work. ie. Those 10 columns will be available as User values when using an Add Row action.

1 Like

I read your answer again and I got it now.
Not sure what I missed beforehand.

1 Like