# Setting up ViewOnly user access

**URL:** <https://forum.inductiveautomation.com/t/setting-up-viewonly-user-access/112212>\
**Category:** Ignition\
**Tags:** vision\
**Created:** [November 16, 2025, 8:13am UTC](https://forum.inductiveautomation.com/t/setting-up-viewonly-user-access/112212 "2025-11-16T08:13:42Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Wade](https://avatars.discourse-cdn.com/v4/letter/w/9de053/32.png) [@Wade](https://forum.inductiveautomation.com/u/Wade)\
**Post date:** [November 16, 2025, 8:13am UTC](https://forum.inductiveautomation.com/t/setting-up-viewonly-user-access/112212/1 "2025-11-16T08:13:42Z")

</div>

I am trying to set up a ViewOnly role which would allow access to all vision windows, but not allow operation of any buttons or controls etc.

So managers for example, can monitor a process without any danger of accidentally controlling anything.

Is there a practical way to achieve this for a whole project for a ViewOnly user role, without having to modify every components security property on every window?

---

<div class="post-metadata">

**Author:** ![robertm](https://avatars.discourse-cdn.com/v4/letter/r/ea5d25/32.png) [@robertm](https://forum.inductiveautomation.com/u/robertm)\
**Post date:** [November 16, 2025, 10:26am UTC](https://forum.inductiveautomation.com/t/setting-up-viewonly-user-access/112212/2 "2025-11-16T10:26:58Z")

</div>

If you search, there are a few solutions. Me personally, I do this with custom properties on each component, bound to an expression hasRole() which controls the enable/permissive of each. I don’t use the security levels.

But of course that requires planning upfront. After the fact, you can create a full screen transparent text entry with z order 0 and disabled, that’s visible or not with your permissive expression.
