Skip to content

Platform overview

Summarized from PRODUCT-ARCHITECTURE-PLAN.md §1–3. See the canonical doc for full detail.

Executive summary

TenancyEngine is a multi-tenant SaaS platform engine (not a boilerplate template) that powers multiple independent SaaS products. Three public brands operate the stack:

BrandDomainRole
TenancyEnginetenancyengine.comControl plane — signup, purchase, app registration, tenant management
SaaSRuntimesaasruntime.comRuntime plane — customer app auth, APIs, webhooks, OAuth
TenaBilltenabill.comBilling plane — subscriptions, invoices, payment methods, usage (including AI credits)

First-party reference applications validate the platform under real requirements:

  1. VectraLabel — Food label design & printing (USA/Canada compliance)
  2. Cyntrix Traders — AI-assisted stock analysis (first consumer of platform AI credits)
  3. StudioDash — Studio management (scheduling, booking)

External vendors will later register their own apps on TenancyEngine using the same runtime and billing stack.

Vision & principles

What we are building

  • A multi-tenant engine: tenant resolution, isolation, auth, billing hooks, metering, AI gateway, operational tooling
  • Not a SaaSForge-style starter kit — apps bring their own UX; the platform provides shared infrastructure

Why first-party apps exist

VectraLabel, Cyntrix Traders, and StudioDash are reference implementations and production products that dogfood auth, billing, tenancy, and AI before external vendors depend on the platform.

Design principles

PrincipleMeaning
Single identity issuerauth.saasruntime.com issues tokens for all apps and consoles (per environment)
Apps never embed TenancyEngine URLsProduction SDK config uses SaaSRuntime only
Separate billing UXMoney flows and Stripe UI live on TenaBill
Environment paritydev / staging / prod share the same hostname pattern
Data isolation by defaultTenant ID on every request; isolation strategy explicit per app tier

Ecosystem diagram

                    ┌─────────────────────────────────────────┐
                    │           TENANCYENGINE                  │
                    │  tenancyengine.com (control plane)       │
                    │  • Marketing / pricing                   │
                    │  • console.* — register apps, tenants    │
                    │  • Team access, API keys (display)       │
                    │  • AI credit packs (purchase UI)         │
                    └───────────────┬─────────────────────────┘
                                    │ admin API / SSO
          ┌─────────────────────────┼─────────────────────────┐
          │                         │                         │
          ▼                         ▼                         ▼
┌─────────────────┐     ┌─────────────────────┐   ┌─────────────────┐
│   SAASRUNTIME   │     │      TENABILL       │   │  FIRST-PARTY    │
│ saasruntime.com │     │   tenabill.com      │   │  SAAS APPS      │
│ • auth.*        │◄────│ • app.* billing UI  │   │ • VectraLabel   │
│ • api.*         │     │ • Stripe customer   │   │ • Cyntrix       │
│ • OAuth/OIDC    │     │ • Invoices / usage  │   │ • StudioDash    │
│ • Tenant API    │     └─────────────────────┘   └────────┬────────┘
│ • AI meter API  │◄─────────────────────────────────────────┘
└─────────────────┘              OAuth + API only

Next steps

TenancyEngine platform documentation