Skip to main content

Advanced & Roadmap

Multi-tenancy direction

CNS already threads tenant_id through every layer — tenant isolation is an access rule enforced everywhere, not a convention bolted on later (see Tenants). What Phase 1 does not yet do is run more than one Profile at a time: one cns-server process loads exactly one global profile, so two tenants that need genuinely different infrastructure (different identity providers, different store instances) need two separate processes today.

The stated direction is to key the same Profile struct per tenant_id, resolved from the authenticated token, instead of loading one profile globally — deliberately scoped as "make the profile per-tenant," not a rewrite of the adapter interfaces, the event envelope, or the trust/authz model above it. A self-serve control plane (tenant onboarding, billing, per-tenant config UI) is explicitly deferred until there's a second real client's constraints to design it against, rather than speculatively building it against one tenant's needs.

Governed event types

The Event Registry — a governed, per-tenant event catalog with versioned schemas — is the planned evolution of today's /admin/v1/event-catalog (which registers a type + an opaque, unenforced JSON Schema). It's tracked as its own design effort; see that page for current status.

Everything else

The full Phase-2 scope named in the design spec: Phase-2 roadmap.