Multi-tenant access
In a multi-tenant product, the tenant boundary is the one that ends customer relationships when it breaks. Every database query that returns customer data must be scoped to the authenticated user's tenant at the server, derived from the session rather than from a parameter the client supplies.
The common defect is exactly that: an organisation identifier accepted from the request body instead of the session. Multi-tenant versions of this flaw are rated 8.8 to 9.5 on the CVSS scale because a single altered request returns another company's entire dataset rather than one record.
Ownership checks sit underneath tenant scoping. You need to own the invoice you're editing, so the check runs against the specific resource. Cross-tenant access exists in every platform for support purposes, and it should be an explicit and logged exception rather than an emergent property of an administrator role.
Example permission model
A permission model written in plain language before development starts is worth more than any diagram produced afterwards. Here's the shape it takes for a typical B2B platform with internal staff and customer users.
| Actor | Data scope | Allowed actions | Controls |
|---|
| Customer standard user | Own tenant, own records | Create, read, edit own records | Session-scoped tenant, ownership check |
| Customer administrator | Own tenant, all records | All of the above, plus user management and role assignment | Cannot grant roles above their own |
| Customer approver | Own tenant, records routed to them | Approve up to a configured value | Threshold claim, second factor on approval |
| Internal support agent | No tenant data by default | Read-only via time-boxed impersonation | Customer-approved, expires in 60 minutes, fully logged |
| Internal platform administrator | Configuration, not customer records | Manage tenants and features | Phishing-resistant MFA, dual approval for destructive actions |
Three categories deserve different treatment. Ordinary access follows the role in role-based access control. Delegated access is granted by someone with authority and carries the granter's identity in the log, and privileged access is time-boxed with a named approver.
Support impersonation is worth writing into the specification rather than leaving to convention. Make it a distinct mode that the customer can see and revoke. Record the agent's real identity alongside the impersonated account, and set an expiry that the agent can't extend without a fresh approval.
Failures and business impact
Weak separation between the two layers of authentication vs authorisation rarely announces itself. It surfaces as a support ticket from a customer who saw a record they shouldn't have, and by then the disclosure obligation has already started. Breaches involving stolen credentials take around 292 days to resolve according to IBM's 2025 figures, which is most of a year of legal cost and customer management.
The regulatory exposure is not theoretical in the UK. The Information Commissioner's Office fined Advanced Computer Software Group £3.07 million in 2025 after attackers entered through a customer account with no MFA and escalated to domain administrator. The finding was an Article 32 failure to implement appropriate technical and organisational measures, which is the clause every processor in B2B software sits under.
Orphaned privileges cause quieter damage over longer periods. A Beyond Identity study found 83% of former employees still had access to a previous employer's digital assets after leaving. Colette Wyatt, CEO of Evolved Ideas, frames the underlying discipline this way: "We believe that technology is more than just writing code. For every project, whether it's a Minimum Viable Product (MVP), bespoke software, or a new product, we strive to understand your real needs." Identity and access management requirements are part of those real needs.
Two beliefs cause most of the trouble, and both feel reasonable in a design review:
Audit and lifecycle controls
When something goes wrong with authentication vs authorisation, the question you'll be asked is who accessed what, when, and on whose authority. Answering it requires logs you decided to keep before the incident. Successful logins with the factor used belong in that set, as do failed attempts. Every permission change with the identity of whoever made it belongs there, as do all privileged actions.
Denials matter more than teams expect. A pattern of denied requests against another tenant's records is the earliest signal you'll get that someone is probing your boundaries, and it only exists if you record refusals as well as approvals.
Lifecycle controls are the other half. SOC 2's access criteria expect a formal joiner-mover-leaver process and periodic reviews, with CC6.3 covering access modification and removal on role change or departure. Cyber Essentials asks UK organisations for the same things in plainer language. It requires that accounts are removed or disabled when no longer required and that special privileges are withdrawn once the need ends.
Run access reviews quarterly for privileged accounts and annually for everyone else, and treat the review output as evidence rather than an internal note. Identity and access management earns its budget at audit time, when you can produce the record instead of reconstructing it. Build the export before you need it.
Discovery questions
Take this list into your next requirements session. It's short on purpose, because the answers are what generate the real specification.
-
Who are the distinct user populations, and how many organisations will share the platform?
-
What assurance do you need at enrolment, and does it differ for customer users and administrators?
-
Will customers authenticate through their own SSO, and who owns account recovery when it fails?
-
Which actions are sensitive enough to require a step-up challenge or a second approver?
-
How many roles will you support, and who can assign them inside a customer tenant?
-
What does support access look like, and how long does it last?
-
Which audit obligations apply, and what evidence must you be able to produce?
The gap between a good answer and a vague one here is worth weeks of rework later, because access design is structural. Retrofitting tenant scoping into a live product means touching every query you've written.
Conclusion
Getting authentication vs authorisation right is a design decision made during discovery. For authentication vs authorisation, verify identity properly, then decide permissions separately on every request.
Evolved Ideas builds multi-tenant B2B platforms and runs discovery-led engagements where access requirements are defined before development starts. If you're specifying a new product or reviewing an existing permission model, speak to our team about your identity and access management requirements.