Skip to content

Multi-tenant SaaS control plane

Generated from the architecture model

This page is rendered from model/**/*.yaml by tools/docs_model during mkdocs build. Edit the YAML, not this page; hand-written design lives on the linked service, platform and plane pages.

Vertical SaaS
Prototype reference SaaS Control Plane prototype (six services as Azure-style blades) (ConnectSoft.DesignPrototypes)
Managed edition Managed (D33, D34)
Data residency tenant-region (D31)
Catalog Examples catalog · Vision-to-Production path for this vertical

Business problem

Every product rebuilds tenants, plans, entitlements and billing differently.

Product intent

The SaaS foundations themselves as a product: tenants, products catalog, entitlements, billing, metering and an admin shell.

What the Factory makes different here: the same templates the Factory uses for its own tenancy and commerce (BC-33, BC-34) and the marketplace (BC-28).

Vision-to-Production path for this vertical

Step Factory platform Agents Blueprints
Vision and product plan Agent Mesh, Control plane Enterprise Architect Agent, Backend Developer Agent agentic-saas-product
Architecture and domain Template & Library (BC-02) Enterprise Architect Agent service, module
Experience Template & Library, Factory Studio UX track UX Designer Agent, Frontend Developer Agent frontend
Recipe and generation Template & Library (BC-15), Agent Mesh, Tools & MCP Enterprise Architect Agent, Backend Developer Agent, Frontend Developer Agent, QA Agent module plan from the context map
Quality Observability (BC-22), DevOps / GitOps QA Agent test
Delivery and provisioning DevOps / GitOps (BC-23, BC-24), Runtime Cloud (BC-25) DevOps Agent, Infrastructure Architect Agent —
Operations Product Fleet Operations (BC-35..37) — handover, objectives, rollouts, incidents, off-boarding

Delivery workflows exercised: saas-template-selection-workflow.

Generated product shape

C4Context
    title Multi-tenant SaaS control plane system context
    Person(user, "Users", "SaaS users and operators")
    System_Ext(factory, "ConnectSoft AI Factory", "generates, delivers, provisions and operates the product")
    System_Boundary(product, "Multi-tenant SaaS control plane") {
        System(ctx_Tenants, "Tenants", "tenants, lifecycle, isolation")
        System(ctx_Products, "Products", "editions, features")
        System(ctx_Entitlements, "Entitlements", "grants, checks")
        System(ctx_Billing, "Billing", "subscriptions, invoices")
        System(ctx_Metering, "Metering", "usage, dimensions")
    }
    Rel(user, ctx_Tenants, "uses through the product gateway GW-07")
    Rel(factory, ctx_Tenants, "descriptor, health, rollouts, incidents, off-boarding")
Hold "Alt" / "Option" to enable pan & zoom

Bounded contexts

Context Responsibility Published events
Tenants tenants, lifecycle, isolation TenantProvisioned
Products editions, features EditionPublished
Entitlements grants, checks EntitlementGranted
Billing subscriptions, invoices InvoiceIssued
Metering usage, dimensions UsageRecorded

Modules and templates

Module Template Notes
Tenants connectsoft-saas-tenants
Products catalog connectsoft-saas-productscatalog
Entitlements connectsoft-saas-entitlements
Billing connectsoft-saas-billing
Metering connectsoft-saas-metering
Admin shell connectsoft-blazor-saas-shell
Every product also gets the SaaS foundations (tenants, editions, entitlements, billing, metering) and the product host shape (descriptor, health, operations handover) unless it is a library-only product.

Prototype reference

SaaS Control Plane prototype (six services as Azure-style blades) in ConnectSoft.DesignPrototypes shows the intended screens; the UX track (U1–U4) maps prototype destinations to the UX model's screens with keep, merge, rename, retire or new decisions.

Operations as a managed product

Managed; the foundation of every other SaaS example.