generated from coulomb/repo-seed
Record B2B SaaS subscriber tenancy and Stripe billing source notes. Resolve the Customer Account open question: reject it as canonical, add Commercial Record and Commercial Relationship to the Record and relationship layers, and document Subscriber as a convenience term only.
102 lines
4.5 KiB
Markdown
102 lines
4.5 KiB
Markdown
# B2B SaaS Subscriber and Organization Tenancy
|
|
|
|
## Source Type
|
|
|
|
Product documentation and industry practice synthesis. Auth0 Organizations and
|
|
B2B SaaS multi-tenancy guidance; Stytch B2B Auth School org-tenancy model.
|
|
|
|
## Domain
|
|
|
|
B2B SaaS identity, organization tenancy, subscriber administration, and
|
|
vendor/customer delineation in IAM products.
|
|
|
|
## Why This Source Matters
|
|
|
|
IAM vendors explicitly separate the subscribing party (customer/subscriber) from
|
|
login accounts and from billing records. This source clarifies why "customer
|
|
account" overloads identity, commercial, and access semantics.
|
|
|
|
## Key Concepts
|
|
|
|
- **Subscriber**: Auth0-preferred term for the immediate B2B customer — the
|
|
party that holds a provisioned tenant and subscription.
|
|
- **Vendor**: provider of the B2B SaaS application (platform operator).
|
|
- **Organization tenancy**: architecture where organizations are first-class
|
|
entities; members are scoped to their organization.
|
|
- **Member**: end user with membership in an organization (Stytch); distinct
|
|
from platform-wide user identity.
|
|
- **Tenant / tenancy holder**: operational partition occupied by a subscriber.
|
|
- **Org discovery**: determining which organization a user authenticates into.
|
|
- **Membership control**: granting/revoking which users may access a subscriber's
|
|
tenant.
|
|
- **Identity isolation**: per-subscriber credential and IdP configuration vs.
|
|
platform-wide user population.
|
|
- **B2B2C / B2B2B variants**: additional "customer" and "consumer" layers below
|
|
the subscribing organization.
|
|
|
|
## Relevant Terminology
|
|
|
|
| Term | Source meaning |
|
|
| --- | --- |
|
|
| Subscriber | B2B customer occupying a tenant; Auth0 avoids "customer" label. |
|
|
| Vendor | SaaS platform provider. |
|
|
| Organization | First-class customer entity; "the organization is the customer" (Stytch). |
|
|
| Member | Employee or invited user within an organization. |
|
|
| Tenant | Isolation boundary for subscriber data, branding, and config. |
|
|
| Customer (informal) | Often used interchangeably with subscriber or organization. |
|
|
| User | Login identity; may belong to multiple organizations. |
|
|
| Consumer | End user in B2B2C scenarios below the subscriber org. |
|
|
|
|
## Modeling Assumptions
|
|
|
|
- **The subscribing company is modeled as an organization**, not as a user
|
|
account or billing record.
|
|
- **One human can be a member of multiple subscriber organizations** (contractors,
|
|
agencies).
|
|
- **Platform stores users globally**; membership scopes them to subscriber orgs.
|
|
- **Billing is subscription-based** but handled outside core IAM in most products.
|
|
- **Vendor administration** may cross tenant boundaries with subscriber consent;
|
|
subscriber administration does not.
|
|
- **No IAM product defines "Customer Account"** as a separate entity type.
|
|
|
|
## Identity-Canon Implications
|
|
|
|
- **Subscriber** maps to **Organization** actor in **Customer Relationship**
|
|
with vendor + **Tenant** Scope — not a canonical noun.
|
|
- **Member** maps to **Account** + **Membership Relationship** to Organization.
|
|
- **Vendor** maps to **Vendor Relationship** role on vendor Organization actor.
|
|
- Supports S04, S05 without Customer Account concept.
|
|
- Individual (B2C-style) subscriber maps to **Natural Person** + **Tenant**
|
|
Scope, still without Customer Account.
|
|
|
|
## Terminology Conflicts
|
|
|
|
- **Customer vs. Subscriber vs. Organization**: three labels for overlapping B2B
|
|
party; IAM prefers organization or subscriber.
|
|
- **Customer vs. Consumer**: B2B2C uses both; subscriber org vs. end consumer.
|
|
- **Tenant vs. Organization**: Stytch equates customer to organization; tenant
|
|
is the isolation fabric they occupy.
|
|
- **Account**: must not be used for subscriber org or billing party.
|
|
|
|
## Candidate Canonical Mappings
|
|
|
|
| B2B SaaS IAM concept | Candidate canonical concept |
|
|
| --- | --- |
|
|
| Subscriber | Organization + Customer Relationship role |
|
|
| Organization (tenant holder) | Organization + Tenant Scope |
|
|
| Member | Account + Membership Relationship |
|
|
| Vendor (platform) | Organization + Vendor Relationship role |
|
|
| Tenant | Tenant (Scope) |
|
|
| User (login) | Account |
|
|
| Consumer (B2B2C) | Natural Person or Account (context-dependent) |
|
|
|
|
## Open Questions
|
|
|
|
- None blocking Customer Account resolution. Commercial billing layer documented
|
|
separately in `stripe-customer-billing.md`.
|
|
|
|
## References
|
|
|
|
- Auth0: Demystifying Multi-Tenancy in B2B SaaS — https://auth0.com/blog/demystifying-multi-tenancy-in-b2b-saas/
|
|
- Auth0 Organizations — https://auth0.com/docs/manage-users/organizations
|
|
- Stytch: Organization tenancy — https://stytch.com/blog/organization-tenancy/ |