HomeInsightsEngineering
Engineering

Notes from the Build: Permissions as Architecture, Not an Afterthought

Who can see and change what is usually treated as a settings screen. It should be treated as one of the earliest architectural decisions a system makes.

RE
Regent Editorial
September 15, 2026 · 5 min
Main cover image for Notes from the Build: Permissions as Architecture, Not an Afterthought

Permissions tend to get built last. The core functionality gets designed and shipped first, and access control gets added once someone asks "wait, who's supposed to be able to see this?" — usually well after the shape of the system is already set. This ordering is common, and it's also backwards. Permissions are not a layer you add on top of a system. They are part of what the system's data model has to be built to support from the beginning, the same principle covered from the entity-modeling side in data modeling for systems that outlive their first version.

Why permissions can't be bolted on cleanly

A permissions model added after the fact has to work within constraints it had no say in shaping. If the data model didn't originally account for ownership, hierarchy, or scoping, retrofitting access control means either accepting a coarser model than the organization actually needs, or restructuring data relationships that other parts of the system already depend on. Neither option is clean, and both get more expensive the longer the system has been running.

The alternative is treating permissions as a first-order design question from the start: not "how do we lock this down later" but "what does this entity need to know about who can act on it, from the moment it's created."

What this looks like structurally

Ownership and scope belong on the entity, not bolted on separately. Every record should carry enough structural information — who created it, what it belongs to, what hierarchy it sits within — to answer access questions without a separate lookup system trying to reconstruct context after the fact.

Roles should model the organization's actual shape, not a generic template. A permissions system built around a fixed "admin / editor / viewer" template rarely survives contact with a real organization's structure — departments, branches, and reporting lines that a generic template was never built to express.

Permission checks belong at the data layer, not just the interface. An interface that hides a button is not access control. Real permissioning has to hold even when the request bypasses the interface entirely — API calls, integrations, background jobs — which means the enforcement has to live where the data lives, not just where it's displayed. This is the same standard behind treating a system as designed for failure conditions, not just the success path.

"A permissions model that only works through the interface isn't a permissions model. It's a suggestion."

Why this is worth getting right early

Organizations change shape constantly — new departments, new branches, new roles nobody anticipated when the system was first built. A permissions architecture designed generally enough to absorb that change, from the outset, saves an organization from the alternative: a system that has to be partially rebuilt every time its own structure evolves, the same discipline underlying building for permanence rather than the next feature cycle.

Talk to Regent about systems built with permissions as architecture


Related Reading

Ready to optimize your systems?

Our engineers are ready to discuss your architecture and how we can help you build institutional-grade infrastructure.