Protected Columns

:new: If your app is on a paid plan you can now use protected columns. Protected columns allow you to add an extra layer of security to your data. How does it work? Mark a column as protected and Glide will hide it, making it impossible to be loaded inside your app or the Data Editor. :closed_lock_with_key:

Learn more :arrow_right: Glide Docs

8 Likes

Hello,
Great
How does it work: Pro Public & Pro Private or Pro Private only?

Super.
Can protected columns be used for logic, relations, etc.? Or they simply are hidden from glide entirely?

I have updated the description as it wasn’t clear - this feature is available in all paid plans.

1 Like

They are completely hidden from Glide. The data cannot be used at all.

1 Like

So Glide can’t read these columns? Then can you explain the use case please?

1 Like

Let’s say you want to onboard users, asking for sensitive data, but you don’t plan on using the data in your app (SSN, Address, etc). This info can still be collected in the spreadsheet without using it in the app.

2 Likes

I guess so, perhaps if your app was using a customer’s sheet to collect data?

Correct.

1 Like

Or, if you’re using a massive spreadsheet filled with lots of unneeded data for the app, make all those protected and Glide won’t download the data theoretically making the app lighter?

Yup. I see that. Just watched @JackVaughan video too. Quite useful. Let’s see how this all pans out but it seems a very positive step in the right direction.

Does making a “protected” column in the GDE remove it from your row count / speed up refresh times?

I don’t think that’s the case regarding the row count, it’s a column not a row. Other columns contributing to your data will still eat a row.

1 Like

When this dialogue “Mark column as protected” pops-up , there is no way escaping it.
“Esc” does not do it nor clicking outside the modal.

To clarify, Glide can read (and write) everything in your Google Sheet, even columns you mark as protected. When you mark a column as protected, Glide prevents apps from reading that column.

Glide is the thing that protects Protected Columns, so in other words, it controls them. Google Sheets would have to offer a Protected Columns feature itself, if your goal was to prevent Glide from reading the data entirely.

We will make this clearer in the documentation and video.

4 Likes

So just to be clear, this is purely a security feature and has no incremental performance benefit, correct? I.e., not intended to “protect” computed columns to speed up an app.

If the app is using Glide Tables only, is there a way to prevent local instances of a public app from downloading certain tables that aren’t used for the interface? In my case I made a custom form with user specific columns and am writing a name and email address to a separate Glide table. Now my concern is that this table gets downloaded to everyone’s device when opening the app.

I’m thinking that through Zapier I can write these details to a Google sheet that isn’t used by the app, instead of the Glide table, but I’d much rather just mark the Glide table as “protected” to prevent the data download. Of course, I don’t want the cells obscured though…

Could you use Row Owners for this purpose? This way, only the rows with the individuals’ email address would be downloaded to their device. You could also add another column that is a Row Owner and add in an administrator’s email address so that they can maintain access to all rows of data.

1 Like

I tried this just now - I made an “Admin” column in the table I want to protect, put my email address in it, and made it Row Owner, but suddenly the data disappeared from the cells, except for the RowID’s. This seems like it’s okay, except when I change the “viewing as” to my email the data doesn’t reappear. I need to test this again…

Try refreshing your browser window. Adding Row Owners can require a full browser refresh (in my experience at least!).

1 Like