Assurance Packs Shell

Status: Implemented Owner: UI Guild Source: src/Web/StellaOps.Web/src/app/features/compliance/assurance-frameworks/

Purpose

The Console Assurance shell is the operator-facing discovery page for optional Assurance packs. It must not frame NIS2, DORA, or CRA as the product category. The page lists enabled and available packs, then links into pack-specific surfaces such as the NIS2 Evidence Pack control register, incident timelines, effectiveness dashboard, and DORA operator-support handoff artifacts when the pack descriptor is available.

Canonical routes:

Compatibility routes remain valid:

As of the Proof-foundation redesign (SPRINT_20260709_001, EF-3), Assurance is the “Account” tier of the Proof pillar — the regulator-facing destination alongside Chain (custody) and Estate. It is a cockpit-parent nav item:

Compliance is grouped as one episodic tier (CISO/DPO/auditor cadence) so it does not scatter the daily Chain/Estate surfaces. It is not a separate top-level pillar and is not under Operate (the former assurance-packs Operate item was retired when compliance moved into Proof). See src/app/core/navigation/navigation.config.ts (group proof, item account).

Readiness reads are independently fail-visible and bounded to 12 seconds. If one Authority, ExportCenter, or reporting source hangs, that capability settles to an explicit unavailable state while completed framework results remain visible; the cockpit does not remain globally busy forever.

Data Sources

EF-3 (compliance-as-query): the NIS2 control register additionally resolves each control’s stella-native evidence pointer live against the real gateway reads (deployed estate GET /estate/digest/{digest}, attestor transparency) with the caller’s token — showing a per-pointer resolution state (resolved with a real bundle-ref/hash · honest pending · unobservable for operator-supplied). The framework projection also surfaces the real published SoA-snapshot bundle-ref/hash. A ref/hash is populated only from a confirmed real source — never fabricated.

The shell reads live readiness where APIs exist and shows explicit unavailable states where they do not:

ConcernSourceEndpoint
Pack enablementAuthorityGET /api/v1/tenants/{tenantId}/assurance-packs
Operator compliance settingsAuthorityGET /console/admin/tenants/{tenantId}/operator-compliance
Export readinessExportCenterGET /v1/exports/assurance/profiles/{profileId}/readiness
Reporting readinessNotifyGET /api/v1/assurance/reporting-timeline-profiles/{timelineProfileId}/readiness

Unavailable API responses are not treated as success. Cards must show Export readiness unavailable, Reporting readiness unavailable, or Enablement unavailable when the corresponding live boundary cannot be read.

Operator Compliance Settings

The Assurance shell also includes a compact operator settings surface backed by Authority Console admin endpoints. It displays the effective tenant-operator-compliance-settings.v1 state for:

The surface is intentionally narrow. It may edit only the DORA RoI retention policy through PUT /console/admin/tenants/{tenantId}/operator-compliance. DORA RoI defaults to 7 years when absent from tenant settings. Operator edits must keep years between 5 and 10; non-default values require a reason and an approvedBy value. Shortening the current effective period also requires a shorteningApprovedBy value because Authority enforces the retention contract.

Legal and ownership boundary:

Setup Wizard Handoff

The setup wizard includes an optional Assurance Packs step for preflight review. The step is read-only until Authority pack enablement and the owning readiness APIs expose a setup-save contract. It defaults to no pack enabled, does not persist browser-only settings, and links operators to this /assurance shell plus the owning Trust, Export, Notify, and Identity surfaces.

The step must distinguish NIS2 SoA live-export readiness, DORA major incident handoff readiness, DORA RoI local-contract export readiness, DORA Article 45 sharing readiness, DORA TLPT evidence preparation, and CRA public publication readiness. It must also state that Assurance packs configure evidence support and workflows, not legal compliance certification.

Pack Cards

Each pack card shows:

Initial cards:

PackClaim boundaryUI role
NIS2 Evidence Packoperator-supportCustomer/operator evidence support and handoff workflows.
DORA Operational Resilience Packoperator-supportFinancial-entity operator support for major ICT incident handoff, RoI local-contract export, TLPT evidence, Article 45 sharing, and retention settings.
CRA Product Security Packmanufacturer-selfStella product security publication and Article 14 timeline readiness.
CRA Technical Documentation Packmanufacturer-customer-supportSigned technical-file and conformity-dossier exports.

NIS2 and DORA cards must show operator-observed-estate as the primary scope and describe the software Stella monitors or deploys as the covered estate. They must also show operator-supplied gaps such as legal entity data, governance, contracts, physical controls, HR/training, tolerance decisions, and filing approvals. These gaps are not setup errors by themselves; they are ownership labels that keep Stella-native evidence separate from operator facts.

The DORA card is intentionally visible as an optional pack, but it must not be shown as configured until Authority pack enablement and owning readiness APIs report configured state. Missing DORA export or reporting profile endpoints must appear as Export readiness unavailable or Reporting readiness unavailable. Existing DORA RoI retention editing can remain visible as an operator compliance setting because Authority owns that tenant setting independently from pack-level readiness.

Copy Rules

Allowed:

Forbidden:

Verification

Focused checks for this surface should include: