When a business moves off spreadsheets, the first instinct is often to give everybody access to everything. It feels open and simple. It also gets noisy for staff and risky for the business surprisingly quickly.
Too much on screen slows people down
An engineer opening the job list doesn't want to scroll past three hundred jobs to find their four. A cleaner checking the rota doesn't need forty other people's shifts. The more irrelevant information on a small screen, the more likely someone taps the wrong row.
Some of it is sensitive
Costs and margins aren't for every member of staff. Tenant and customer contact details need protecting under data protection law. Leave and personal circumstances are private. None of that should be one click away for everyone.
A few simple rules cover most teams
- Everyone: the whole team sees every row. Fine for small teams.
- Assigned to me: people see the jobs or shifts that are theirs.
- I created: people see what they reported or requested.
- In my sites: people see work for the buildings they cover.
Managers usually need to see everything, whichever rule is in place.

Hiding a column isn't security
This is worth being blunt about. If a system hides information on the screen but still sends it to the phone or browser underneath, it isn't protected. Anyone curious enough can find it. Real visibility rules have to be enforced on the server, so information someone shouldn't see never leaves it.
In OmniSchema each list has a visibility setting (Everyone, Assigned to me, I created, or In my sites) and it's enforced on the server rather than just hidden on the page. Any column can be marked as cost data so only the right roles see it. You choose the policy that suits your business, and the system makes sure it holds.
