3.7 KiB
3.7 KiB
Reachability Witnessing
Recommendation
Do not restore Witnessing as a separate product.
Merge it into the existing Security > Reachability area as deeper tabs and contextual detail views.
Why
ReachabilityCenterComponentalready owns the top-level coverage-first posture.WitnessPageComponentandPoEDrawerComponentare explanation and proof surfaces for the same capability.- Reachability evidence also matters to findings, triage, and release gates, so the detailed views must be reusable from those contexts.
Primary Placement
- Menu group:
Security - Section:
Reachability
Suggested canonical root:
/security/reachability
Product Shape
Keep one reachability shell and add tabs.
Tabs
Coverage- current fleet/sensor coverage view
Witnesses- searchable list of witness records and witness detail pages
PoE / Exposure- proof-of-exposure artifacts, export/verify actions, and DSSE/Rekor state
Sensor Gaps- missing sensors, stale facts, and remediation queues
Merge Map
Into Coverage
ReachabilityCenterComponent
Into Witnesses
WitnessPageComponent- becomes the full detail page for a selected witness
Into PoE / Exposure
PoEDrawerComponent- becomes a reusable evidence drawer plus an optional tabbed detail route when permalink is needed
Placement For Single Actions And Small Surfaces
Witness detail
- Full page under
Witnesses - Suggested route:
/security/reachability/witnesses/:witnessId
PoE detail
- Default to a right drawer from witness detail, finding detail, triage, or release-context views
- Only create a standalone route for deep-link/export cases:
/security/reachability/poe/:artifactId
Export DOT / Mermaid
- Keep as witness-detail actions
- Do not turn export formats into their own pages
Replay verify
- Keep as an action button on witness and PoE detail
- Also expose the same action from release-context evidence pages
Secondary Entry Points
These should deep-link into the same reachability surfaces:
Security > Findings- open witness detail for a finding
Triage > Artifact Workspace- open witness drawer from artifact detail
Releasesor Decisioning Studio release context- open witness/PoE evidence when a gate uses reachability proof
What Not To Do
- Do not create a separate sidebar product called
WitnessingorProof of Exposure. - Do not leave PoE only as a detached drawer with no canonical parent route.
- Do not split coverage, witness detail, and proof detail across different top-level sections.
Route Sketch
/security/reachability/security/reachability/coverage/security/reachability/witnesses/security/reachability/witnesses/:witnessId/security/reachability/poe/security/reachability/poe/:artifactId/security/reachability/gaps
Detailed UX And Sprint
- Detailed UX dossier:
../reachability-witnessing/README.md - Implementation sprint:
../../../docs-archived/implplan/SPRINT_20260307_025_FE_reachability_witnessing_merge.md
Corroborating Inputs
docs/contracts/witness-v1.mddocs/architecture/EVIDENCE_PIPELINE_ARCHITECTURE.mddocs/modules/scanner/reachability.mdsrc/Web/StellaOps.Web/src/app/features/reachability/reachability-center.component.tssrc/Web/StellaOps.Web/src/app/features/reachability/witness-page.component.tssrc/Web/StellaOps.Web/src/app/features/reachability/poe-drawer.component.tssrc/Web/StellaOps.Web/src/app/routes/security-risk.routes.tssrc/Web/StellaOps.Web/src/app/routes/evidence.routes.ts
Final Call
This should be restored as deeper reachability UX: one security submenu, four tabs, witness as the full detail page, and PoE as a reusable evidence drawer with an optional permalink route.