Skip to content

ENISA Reporting — Obligation Matrix

The obligation matrix is the source of truth for which fields are required at which stage. It is versioned reference data (current version cra-2026.1): an authoritative copy lives in the crate, is mirrored to the database, and drives validation. Fetch it at runtime from GET /api/v1/enisa/obligations or the obligations GraphQL field.

CodeMeaningEnforced?
XObligatory — must be present at this stageYes — 422 if missing
CCopied — carried forward from the previous step (or updated)Satisfied by carry-forward
OOptionalNo
IObligatory if such information is availableAdvisory (cannot be mechanically enforced)
AAutomated — server-set, not visible to the submitterNever sent by the client

Only X is a hard requirement, and the set of X fields is stage-specific — fields that were obligatory at 24h become C (carried forward) at later stages, so each stage’s X fields are genuinely new content.

#Field24h72hFinal
1Notification type (vulnerability / incident)XCC
2Notification level (stage)XXX
3Reporting time — 24hAAA
4Reporting time — 72hAAA
5Reporting time — finalAAA
6ReporterAAA
7Manufacturer / OSS steward nameXCC
8ProductXCC
9Product type (default / important / critical)OCC
10Product category (CRA Annex III/IV)OCC
11Member States where availableICC
12TitleXCC
#Field24h72hFinal
v13CVE IDOCC
v14EUVD IDOCC
v16General nature of the vulnerabilityOXC
v17General nature of the exploitOXC
v18Corrective / mitigating measures takenOXC
v19Corrective / mitigating measures users can takeOXC
v20Considered sensitivity of informationOIC
v21Date corrective measure became availableOOX
v23Severity of the vulnerabilityOOX
v24Impact of the vulnerabilityOOX
v25Malicious actor exploiting the vulnerabilityOOI
v26Details of the security update / corrective measuresOOX

The source table’s section headers (v15 “general information”, v22 “full description”) are represented by their sub-fields above.

#Field24h72hFinal
i13Incident suspected to be caused by unlawful/malicious actsXCC
i14General information about the nature of the incidentOXC
i15Date/time the incident was detectedOXC
i16Date/time the incident occurredOXC
i17Initial assessment of the incidentOXC
i18Corrective / mitigating measures takenOXC
i19Corrective / mitigating measures users can takeOXC
i20Considered sensitivity of informationOIC
i21Severity of the incidentOOX
i23Impact of the incidentOOX
i24Type of threat / root causeOOX
i25Applied and ongoing mitigation measuresOOX

The field_id values above (7, v13, i14, …) are exactly what appear in validation violations and in the obligations response, so a client can map a violation straight back to the field it must supply. Discriminator/automated fields (1–6) have no submitter-supplied input.