---
id: SCR-PFM-SEC-002
title: Users list
route: /console/{tenantId}/security/users
surface: console
product_area: platform
module: security
revision: 1
status: draft
design_intent: proposed
implementation_evidence: observed
inference: []
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
purpose: Browse customer console members and perform the offered status-dependent membership actions.
supports:
- JNY-PFM-SEC-003
- CAP-PFM-SEC-009
- CAP-PFM-SEC-008
permission: platform.users.read (the console's security.users.view)
entry_from:
- /console/{tenantId}/security
exits_to:
- /console/{tenantId}/security/users/{userId}
displays:
- field: Member name, address, status, role summaries and latest invitation/delivery outcome.
  source: listConsoleUsers (DOM-PFM-SEC-003 membership, assignments, invitations)
  provenance: observed
- field: Search and status, role and invitation filters with surname ordering and paged results.
  source: listConsoleUsers
  provenance: observed
actions:
- label: Invite user
  operation_id: inviteConsoleUser
  permission: platform.security-access.manage
  confirm: false
  provenance: observed
  source: react-console:components/security/users/users-screen.tsx
- label: Resend invitation
  operation_id: resendConsoleUserInvitation
  permission: platform.security-access.manage
  confirm: false
  provenance: observed
  source: react-console:components/security/users/users-screen.tsx
- label: Deactivate
  operation_id: suspendConsoleUser
  permission: platform.security-access.manage
  confirm: true
  provenance: observed
  source: react-console:components/security/users/users-screen.tsx
- label: Reactivate
  operation_id: reinstateConsoleUser
  permission: platform.security-access.manage
  confirm: false
  provenance: observed
  source: react-console:components/security/users/users-screen.tsx
- label: Remove Access
  operation_id: revokeConsoleUser
  permission: platform.security-access.manage
  confirm: true
  provenance: observed
  source: react-console:components/security/users/users-screen.tsx
- label: Revoke Invitation
  operation_id: revokeConsoleUser
  permission: platform.security-access.manage
  confirm: true
  provenance: observed
  source: react-console:components/security/users/users-screen.tsx
- label: Re-invite
  operation_id: inviteConsoleUser
  permission: platform.security-access.manage
  confirm: false
  provenance: observed
  source: react-console:components/security/users/users-screen.tsx
states:
- loading
- empty
- error
- read-only
validation:
- BR-CAP-PFM-SEC-009-01
- BR-CAP-PFM-SEC-008-09
- BR-CAP-PFM-SEC-008-02
- BR-CAP-PFM-SEC-008-05
patterns:
- SecurityPage guard
- PageHeader
- UsersTable
- InviteUserDialog
- UserActionsMenu
- AsyncConfirmDialog
component: components/security/users/users-screen.tsx (UsersScreen)
evidence:
- 'react-console at baf6dae: components/security/users/users-screen.tsx; the page route file; lib/security/api.ts,
  lib/hq/platform-ops.ts, lib/hq/platform.ts, lib/auth/*'
- react-console:components/security/users/user-actions.tsx:useUserActions, menuFor
- react-console:components/security/page-shell.tsx:SecurityPage; lib/authz/backend-aliases.ts (Security aliases)
console_area_permission: security.access
examined_at: '2026-10-23'
examiner: codex
controls: [TC-AVL-001, TC-AVL-005, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-AZ-005, TC-AZ-006, TC-CRY-001, TC-CRY-002, TC-CRY-003, TC-CRY-004, TC-DAT-001, TC-DAT-002, TC-DAT-003, TC-DAT-004, TC-IAM-001, TC-IAM-002, TC-IAM-003, TC-IAM-004, TC-IAM-005, TC-IAM-006, TC-LOG-001, TC-LOG-002, TC-LOG-003, TC-LOG-004, TC-LOG-005, TC-MON-001, TC-MON-003, TC-PI-001, TC-PI-003, TC-PI-005, TC-PRV-001, TC-PRV-002, TC-SEC-001, TC-SEC-002, TC-SEC-003, TC-SEC-004, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-TEN-004, TC-VEN-001, TC-VEN-002, TC-VEN-003]
---

# Users list

## What the Screen Is For

Browse customer console members and perform the offered status-dependent membership actions.

## What It Shows and Lets People Do

The page guards member reading and lists the customer’s console memberships. Management authority controls invitation and row actions. Active members offer deactivation; invited members offer resend or invitation withdrawal; suspended members offer reactivation or access removal; revoked members offer re-invitation.

## States and Errors

The shared action controller confirms destructive withdrawals and deactivation, while reactivation and resend run immediately. Delivery notices distinguish sent invitations from withheld or failed delivery. The screen uses its table and header components without the claimed standard-layout wrapper.

The state rows describe observed loading, empty, refusal or inactive handling where present. Linked validation rules belong to the planning layer; client feedback and authoritative service checks have distinct responsibilities.

## Patterns It Must Respect

The pattern list names the built shared components and interaction patterns checked for this screen. This contract describes the existing screen; it supplies no replacement visual design.
