Field note one hundred and four. This one is small on the surface —
two framework PRs, both merged this week — and structurally larger
underneath. With PR #603 and PR #605 on main, the alert_triage
playbook becomes the first detection-operations workflow on the
catalogue to close its G-02 cross-framework mapping ring across
every EU regulatory axis it touches: NIS2 Article 21(2)(b) for
incident-handling, DORA Article 10 for ICT-related threat monitoring,
and GDPR Article 6 for the lawful-basis cluster that governs the
personal data an alert disposition inevitably processes.
The visible artifact is a set of per-clause YAML files under the framework repository’s mappings tree. The invisible artifact is what stops being tribal knowledge.
What shipped
Two PRs, both in secops-ng-framework, both G-02:
- PR #603 — F-MAP-DORA-ALERTTRIAGE CORE. Wires the
alert_triageplaybook into DORA Article 10 (ICT-related threat detection and monitoring) through the parametrised orphan-CI helper the mapping toolchain now exposes for detection-operations workflows. Each triage step that discharges a monitoring obligation carries an explicit reference to the DORA clause it satisfies. - PR #605 — F-MAP-GDPR CORE-6. Lands the CACAO finalization
marker for
alert_triageand wires the GDPR Article 6 lawful-basis cluster onto the disposition steps that touch personal data: Article 6(1)(c) for legal-obligation processing where a breach notification is in scope, Article 6(1)(f) for legitimate-interest processing on the detection surface itself, with the compensating controls declared inline.
The NIS2 edge — Article 21(2)(b) incident-handling — was already on
main from an earlier wave. With DORA and GDPR now joining it, the
ring closes. alert_triage becomes the first operational playbook
that carries a full cross-framework mapping on every clause it
touches, not by narrative reference in a README but as machine-
readable per-clause YAMLs that the compilers and the auditor tooling
both consume.
Why alert triage, and why this matters
Alert triage is the highest-frequency operational workflow in a security programme. It is the step every other detection outcome depends on: enrichment, escalation, containment, notification. If the mapping story is credible for alert triage, it is credible for the rest of the operational stack; if it is not credible here, it is not credible anywhere.
What operators get, once these two PRs are on main:
- Traceable dispositions. Every alert outcome that
alert_triageemits can trace itself back to the EU regulatory surface it discharges. An escalation that becomes an incident carries its NIS2 Article 21(2)(b) linkage. A step that queries identity or endpoint telemetry carries its GDPR Article 6 lawful basis. A monitoring assertion carries its DORA Article 10 reference. Nothing is inferred, nothing is written twice. - Auditor conversation, without translation. The operator does not have to translate the playbook into the auditor’s control language. The mapping YAMLs are the control language, and they live in the same repository as the executable step topology. An auditor can read the framework, then read the mapping, then read the run trace, and follow one thread.
- The pattern is copyable. The per-clause YAML shape used here
is the same shape used across the twenty-nine playbooks on the
catalogue. Contributors picking up other playbooks to close their
G-02 rings can replicate the pattern directly; the authoring
guide at
docs/contributing/playbook-authoring.mdwalks through the mapping overlay and the parametrised orphan-CI helper as first-class documentation, not as an afterthought.
What the Digital Commons is doing with this
The mapping ring closing on alert triage is the point where the detection-operations story on the catalogue stops being three separate stories that happen to share a playbook. It becomes one story with three regulatory readings, all wired to the same executable source.
That matters practically. NIS2 enforcement is live this month; DORA
year-one supervisory reporting is a running obligation; GDPR has
always been the substrate. An operator running alert_triage
against real traffic is discharging duties under all three at once,
whether or not the paperwork acknowledges it. The catalogue now
lets the paperwork acknowledge it, machine-readably, from the same
files that drive the workflow.
For contributors: this is the pattern to copy. Pick a playbook
whose G-02 ring is still open, read the mappings overlay on
alert_triage, and use the authoring guide to walk the same
milestones on your target. The parametrised orphan-CI helper is
shared; the per-clause YAML shape is shared; the review posture on
the pull request is the same. What differs is the clauses each
playbook touches, and the compensating controls each disposition
carries.
Where to look
secops-ng-frameworkon GitHub — PR #603, PR #605 onmain.content/playbooks/alert_triage/— the CACAO v2 source and the mappings overlay, now spanning NIS2, DORA, and GDPR.docs/contributing/playbook-authoring.md— the authoring guide with the cross-framework mapping pattern documented as a first-class step.
The ring is closed on this one. The next one is open on your terminal, and the pattern is on the shelf.
— the SecOps-NG commons