Product Vision - User Management System (UMS)
1. Executive Summary
The User Management System (UMS) is an abstract, standalone authorization & identity governance kernel. Its core vision is to centralize and standardize the governance of identities, organizations, and fine-grained permissions across a federated, multi-system B2B Multi-tenant SaaS architecture via highly decoupled APIs and message buses.
Rather than serving as a simple user store, UMS acts as a Specialized Authorization & Dynamic Configuration Engine that manages “what a user can do,” while providing both a native, secure internal user database and the plug-and-play flexibility to delegate “who the user is” to secure, sovereign external Identity Providers (IdP).
2. Strategic Pillars
A. Sovereign Identity (Delegated & Native Authentication)
- Traditional password databases are obsolete, but vendor lock-in is worse. UMS mandates an optional, pluggable identity model.
- UMS provides its own fully functional Native Identity Store (using secure bcrypt hashes) out of the box.
- For enterprise tenants, authentication can be seamlessly delegated to external Identity Providers (Zitadel, Azure AD, Okta, SAML/OIDC) via OIDC and OAuth 2.0 (Auth Code Flow with PKCE) under a plug-and-play strategy.
B. Dynamic B2B Multi-Tenancy
- High-performance tenant isolation is enforced at the PostgreSQL database level using Row-Level Security (RLS).
- Organizations (Tenants) have total self-service autonomy to manage their local employees, roles, and profiles, freeing the primary platform operator from daily administrative overhead.
C. Dynamic UI Injection & Granular Authorization
- Application interfaces are rendered dynamically. The client UI queries UMS to inject customized Menus, Options, and Actions in real-time based on the user’s compiled permission graph.
D. Pluggable & Optional Infrastructure (Zero Lock-In)
- Zero External Dependency Mandate: Both external Identity Providers (IdPs) and external Feature Flag Managers (e.g., LaunchDarkly, Unleash, ConfigCat) are completely optional.
- The core platform supplies a fully operational native backend implementation of all services.
- Adding or swapping to external services operates as a pure plug-and-play runtime configuration change, requiring zero deployments or code modifications.
3. Core Philosophy & Future Readiness
By keeping the Domain Core completely pure and decoupled from external frameworks, UMS is designed for seamless, future-proof evolution. The application code adopts strict Hexagonal Architecture (Ports and Adapters), ensuring that no external vendor SDKs leak into the core business logic. This makes UMS ready to transition into independent microservices governed by Dapr sidecars when scalability triggers are met.