Unifying 1,500 Tenants into One Identity Platform, Opens University Market for SENET
Challenge
One network on paper, 1,500 separate identity silos in practice
SENET had grown to about 1,500 tenants, one per venue, each with its own user base. Across them sat roughly 25 million accounts, and the same person often held several: a separate login for every club they had ever visited. There was no shared notion of who a user was.
That fragmentation blocked several things ENESTECH wanted to do at once:
- No cross-club login for players. A gamer who registered at club A could not walk into clubs B and C and sign in with the same credentials.
- No single account for staff. Club employees needed one account to log into any venue in their network, not a fresh login per location.
- Depersonalized support access. ENESTECH's own support staff signed into tenants through shared service accounts, with no personal accountability. That is a problem for any security audit.
- No central, verified user base. There was no single source of truth for verified email and phone numbers across the network.
- No room for external identity providers. Universities, schools, and libraries wanted to bring their own identity systems rather than manage a second set of accounts in SENET, and the platform had no way to let them.
New centralized web and mobile apps were also on the roadmap, and all of them needed one shared identity foundation that did not yet exist.
Sergiy Purish
CEO at ENESTECH
Implex is good at understanding clients' needs and properly addressing these needs.
Solution
We worked as a small, senior team: a part-time architect leading the project end to end without a separate project manager, and a DevOps engineer at full capacity. Beyond the identity platform itself, we also moved the client's new centralized services into Kubernetes.
- A central, verified identity store on Keycloak. We built the platform on Keycloak, deployed and adapted for ENESTECH's scale, as the single source of truth for user identity with verified email and phone numbers. Where the standard product fell short, we wrote custom Keycloak extensions, including login and validation by phone number, which Keycloak does not support out of the box.
- Network-wide single sign-on. One set of credentials now works across the whole network. Players sign in at any club; staff log into any venue in their network with a single account. We federated identity with Azure, Google, Okta, and other OpenID-compatible providers, so external organizations can plug in their own identity systems.
- Personal, auditable support access. ENESTECH's support engineers now authenticate into every tenant under their own personal accounts instead of shared service accounts. Each action is tied to a real person, which is what let the platform pass its security audit.
- A platform that stays up under network-wide load. Once identity is centralized, every login across all 1,500 venues depends on it, so the platform has to stay available and absorb traffic spikes without anyone watching it. It runs on AWS EKS across three availability zones so a zone failure doesn't take logins down, and it scales itself with Karpenter in response to CPU, memory, and connection load, with pods grouped by load profile so capacity tracks demand instead of being over-provisioned. Secrets are held in HashiCorp Vault, and the Grafana observability stack (Prometheus, Loki, Grafana) surfaces failures and overload before they reach users.
- A soft, controlled migration with no big-bang cutover. The riskiest part was moving a live network without interrupting it. Our approach:
- We mapped every authentication flow as-is, designed the to-be flows, and matched them against each other.
- We handed the client's developers a specification to adapt their existing services so old and new authorization flows run in parallel.
- Migration of a tenant is then a feature-flag flip. Once enabled, its users are prompted to link their old account to the new centralized one, keeping all settings and balances intact.
- After linking, that user's identity becomes centralized.
The result is a migration that is managed at the tenant level and forced at the user level: controlled, reversible, and invisible to people using the clubs.
- A foundation for SENET's next products. The platform removed the blockers for things ENESTECH wanted to build on top: a centralized mobile app, centralized content delivery to clubs (games and media), centralized tenant management, and device authorization, including consoles. ENESTECH builds those products; our work made them possible.
The tools and technologies we used were:

Results
A single identity layer that both consolidates the existing network and opens a new one.
- A new market unlocked. More than 10 universities have been onboarded, with the number still climbing. This is a customer type ENESTECH could not sell to before, because centralized identity was a mandatory condition for them.
- One customer relationship instead of many fragmented logins. Players and staff now move across the whole network on a single identity, which removes the repeat sign-ups and abandoned accounts that the per-club model produced and gives ENESTECH one coherent view of each user.
- 25 million accounts being consolidated. The fragmented per-tenant databases are merging into one verified identity store. Internal estimates put duplication at roughly 3.5 accounts per real user.
- Zero-downtime migration in progress. Hundreds of tenants and hundreds of thousands of accounts have already moved, with the rest rolling out tenant by tenant and no interruption to service.
- Ready for a security audit, thanks to personal, accountable support access replacing shared service accounts.
- A new product line became sellable. With identity centralized, the mobile app, centralized content delivery, and device authorization are no longer blocked, so ENESTECH can ship revenue products that depended on it.
- An ongoing partnership. The architect who led the project still supports ENESTECH on a consulting basis after the core build wrapped and DevOps was handed over to the client's team.


