---
id: ADR-PFM-CSH-007
title: Navigation Visibility Supplements Authorization
product_area: platform
module: console-shell
revision: 1
status: proposed
design_intent: proposed
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
decision: >-
  Filter navigation by available work while requiring independent authorization
  at destinations and services.
constrains:
  - DOM-PFM-CSH-002
  - WF-PFM-CSH-007
  - WF-PFM-CSH-008
  - SCR-PFM-CSH-003
  - SCR-PFM-CSH-004
origin: FND-PFM-CSH-016; FND-PFM-CSH-020; FND-PFM-CSH-023
alternatives:
  - option: Show unavailable entries disabled with an explanation
    why_not: Disabled entries can burden navigation with inaccessible work.
  - option: Treat menu visibility as the access check
    why_not: Address entry bypasses menu selection entirely.
consequences:
  - Useful-work checks supplement settings-area access permissions.
  - Unconditional links depend on destination and service checks.
  - New pages need their own authorization presentation.
supersedes: []
evidence:
  - >-
    react-console at baf6dae: lib/console/use-visible-nav.ts;
    components/console/nav-config.ts; lib/authz/guard.tsx
---
# Navigation Visibility Supplements Authorization

## Context

A direct address reaches a page without using its menu entry. A snapshot-based menu can also outlive a permission change.

## Decision

Filter inaccessible entries from navigation and offer settings areas with visible work. Require destination and service checks independently of that filtering.

## Alternatives Considered

Disabled entries can overwhelm the map with unusable work. Trusting visibility as authorization leaves direct entry and stale links unchecked.

## Consequences

Destination guards remain necessary. Unconditional links need protection at their destinations. The observed visibility policy remains proposed pending confirmation.
