# View vs edit permissions security levels

**URL:** <https://forum.inductiveautomation.com/t/view-vs-edit-permissions-security-levels/78861>\
**Category:** Ignition\
**Tags:** ignition81, perspective\
**Created:** [September 7, 2023, 2:29pm UTC](https://forum.inductiveautomation.com/t/view-vs-edit-permissions-security-levels/78861 "2023-09-07T14:29:47Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![pbg](https://avatars.discourse-cdn.com/v4/letter/p/ecd19e/32.png) [@pbg](https://forum.inductiveautomation.com/u/pbg)\
**Post date:** [September 7, 2023, 2:29pm UTC](https://forum.inductiveautomation.com/t/view-vs-edit-permissions-security-levels/78861/1 "2023-09-07T14:29:47Z")

</div>

Hi,

I am using view configs to give viewing permissions but is there a way to implement a read only. Where if the user has the right role, they can't take any actions on the view? Right now my only solution is manually configuring this for every component.

Thanks

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [September 7, 2023, 2:34pm UTC](https://forum.inductiveautomation.com/t/view-vs-edit-permissions-security-levels/78861/2 "2023-09-07T14:34:55Z")

</div>

One option is to create a view custom property, `readOnly`, say, and bind each of the "editable" properties to it. It's then simply a matter of right-click, Copy Binding followed by Paste Binding later.

---

<div class="post-metadata">

**Author:** ![j.israelsen](https://avatars.discourse-cdn.com/v4/letter/j/ad7895/32.png) [@j.israelsen](https://forum.inductiveautomation.com/u/j.israelsen)\
**Post date:** [September 7, 2023, 2:39pm UTC](https://forum.inductiveautomation.com/t/view-vs-edit-permissions-security-levels/78861/3 "2023-09-07T14:39:08Z")

</div>

Not sure about your exact setup, but my personal preference is to primarily put security at the Tag level. That way if something gets missed for security on screen you don't have to worry about it as much. However, I understand that not everything that needs to be protected can be done from tags. For other things like queries for example, I think it still best to put the security at the base level (in this example query level).

---

<div class="post-metadata">

**Author:** ![pbg](https://avatars.discourse-cdn.com/v4/letter/p/ecd19e/32.png) [@pbg](https://forum.inductiveautomation.com/u/pbg)\
**Post date:** [September 7, 2023, 2:46pm UTC](https://forum.inductiveautomation.com/t/view-vs-edit-permissions-security-levels/78861/5 "2023-09-07T14:46:11Z")

</div>

For this project most of the data access is done through scripting, so I think if I'm understanding you correctly, it might be hard for me to implement that way.

---

<div class="post-metadata">

**Author:** ![j.israelsen](https://avatars.discourse-cdn.com/v4/letter/j/ad7895/32.png) [@j.israelsen](https://forum.inductiveautomation.com/u/j.israelsen)\
**Post date:** [September 7, 2023, 3:01pm UTC](https://forum.inductiveautomation.com/t/view-vs-edit-permissions-security-levels/78861/6 "2023-09-07T15:01:52Z")

</div>

Hmmm, since it is mostly scripting that's probably one of the more difficult methods to lock down, some potential solutions that come to mind:

1. **Security via Graphics** - What @Transistor mentioned seems like a pretty good solution for locking items down from the graphic level.
2. **Local Scripts Security Check** - If your scripts are local, then check the security before you run the script or have a check in the script at a component by component level.
3. **Global Scripts Security Check** - If your scripts are global, then pass security parameters to the global script where you check for security as part of the script.

Perhaps others have better ideas...
