Permissions systems have a bad habit of becoming their own product — a maze of custom roles, exceptions, and overrides that eventually needs a manual just to explain who can see what.

Three axes, not three hundred roles

Nuclear Software's permission model is built on three axes: role, location, and team. Most access decisions fall out of a combination of these three without needing a bespoke rule.

A regional manager gets a role that spans every location in their region automatically — no need to add them individually to each site's team. A location gets a new manager, and their access follows the role, not a manually maintained list.

Where we drew the line

We deliberately didn't build a fully custom permissions engine with arbitrary boolean logic. It's tempting, but every team we watched try to build one ended up with a permissions system nobody fully understood a year later. Three axes cover the overwhelming majority of real org structures without that cost.

Share this post