---
id: SCR-PFM-SEC-003
title: User view
route: /console/{tenantId}/security/users/{userId}
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: Inspect one member’s profile, scoped grants and permitted access/history explanation.
supports:
- JNY-PFM-SEC-003
- CAP-PFM-SEC-009
- CAP-PFM-SEC-010
- CAP-PFM-SEC-011
permission: platform.users.read
entry_from:
- /console/{tenantId}/security/users
exits_to:
- /console/{tenantId}/security/users/{userId}/edit
- /console/{tenantId}/security/users
displays:
- field: Profile, membership status, authentication time and latest invitation delivery.
  source: getConsoleUser
  provenance: observed
- field: Assignments with role, scope, validity, granting actor and derivation metadata.
  source: listConsoleUserAssignments
  provenance: observed
- field: Permission explanation for the chosen workspace with contributing grants and definitions.
  source: explainConsoleUserPermissions
  provenance: observed
- field: Member security events when explanation authority is available.
  source: listSecurityAuditEvents (platform.security-access.explain)
  provenance: observed
actions:
- label: Edit
  operation_id: (navigates to edit)
  permission: platform.security-access.manage
  confirm: false
  provenance: observed
  source: react-console:components/security/users/user-view-screen.tsx
- label: Deactivate
  operation_id: suspendConsoleUser
  permission: platform.security-access.manage
  confirm: true
  provenance: observed
  source: react-console:components/security/users/user-view-screen.tsx
- label: Reactivate
  operation_id: reinstateConsoleUser
  permission: platform.security-access.manage
  confirm: false
  provenance: observed
  source: react-console:components/security/users/user-view-screen.tsx
- label: Remove access
  operation_id: revokeConsoleUser
  permission: platform.security-access.manage
  confirm: true
  provenance: observed
  source: react-console:components/security/users/user-view-screen.tsx
- label: Resend invitation
  operation_id: resendConsoleUserInvitation
  permission: platform.security-access.manage
  confirm: false
  provenance: observed
  source: react-console:components/security/users/user-view-screen.tsx
- label: Revoke Invitation
  operation_id: revokeConsoleUser
  permission: platform.security-access.manage
  confirm: true
  provenance: observed
  source: react-console:components/security/users/user-view-screen.tsx
- label: Re-invite
  operation_id: inviteConsoleUser
  permission: platform.security-access.manage
  confirm: false
  provenance: observed
  source: react-console:components/security/users/user-view-screen.tsx
states:
- loading
- error
- read-only
- inactive
validation:
- BR-CAP-PFM-SEC-009-02
- BR-CAP-PFM-SEC-009-07
- BR-CAP-PFM-SEC-009-12
- BR-CAP-PFM-SEC-011-05
patterns:
- SecurityPage guard
- DetailHeader
- Tabs
- UserActionsMenu
- AsyncConfirmDialog
component: components/security/users/user-view-screen.tsx (UserViewScreen)
evidence:
- 'react-console at baf6dae: components/security/users/user-view-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-004, 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-002, TC-PI-003, TC-PI-004, 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]
---

# User view

## What the Screen Is For

Inspect one member’s profile, scoped grants and permitted access/history explanation.

## What It Shows and Lets People Do

Member-reading authority admits the page. The Profile and Roles tabs show current information; Access and History both require the separate explanation authority. Management authority controls edit and lifecycle actions.

## States and Errors

Actions vary with status through the shared controller. Deactivation, access removal and invitation withdrawal ask for confirmation; reactivation does not. Read failures offer retry or a return destination. The history tab explains Security events rather than general record history.

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.
