# Row Level Security

**URL:** <https://community.glideapps.com/t/row-level-security/1761>\
**Category:** Ask for Help\
**Created:** [November 7, 2019, 8:59am UTC](https://community.glideapps.com/t/row-level-security/1761 "2019-11-07T08:59:15Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nao](https://avatars.discourse-cdn.com/v4/letter/n/fbc32d/32.png) [@Nao](https://community.glideapps.com/u/Nao)\
**Post date:** [November 7, 2019, 8:59am UTC](https://community.glideapps.com/t/row-level-security/1761/1 "2019-11-07T08:59:15Z")

</div>

Hi everyone,

Excited to be here. First of all my humble bow to all Glide team and fellow community members. This is an awesome tech that i plan to use for living 😃

Have been reading a lot of threads to accomplish what i need. Here’s something i have not found yet.

1. Row Level Security: I need to have different usergroups who will be accessing the same spreadsheet where they populate the row data.

Use case:  
John is From Team X  
Alexa is from Team Y

I want John and Alexa to view only those row data which are related to their respective teams (i.e. X and Y respectively) but under no circumstances they should see data from other teams.

Is this currently possible? Or is this best implemented by maintaining a separate worsheets for each teams… if so, is there a way to block views at sheet levels for different user groups?

---

<div class="post-metadata">

**Author:** ![Nao](https://avatars.discourse-cdn.com/v4/letter/n/fbc32d/32.png) [@Nao](https://community.glideapps.com/u/Nao)\
**Post date:** [November 7, 2019, 9:25am UTC](https://community.glideapps.com/t/row-level-security/1761/2 "2019-11-07T09:25:10Z")

</div>

Oh… i found this per user data

[https://docs.glideapps.com/all/guides/intermediate-techniques/per-user-data](https://docs.glideapps.com/all/guides/intermediate-techniques/per-user-data)

spoke to fast 😋 … have a lot to explore…

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [November 7, 2019, 3:00pm UTC](https://community.glideapps.com/t/row-level-security/1761/3 "2019-11-07T15:00:07Z")

</div>

Once you have per user data set up, you can assign a team to each user, and use a relation to link that team member to a teams sheet. Change your users tab to Detail Style view and add an inline list that uses the relation you created. Each user will only see their own details and a list of items for their own team.

---

<div class="post-metadata">

**Author:** ![Mark](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/mark/32/125_2.png) [@Mark](https://community.glideapps.com/u/Mark)\
**Post date:** [November 7, 2019, 5:00pm UTC](https://community.glideapps.com/t/row-level-security/1761/4 "2019-11-07T17:00:15Z")

</div>

It’s important to note that filtering by email will not give you real data security. All data is still downloaded to the app, and only filtered in the app. Somebody who knows what they’re doing can open the app in a web browser and get to all the other user’s data.

We have been working on a feature to provide true row-level security, where the app can’t even download rows that the logged-in user doesn’t “own”. Let us know if you definitely need this feature and we can onboard you to the current early version.

To clear up potential misunderstandings: if your app has password or email whitelist authentication, then our security implementation will not allow anybody to download any of the data in your app unless they can actually log in.

---

<div class="post-metadata">

**Author:** ![Nao](https://avatars.discourse-cdn.com/v4/letter/n/fbc32d/32.png) [@Nao](https://community.glideapps.com/u/Nao)\
**Post date:** [November 7, 2019, 5:16pm UTC](https://community.glideapps.com/t/row-level-security/1761/5 "2019-11-07T17:16:58Z")

</div>

Thanks Mark for your valuable input.

Yes, Row Level Security is a must as the data is very sensitive and cannot be accessible by the non-intended users.

Since i am a noob in this, i will try to explore all the features first and implement the work arounds to see if it really fits my requirement.

Also, i am so glad to learn you already have row level security planned. That proves, this product will go a long way into the commercial world.

---

<div class="post-metadata">

**Author:** ![Nao](https://avatars.discourse-cdn.com/v4/letter/n/fbc32d/32.png) [@Nao](https://community.glideapps.com/u/Nao)\
**Post date:** [November 7, 2019, 5:18pm UTC](https://community.glideapps.com/t/row-level-security/1761/6 "2019-11-07T17:18:13Z")

</div>

Thanks Jeff. Will follow your suggestion and all the work arounds to learn more about Glide.

---

<div class="post-metadata">

**Author:** ![Ken](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/ken/32/4483_2.png) [@Ken](https://community.glideapps.com/u/Ken)\
**Post date:** [November 21, 2019, 6:24pm UTC](https://community.glideapps.com/t/row-level-security/1761/7 "2019-11-21T18:24:54Z")

</div>

Yes please! The true row-level security option would be really welcomed.

---

<div class="post-metadata">

**Author:** ![Jessica\_Le](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jessica_le/32/1379_2.png) [@Jessica\_Le](https://community.glideapps.com/u/Jessica_Le)\
**Post date:** [November 21, 2019, 6:56pm UTC](https://community.glideapps.com/t/row-level-security/1761/8 "2019-11-21T18:56:12Z")

</div>

Can an admin person view and edit all of these data? This feature will avoid having 2 apps: one for admin and one for other users.

---

<div class="post-metadata">

**Author:** ![Mark](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/mark/32/125_2.png) [@Mark](https://community.glideapps.com/u/Mark)\
**Post date:** [November 22, 2019, 3:04pm UTC](https://community.glideapps.com/t/row-level-security/1761/9 "2019-11-22T15:04:36Z")

</div>

That’s not what this feature is about. The owner of a row can view and - if the app allows editing - edit the row. A user who is not the owner of the row cannot see the row at all, let alone edit it.

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [November 23, 2019, 4:24pm UTC](https://community.glideapps.com/t/row-level-security/1761/10 "2019-11-23T16:24:29Z")

</div>

You can if you are willing to provide a separate path to the sheet that only the administrator can get to. Check out the Admin View example in [https://concepts.glideapp.io/](https://concepts.glideapp.io/) .

---

<div class="post-metadata">

**Author:** ![George\_B](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/george_b/32/534_2.png) [@George\_B](https://community.glideapps.com/u/George_B)\
**Post date:** [November 23, 2019, 4:48pm UTC](https://community.glideapps.com/t/row-level-security/1761/11 "2019-11-23T16:48:19Z")

</div>

The problem of having the admin functionality within the app now is that you can only have one edit or add screen per sheet. So if you have some columns that you don’t want the “normal” user to edit but you do want the “admin” user to edit you have a problem when using one app instead of two.
