Policy-gated resource access explanation user picker #6

Closed
opened 2026-07-11 00:30:31 +02:00 by zemion · 1 comment
Owner

Feature

Resource access explanation dialogs currently explain access for the signed-in user. The backend endpoint can explain access for any tenant user, so admin diagnostics can become more useful once a policy-gated user picker exists.

Proposed behavior

  • Define the policy/permission gate for selecting another user in a resource explanation dialog.
  • Allow modules to request a shared user picker capability without owning user administration UI.
  • Keep the default behavior as current-user explanation when the actor lacks the policy permission.
  • Ensure selected-user explanations are audited as administrative diagnostics.

Acceptance criteria

  • Policy module defines the guard/feature contract for cross-user access explanation.
  • Access/core expose enough metadata for modules to render a selector safely.
  • Files and Campaign can adopt the picker without importing access-admin UI internals.
  • Documentation explains when current-user vs selected-user explanation is shown.
## Feature Resource access explanation dialogs currently explain access for the signed-in user. The backend endpoint can explain access for any tenant user, so admin diagnostics can become more useful once a policy-gated user picker exists. ## Proposed behavior - Define the policy/permission gate for selecting another user in a resource explanation dialog. - Allow modules to request a shared user picker capability without owning user administration UI. - Keep the default behavior as current-user explanation when the actor lacks the policy permission. - Ensure selected-user explanations are audited as administrative diagnostics. ## Acceptance criteria - Policy module defines the guard/feature contract for cross-user access explanation. - Access/core expose enough metadata for modules to render a selector safely. - Files and Campaign can adopt the picker without importing access-admin UI internals. - Documentation explains when current-user vs selected-user explanation is shown.
Author
Owner

Implemented and pushed the policy-gated shared selected-user resource-access explanation slice. Core fd90b60 owns the neutral policy contract, subject transport, and shared picker. Policy 8fcc12d provides the dedicated policy:access_explanation:select_user permission and fail-closed decision. Access 566b3b8 exposes tenant-bounded safe subject metadata, defaults to the signed-in user when Policy is absent or denies selection, rejects unauthorized cross-user requests, and audits permitted selected-user diagnostics. Files 95aef18 and Campaign d5b874c consume the shared picker without importing Access administration UI. Documentation was updated in all owning modules. Verification: targeted Core/Policy/Access tests, manifest registry (68/68), focused workspace suite, full-product build, all 57 optional-module WebUI permutations, bundle budgets, and 7/7 browser conformance tests passed.

Implemented and pushed the policy-gated shared selected-user resource-access explanation slice. Core fd90b60 owns the neutral policy contract, subject transport, and shared picker. Policy 8fcc12d provides the dedicated policy:access_explanation:select_user permission and fail-closed decision. Access 566b3b8 exposes tenant-bounded safe subject metadata, defaults to the signed-in user when Policy is absent or denies selection, rejects unauthorized cross-user requests, and audits permitted selected-user diagnostics. Files 95aef18 and Campaign d5b874c consume the shared picker without importing Access administration UI. Documentation was updated in all owning modules. Verification: targeted Core/Policy/Access tests, manifest registry (68/68), focused workspace suite, full-product build, all 57 optional-module WebUI permutations, bundle budgets, and 7/7 browser conformance tests passed.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-policy#6