NIS2 Incident Reporting

Part of the NIS2 Evidence Pack. Audience: an operator’s compliance officer preparing NIS2 Article 23 incident notifications.

The NIS2 incident-reporting surface prepares Article 23 milestone records and handoff packets for customer/operator use. Stella Ops provides the reporting timeline, local envelopes, channel adapters, and signed handoff artifacts; the customer/operator remains the reporting party.

Article 23 puts the operator on a clock — an early warning within 24 hours, a full notification within 72 hours, and a final report within one month — and this surface tracks each milestone deterministically.

Claim boundary: operator-support.

Implementation Status (2026-06-16)

Verified against src/. This surface is partially shipped — it is the remaining real NIS2 gap:

Until those land, this surface can prepare and read milestone records but cannot be used end-to-end by an operator to drive or submit an Article 23 report.

Source Docs

Channel Posture

The approved v1 adapter posture is DE, FR, and NL local adapters plus signed JSON webhook and PGP-encrypted email fallback for other Member-State workflows. Per-channel credentials, public recipient keys, and approvals are operator configuration.

Automatic submission must not be assumed. Default behavior should create a signed, replayable operator handoff artifact unless a tenant explicitly enables and audits a channel-specific submission mode.

Shared Timeline

NIS2, DORA, CRA, and future reporting packs must share one Notify reporting timeline model with pack-specific milestone profiles. Do not create a separate NIS2-only incident timeline store.

Runtime profile id: nis2.article23.incident.

Notify exposes the profile at GET /api/v1/assurance/reporting-timeline-profiles/nis2.article23.incident. Persisted timeline records remain on GET /api/v1/regulatory/reporting-timelines?regime=nis2.

Readiness for this pack is operator/customer focused:

Readiness inputOwnerStorage/config posture
CSIRT/NCA destinationTenant/operatorUI or CLI setting persisted with tenant operator configuration.
PGP recipient public keyTenant/operatorUI or CLI setting; public key only, never private key material.
Signed webhook key referenceEnvironment/operatorSecret reference in sealed Notify configuration.
Operator approvalAuthority/operatorFresh approval record or configured approval workflow.
Auto-submit enablementTenant/operatorExplicit opt-in; default remains disabled.
Handoff/output publication targetEnvironment or tenant/operatorFilesystem/object-store target or equivalent handoff route; no secret values in readiness payloads.

Stable readiness reason codes are documented in the Assurance Reporting Timeline v1 contract. A missing auto-submit setting does not prevent local signed handoff; it only makes autoSubmitReady false.

Change Log

Date (UTC)Update
2026-06-16Reconciled to verified src/. Added an Implementation Status section marking this as the remaining real NIS2 gap: state machine / envelope builder / PGP encryptor / ledger events and a read-only timeline query are shipped, but there are no operator write endpoints (handoff service is test-only) and no production CSIRT submission client (only the test StubSubmissionClient). Claim boundary unchanged (operator-support).