Members — SanadiqCloud
Product version: 1.0.0+1 Last updated: 2026-08-03 Audience: Tenant Owners and users with
tenant:user:read(owner bypasses permission checks)
A. Where Members Live
Primary navigation is the side-rail Team tab (label may show as Team / users & roles). The Settings hub also has shortcuts to Members, Invites, and Users & roles — both entry points open the same screens.
| Screen | Path |
|---|---|
| Team hub | /settings/team |
| Team roadmap | /settings/team/roadmap |
| Members | /settings/members |
| Member detail | /settings/members/detail |
| Invites | /settings/invites |
| Roles | /settings/users-roles |
- Open Team in the side rail, then Members (requires
tenant:user:reador Tenant Owner). - Or open Settings → hub shortcut Members.
- Or go directly to
/settings/members.
B. Members List
The list loads organization members and supports client-side filters (search, role, status).
Columns (desktop table)
| Column | Description |
|---|---|
| Name | Display name (owner badge when applicable) |
| Login email | |
| Role | Role label for the membership |
| Status | Active or Inactive |
| Actions | View, assign role, remove (when permitted) |
Filters
| Filter | Description |
|---|---|
| Search | Name, email, role, or user id |
| Role | Narrow by role |
| Status | All / Active / Inactive |
Pending invitees are tracked on Invites, not as a member status. There is no separate “Pending member” row on this list.
Invite User
If you have tenant:user:create (or are owner), Invite User opens the Invites page. New people join only through invitations — there is no “create member” dialog on the list.
C. Member Detail
Open a row to view:
| Area | Contents |
|---|---|
| Hero | Name, email, Owner badge (when user_id matches tenant.owner_id) or role badge, Active status |
| Membership | Role (non-owners), Active switch when permitted (disabled for the owner row) |
| Dates | Joined / updated timestamps |
| Technical details | Collapsed: membership id, user id, added-by / updated-by ids |
| Danger zone | Remove (when tenant:user:delete, non-owners only) |
Assign role opens the full Assign roles page (/settings/users-roles/assign), not a small dialog.
Terminology
| Term | Meaning |
|---|---|
| User | Auth identity (users) |
| Membership | tenant_users row (user ↔ organization) |
| Owner | Canonical ownership via tenants.owner_id (+ Owner business role) |
| Administrator | Built-in access role — not the same as Owner |
There is no separate “Tenant Entry Account” entity.
Owner protection
The organization owner row is protected: no assign/remove/deactivate actions. A protected-owner message explains this.
D. Removing a Member
- From the list actions or member detail, choose Remove.
- Confirm in the dialog.
- Membership is revoked for this organization. The person’s SanadiqCloud account remains (they may still access other orgs).
E. Role Changes
- From list Assign / detail Assign role, open Assign roles.
- Select roles from the catalog (owner users and owner-type roles are excluded from assignable sets as implemented).
- Submit — success returns to the previous screen and refreshes when the page uses
pop(true).
Effective access is the union of assigned role permissions. Changes apply on subsequent authorized requests; the user does not need a special “re-login for roles” step in the UI.
F. Permissions
| Action | Permission |
|---|---|
| View members / detail | tenant:user:read (or owner) |
| Invite (navigate to Invites) | tenant:user:create (or owner) |
| Toggle active / assign | tenant:user:update + role:assign as gated in UI |
| Remove | tenant:user:delete (or owner) |
Related: Invites | Settings overview | Roles overview | Assigning roles