Object level security is great to be able to block access to sensitive data however it means visuals need to be created separately as a field block invalidates the entire visual. due to the visual not finding the field, this makes the solution impractical in the real world or greatly duplicates the work required. An option added to the object level to return a blank , NULL or zero (not sure what technically is best) in addition to the default, read, none options for a role , would mean that shared visuals can be used, the field when restricted just shows as blank. and any formulas just use the returned value , this greatly reduces the duplicate workloads in creating separate visuals. I get that an option for visuals to ignore fields restricted would also solve the problem , however i dont see that as an easy or short term fix but simply returning a fixed value should be straightforward in dev.