User Account
What It Models
User Account is the planning concept for a person’s membership and authority. Its design groups four aggregates: membership and sign-in identities; roles, policies and permission definitions; scoped assignments; and staff access grants. Each aggregate retains its own lifecycle and transaction boundary. Service principals and security history are adjacent records owned by Security.
Identity and Attributes
Each membership receives a generated user identifier when invitation, confirmed portal registration founding-staff reconciliation or the retained direct-create route creates it. A membership belongs to one customer console or one workspace portal. An address may recur across these boundaries, but not within one boundary. Portal pool usernames use the member identifier. Sign-in identities use issuer and subject; definitions, assignments, grants and service principals retain their own stable identities.
The attribute rows distinguish stored fields, computed answers and supporting records.
Relationships
Console memberships and custom definitions store their owning customer reference. Portal memberships, scoped assignments and grants refer to a workspace. Workspace purge removes the portal memberships and their dependent identities and assignments.
Invariants
The structured invariant rows identify each protection, its enforcement layer and its evidence. Read their qualifications with the statement rather than treating a service check as a database constraint.
How It Is Stored and Shared
A customer-console membership and a workspace-portal membership are distinct even when the same person uses both. Definitions describe permissions; assignments apply them to subjects and scopes. The evaluator also supplies baseline self-service permissions. A linked CRM contact allows contact-derived assignments to contribute to a portal member’s access.
Open Design Questions
Security owns these records and exposes administration operations and evaluated context. Other services synchronize derived assignments through the shared capability in their own transactions. Workspace provisioning invokes Security to invite a first administrator. Assignments and security history do not use the ordinary per-workspace row policy because their access boundaries differ.
The database table inventory excludes the separate gateway route registry. These records have no custom-field enabling declaration. Fresh permission evaluation and cached permission use have different timing; a gateway decision can remain cached for sixty seconds and its signed context can remain usable for thirty more. Provider synchronization is separately best effort or queued, with documented failure and recovery limits.
The existing planning grouping is retained. Product still needs to settle contact-derived subject semantics and the desired consistency between suspension and durable account removal. The design records those disagreements rather than changing the planning concepts.