The visibility filters in VertiGIS Studio Web (VSW) allow you to show and hide UI elements based on users and roles; but what do you do about map data?
For example, you have a webmap configured with three layers, layer A, layer B and layer C. User A can see layer A, User B can see layer B, User C can see layer C.
User A loads the app, but can't see layer B or layer C so would get errors.
Unfortunately, VSW has no way of knowing why a layer that is configured cannot be accessed.
Each layer extension in your map configuration has a Failure Behavior setting. The default is to warn the end user, but you can change this to Silent Failure which will suppress user-facing errors (but not console errors).
If you are hosting your layers in ArcGIS Online, that is as far as you can take it.
If you are hosting your layers in ArcGIS Enterprise you have additional options with VertiGIS Studio Access Control (VSAC).
In many cases, the reason there are there separate layers or map services is because the same data has been published multiple times in order to show or hide some attribute data.
With VSAC you can publish a single layer with all the attribute data and then use user and role based rules (or other rules based on geography, attribute values) to secure certain data to certain people.
When done this way, the single layer always loads without errors in VSW, but attributes secured using VSAC never show up for users that shouldn't see them (both the field name and the field value are hidden).
This is the same feature displayed for a user that can see the ReportDate attribute and then for a user that does not have permission to view that attribute field.
If you have several use cases for securing specific data, it may be worth investigating what VSAC can do for you, and it gives you less layers, and less applications to manage.