offplan · online
Decision · 0009-tenancy-permission

0009 — Tenancy & Permission Architecture

Approveddecision0009-tenancy-permission

Context

offplan.online — multi-tenant B2B2C SaaS где один платежник (Client) может оперировать несколькими типами Organisations (Studio / Agency / Developer), и где гостевые Organisations (приглашённые без платной подписки) видят только то что им явно открыто. Phase 1.3 (Tenancy & Permission Model) — foundational: блокирует Phase 1.4 / 1.7 / 1.10 / 1.11.

Архитектура должна закрывать:

Все эти решения зафиксированы в Foundational §1 (Entities) + §2 (Onboarding) + §4 (Access) launch-plan-stage-1.html. ADR 0009 — codification single-source-of-truth для tech team + future ADR cross-references.

Decision

Tenancy model = Client-Organisation hybrid с 5 Partner ролями + Operator + Buyer.

Entity model (Foundational §1)

5 Partner roles (Foundational §2 + CONV-22)

Внутри Organisation team:

Hybrid login surfaces (Foundational §2 + CONV-21)

Auth-scoped views (CONV-21)

Один URL {slug}.offplan.online/projects/{project-slug} рендерит разный контент в зависимости от viewer state:

Login entry surface — иконка top-right на каждой странице sales-app (Phase 1.10.0).

Scoped URL routing (Foundational §2)

Cross-entity invitations (Foundational §4)

Permission scoping (Foundational §4)

Three orthogonal axes:

Three axes are independent: role allows action → allocation allows resource → visibility preset shows to anonymous.

Alternatives Considered

Consequences

Revisit trigger