Skip to main content

Multi-Tenant Authentication

Domain-Based Routing

Cronozen routes users to the correct tenant based on domain:
Domain PatternTenant Resolution
cronozen.comPlatform default
*.cronozen.comSubdomain tenant lookup
Custom domain (e.g. slowpace.co.kr)White-label tenant mapping

White-Label Auth

White-label tenants use custom domains with the same auth infrastructure:
slowpace.co.kr → CloudFlare Worker → cronozen.com (rewrite)
                                   → Auth context: WHITE_LABEL tenant

Custom Domain Configuration

  • customDomains — Domain-to-tenant mapping
  • knownDomains — All recognized domains
  • CloudFlare Worker handles rewrite logic

Membership Lifecycle

INVITED → PENDING → ACTIVE → SUSPENDED → REJECTED → ENDED
StatusCan AccessCan Login
INVITEDNoNo
PENDINGNoYes (limited)
ACTIVEYesYes
SUSPENDEDNoYes (limited)
REJECTEDNoNo
ENDEDNoNo

Resolver Chain

The UI adapts based on the actor’s context through 6 resolvers:
ActorLifecycle → OnboardingStep → SidebarContext
                                → VerticalPath
                                → UIFeatures
                                → UIContext
UI is determined by domain prefix + membership role, never by center.type. This ensures consistent behavior across tenant types.