# User Profile Protection

**URL:** <https://community.glideapps.com/t/user-profile-protection/31026>\
**Category:** Ask for Help\
**Created:** [August 27, 2021, 9:22am UTC](https://community.glideapps.com/t/user-profile-protection/31026 "2021-08-27T09:22:14Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ralf](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/ralf/32/492_2.png) [@Ralf](https://community.glideapps.com/u/Ralf)\
**Post date:** [August 27, 2021, 9:22am UTC](https://community.glideapps.com/t/user-profile-protection/31026/1 "2021-08-27T09:22:14Z")

</div>

I am importing the user profile as arrayformula from a members register.

If a user change the photo the arrayformula will crash.

If I protect the photo column in Glide the photo will not display in app.

Is there another way to protect the arrayformula or restrict the user to change the photo?

---

<div class="post-metadata">

**Author:** ![Maxim\_KM](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/maxim_km/32/29274_2.png) [@Maxim\_KM](https://community.glideapps.com/u/Maxim_KM)\
**Post date:** [August 27, 2021, 9:55am UTC](https://community.glideapps.com/t/user-profile-protection/31026/2 "2021-08-27T09:55:59Z")

</div>

You should point the Edit Form to the original Members table. If you want protection that limits each user to see actually only their row - use [Row owners](https://docs.glideapps.com/all/reference/security-and-per-user-data/row-owners)

---

<div class="post-metadata">

**Author:** ![Maxim\_KM](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/maxim_km/32/29274_2.png) [@Maxim\_KM](https://community.glideapps.com/u/Maxim_KM)\
**Post date:** [August 27, 2021, 9:56am UTC](https://community.glideapps.com/t/user-profile-protection/31026/3 "2021-08-27T09:56:59Z")

</div>

So, limited table(that you achieve with ARRAYFORMULA) will be readonly to show limited information about all users to all users(I guess, it is your intention)

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [August 27, 2021, 11:10am UTC](https://community.glideapps.com/t/user-profile-protection/31026/4 "2021-08-27T11:10:25Z")

</div>

I assume you’re letting them register from some where not in Glide?

---

<div class="post-metadata">

**Author:** ![Ralf](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/ralf/32/492_2.png) [@Ralf](https://community.glideapps.com/u/Ralf)\
**Post date:** [August 27, 2021, 12:26pm UTC](https://community.glideapps.com/t/user-profile-protection/31026/5 "2021-08-27T12:26:28Z")

</div>

Yes, they are registering in a sheet not connected to this app. The user profile data is imported from that sheet by use of an arrayformula.

---

<div class="post-metadata">

**Author:** ![Eric\_Penn](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/eric_penn/32/73888_2.png) [@Eric\_Penn](https://community.glideapps.com/u/Eric_Penn)\
**Post date:** [August 27, 2021, 1:14pm UTC](https://community.glideapps.com/t/user-profile-protection/31026/6 "2021-08-27T13:14:24Z")

</div>

Probably not the cleanest solution but you could use Integromat to write the new values to the image column…or all the values for that matter.

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [August 27, 2021, 1:24pm UTC](https://community.glideapps.com/t/user-profile-protection/31026/7 "2021-08-27T13:24:27Z")

</div>

I’ve had this same issue in every app that uses a formula/automation for the users table. Is there a way we can have the option to disable uploading of a new user profile image?

 ![Notification_Center](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/a/7/a76f66071449202868312accbeff74cdb2fd0efd.png)

Also referenced here:

> [@Need a way to disable profile image for signed-in users](https://community.glideapps.com/t/need-a-way-to-disable-profile-image-for-signed-in-users/19573):
>
> Hi All, I’ve finally released my app to a few test users, and one of the issues I’m running into is multiple people thinking that the profile section inside the hamburger menu is where profile images should be uploaded: [CleanShot 2020-12-08 at 14.56.33] My app is a directory of members of a particular group, with app users being those group members as well as members of the public (referred to here as “non-group-members” to avoid confusion w/ Glide’s public option). The app is set to “sign i…

and here

> [@Profile Pic using Data (if/then)](https://community.glideapps.com/t/profile-pic-using-data-if-then/11567/2):
>
> Hi Spencer, What an awesome use case. I guess the only way to do this (Currently) would be to have an if/then formula in the sheet IN ADDITION TO the if then data column. I say “addition to” only because the if then data column is instant and provides a better UX, and the formula in the sheet, although redundant, will allow for this functionality.

@Mark @Jason

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [August 27, 2021, 2:12pm UTC](https://community.glideapps.com/t/user-profile-protection/31026/8 "2021-08-27T14:12:10Z")

</div>

The way I’ve handled this in the past is to use an arrayformula for the image column, combined with a trigger that clears the entire contents of the column (except for the header row) every time a change is made to the User Profiles sheet.

It doesn’t prevent users from uploading an image, but any time they do it’s immediately removed and replaced with the default image dictated by the arrayformula.

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [August 27, 2021, 2:17pm UTC](https://community.glideapps.com/t/user-profile-protection/31026/9 "2021-08-27T14:17:29Z")

</div>

That would work…not ideal in the least, but solid workaround until Glide has something native.

---

<div class="post-metadata">

**Author:** ![Ralf](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/ralf/32/492_2.png) [@Ralf](https://community.glideapps.com/u/Ralf)\
**Post date:** [August 28, 2021, 1:09am UTC](https://community.glideapps.com/t/user-profile-protection/31026/10 "2021-08-28T01:09:37Z")

</div>

I have put a Feature Request:  
[Data Editor “Mark as Read-Only” column setting](https://community.glideapps.com/t/data-editor-mark-as-read-only-column-setting/31055/2)
