Status: Delivered. Described from our own delivery records. Client identity, brand and commercial terms are withheld. Figures, where given, cover the period stated and nothing beyond it.
Context
A company running a capable on-premises system it had built for its own operations.
It had a commercial opportunity to offer the same system to others — but the system had been built for one organisation, and its authentication assumed exactly that.
The problem
- Authentication was simple by design, because it had only ever needed to serve one organisation.
- Without identity and permission separation between tenants, multi-tenancy could not be offered safely at all.
- Selling a system per client would have meant one deployment per client, which does not scale commercially.
- Prospective customers expected their own subdomain, and some expected their own domain entirely.
What we built
A modernised identity and permission layer
Migrating authentication and authorisation onto dedicated identity services capable of expressing tenant boundaries.
Multi-tenancy
With identity, permission and data separation between tenants.
Client-specific subdomains
And support for customers using their own company domains.
Ongoing support through the launch
Because moving from an internal tool to a commercial service raises operational questions the original build never had to answer.
How we delivered it
- 1
Model the tenancy boundary
What is shared, what is separated, and what must never cross. Decided before any migration, since it is expensive to change later.
- 2
Stand up the identity services
Alongside the existing authentication.
- 3
Migrate authentication and authorisation
With the existing users moved without a reset.
- 4
Add tenancy to the application layer
Tenant-scoped throughout.
- 5
Add subdomain and custom-domain handling
Then support the commercial launch.
How it was phased
Indicative phasing for work of this shape. Actual duration varies with data quality, access and decision speed.
What the client keeps
- The identity configuration and its source
- The tenancy model as documentation
- Migration scripts
- Domain-handling configuration
- Operational runbooks