← All frames
Frame (a) · route /settings/access

Members & roles

The administration surface for one organization. Roles come from the tenant's role catalogue — a bounded, policy-defined set, not free text.

Members

4 people in Northwind

PersonRoleActions
ada@northwind.example You
Admin
grace@northwind.example
Admin
linus@northwind.example
Editor
edsger@northwind.example
Viewer

Direct memberships only. This list shows this org's direct active memberships — one row per organization_memberships row. Principals whose access comes from above (a parent org, the platform root, or a reseller portal) are ReBAC-derived and have no membership row here, so they do not appear — by omission, satisfying the "access from above is hidden" requirement. Platform staff (Employee) are never listed here; their inherited access is surfaced only in the separate, labelled staff console (design/frames/employee-console). If a future admin surface ever needs to show inherited access, it must be a clearly separated, labelled panel — never merged into this direct-member list.

Contract. Rows come from GET /v1/security/tenants/{tenantId}/members (MemberPage — cursor-paginated; "Load more" advances page.cursor). Role pills are keyed to GET /v1/security/tenants/{tenantId}/roles (Role.key → Role.name). A member with no roles renders no pill, never a blank cell. For the root/portal org — where "members = everyone" — this small-team list is replaced by the paginated, searchable member directory (design/frames/member-directory).

Review · authz-admin approve or reject each flow ↓
access-adminpendingApproveReject