---
id: SCR-PFM-SEC-013
title: Rhythm access
route: /console/{tenantId}/security/rhythmAccess
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: Review and decide customer-workspace staff entry, including directly given access and revocation.
supports:
- JNY-PFM-SEC-005
- CAP-PFM-SEC-017
permission: platform.staff-access.read (decisions need platform.staff-access.manage)
entry_from:
- /console/{tenantId}/security
- The request notice e-mail's link
exits_to:
- /console/{tenantId}/security
displays:
- field: Staff grant kind, state, member, role, reason, ticket, validity and decision actor across the workspace.
  source: listTenantStaffAccess (DOM-PFM-SEC-003 staff access grants)
  provenance: observed
actions:
- label: Approve
  operation_id: approveTenantStaffAccess
  permission: platform.staff-access.manage
  confirm: true
  provenance: observed
  source: react-console:components/security/rhythm-access/rhythm-access-screen.tsx
- label: Decline
  operation_id: declineTenantStaffAccess
  permission: platform.staff-access.manage
  confirm: true
  provenance: observed
  source: react-console:components/security/rhythm-access/rhythm-access-screen.tsx
- label: Give access
  operation_id: giveTenantStaffAccess
  permission: platform.staff-access.manage
  confirm: true
  provenance: observed
  source: react-console:components/security/rhythm-access/rhythm-access-screen.tsx
- label: Revoke
  operation_id: revokeTenantStaffAccess
  permission: platform.staff-access.manage
  confirm: true
  provenance: observed
  source: react-console:components/security/rhythm-access/rhythm-access-screen.tsx
states:
- loading
- empty
- error
- read-only
validation:
- BR-CAP-PFM-SEC-017-02
- BR-CAP-PFM-SEC-017-03
- BR-CAP-PFM-SEC-017-04
- BR-CAP-PFM-SEC-017-05
- BR-CAP-PFM-SEC-017-06
patterns:
- SecurityPage guard
- PageHeader
- RequestsSection
- CurrentAccessSection
- HistorySection
- ApproveDialog
- DeclineDialog
- GiveAccessDialog
- RevokeDialog
component: components/security/rhythm-access/rhythm-access-screen.tsx (RhythmAccessScreen)
evidence:
- 'react-console at baf6dae: components/security/rhythm-access/rhythm-access-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/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-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-LOG-001, TC-LOG-002, TC-LOG-003, TC-LOG-004, TC-LOG-005, TC-MON-001, TC-MON-002, TC-MON-003, TC-PI-001, TC-PI-003, TC-PI-005, TC-PRV-001, TC-PRV-002, TC-TEN-001, TC-TEN-002, TC-TEN-003, TC-VEN-001, TC-VEN-002, TC-VEN-003]
---

# Rhythm access

## What the Screen Is For

Review and decide customer-workspace staff entry, including directly given access and revocation.

## What It Shows and Lets People Do

Staff-access reading admits the grant list. Management authority controls decisions, direct access and revocation through the appropriate dialogs. Requested and decided grants are presented by state.

## States and Errors

The customer can see standing entry and use the permitted revocation path. Dialog validation and service refusal feedback keep the decision explicit. Notices follow the committed decision, so the screen cannot infer delivery or immediate cache cutoff from success.

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.
