Your security team can recite the breach clocks from memory. GDPR: 72 hours from awareness. SEC: four business days after a materiality determination. Those numbers are drilled into incident response runbooks, tabletop exercises, and escalation paths, because the clock starts the moment the team confirms something happened.
On August 2, a third clock started ticking — and almost nobody has a runbook for it.
Article 73 of the EU AI Act imposes incident reporting obligations for serious incidents involving high-risk AI systems. Here's the part that should worry every on-call engineer: the EU's Digital Omnibus pushed most of the Act's high-risk enforcement wave — classification, conformity assessment, technical documentation — back to December 2027. Article 73 didn't get that delay. It's live now.
Sit with that for a second: the rules that would tell you which of your systems even count as high-risk were deferred to 2027, but the reporting clock is running today. If you're the sysadmin who gets paged at 2 a.m., this lands on you before it lands on legal. Because every one of these clocks starts the same way — at the moment your team is aware. And if your alerts live in one tool, your tickets in another, and the real conversation in a Teams channel, you cannot prove when that moment was. That's no longer just an operations problem. It's a legal one.
"When Did You Know?" — The Question Your Tooling Can't Answer
Think about what actually happens during an incident in most IT shops today:
- Monitoring (PRTG, Zabbix, Nagios, or the alert module bolted onto your RMM) fires an alert into an email group or webhook at 01:14.
- The on-call phone is on Do Not Disturb, because this monitoring setup pages on everything — CPU spikes, a service restarting after a patch, a backup running late.
- The helpdesk (Freshservice, HaloPSA, ServiceNow, or a shared mailbox) doesn't know anything happened until a user calls at 08:30.
- The RMM (ConnectWise Automate, NinjaOne) has its own alert view with its own timestamps.
- The real coordination happens in Slack or Teams, which nobody treats as a system of record.
Four tools. Four timelines. Zero single source of truth for the only question a regulator asks: when did you become aware, and what did you do about it?
Under GDPR, "awareness" has long been interpreted to include the moment your automated monitoring detected the issue — not when a human finally read the email digest. The same logic haunts Article 73: the obligation turns on awareness of a serious incident. Regulators are not going to accept "the alert was buried under 46 other notifications" as a defense. Neither is your own counsel, when they ask you to reconstruct the timeline three weeks after the fact.
The 2 A.M. Scenario That Just Got More Complicated
If you've done on-call rotations, you've lived a version of this:
A document-processing pipeline on APP-PROD-03 starts erroring at 01:00 because a disk filled up. That pipeline happens to use an AI classification model — one of the systems your compliance team flagged as high-risk in a spreadsheet nobody opens at 2 a.m.
Between 01:00 and 06:00, your monitoring fires 47 alerts: disk warnings, service restart loops, failed job retries, and a cascade of downstream "application not responding" noise. Your on-call tech's phone suppresses duplicates after the second page. She wakes to a wall of notifications, can't tell signal from cascade, and starts triaging at 06:30.
If that incident turns out to be reportable, the questions start immediately:
- When was the incident detected? (01:04? The first alert that actually mattered?)
- Who acknowledged it, and when?
- What actions were taken, and in what order?
- Was this system even in scope, and who decided that — and when?
If answering requires archaeology across an email digest, a RMM alert view, a helpdesk export, and someone's memory of a Teams thread, you don't have an incident timeline. You have a story. Stories don't hold up in regulatory review.
And the operational symptoms are already there, with or without the AI Act: median acknowledge times of 30–90 minutes during alert floods, MTTR measured in hours because context has to be gathered by hand, SLA reports stitched together from two systems that disagree, and techs who mute their phones because the monitoring tool cries wolf every night. Alert fatigue was always a burnout problem. Since August 2, it's also a compliance exposure.
How AlertMonitor Turns Your Alert Timeline Into Evidence
AlertMonitor was built around a simple insight: alert fatigue isn't a volume problem — it's a signal quality problem. That insight matters twice as much now, because signal quality is exactly what breaks when you need a defensible timeline.
Every alert carries full context. Device, client, what changed, and what healthy looks like — attached to the alert itself. Your 2 a.m. tech doesn't open four tabs to figure out whether the pipeline error is the disk, the dependency, or noise. That matters at 2 a.m. for response speed, and it matters at 9 a.m. for the incident report.
Smart deduplication collapses the cascade. Those 47 alerts become one incident, with the first-seen timestamp preserved and related alerts grouped underneath. "When did you first detect it" has a precise, logged answer instead of a guess.
Multi-level on-call routing with logged acknowledgment. Escalation policies define who gets paged, in what order, with what wait times — and every step (delivered, acknowledged, escalated, resolved) is timestamped automatically. That chain is the evidence trail your DPO or counsel needs. No reconstruction. No "I think I saw it around six."
Maintenance window suppression keeps scheduled patching and planned work from generating pages, so the alerts that do fire are the ones worth timestamping.
Integrated helpdesk closes the loop. The alert becomes a ticket with the full pre-ticket history attached. SLA reporting comes from one system instead of a spreadsheet reconciliation between monitoring and helpdesk exports.
For MSPs: client-scoped context. Every alert is tied to a client, so when an incident touches a contractual or regulatory obligation, the record already says whose environment, whose DPA, whose escalation contact — across all your customers, from one NOC view.
Make the AI-system question a routing rule, not a spreadsheet. Tag the hosts and services that touch AI-driven pipelines inside AlertMonitor. Then build an escalation policy where anything tagged as AI-relevant notifies not just the on-call tech but the compliance owner — in the same escalation chain, from minute zero. The December 2027 classification requirements are coming, but Article 73 is here now, and this turns "do we even know which systems are in scope?" into an automated routing decision.
The before-and-after is stark. Before: 47 alerts, four tools, 45 minutes to acknowledge, timeline reconstructed after the fact. After: one deduplicated incident at 01:04 with full context, acknowledged by 01:09, escalated with timestamps, ticketed automatically, exportable as a report the next morning. Same night. Defensibly different outcome.
What To Do This Week
You don't need legal to finish before you can start. Here's the practitioner version:
1. Build your AI-system inventory before you need it. You can't route incidents around systems you haven't identified. Start with an export of what's actually running on your application servers:
# Export auto-start services with descriptions — the raw material for
# identifying hosts that run AI-driven pipelines (inference APIs,
# model servers, document classifiers)
$targets = @("APP-PROD-01","APP-PROD-02","APP-PROD-03")
foreach ($srv in $targets) {
Get-Service -ComputerName $srv -ErrorAction SilentlyContinue |
Where-Object { $_.StartType -eq 'Automatic' -and $_.Status -eq 'Running' } |
Select-Object @{n='Server';e={$srv}},
@{n='ServiceName';e={$_.Name}},
@{n='DisplayName';e={$_.DisplayName}} |
Export-Csv -Path ".\ServiceInventory_$($srv)_$(Get-Date -Format yyyyMMdd).csv" -Append -NoTypeInformation
}
Cross-reference the results with your compliance team's high-risk list, then tag those assets in AlertMonitor so your escalation policies can act on them.
2. Add a timestamped verification step to your on-call checks. When an incident touches an AI-relevant service, every verification you run is evidence. Make the timestamps automatic:
# On-call health check for AI-relevant services — writes a timestamped
# evidence file you can attach straight to the incident record
$servers = @("APP-PROD-03")
$services = @("DocAIService","Watchdog")
$results = foreach ($srv in $servers) {
Get-Service -ComputerName $srv -Name $services -ErrorAction SilentlyContinue |
Select-Object @{n='Server';e={$srv}},
Name,
Status,
@{n='CheckedAt';e={(Get-Date).ToString("o")}}
}
$results | Format-Table -AutoSize
$results | Export-Csv -Path ".\IncidentEvidence_$(Get-Date -Format yyyyMMdd_HHmm).csv" -NoTypeInformation
Same idea on a Linux inference host:
# Confirm the inference service is up and log a timestamped evidence line
systemctl is-active ollama >/dev/null 2>&1 \
&& echo "$(date --iso-8601=seconds) ollama: active" >> /var/log/oncall-checks.log \
|| echo "$(date --iso-8601=seconds) ollama: INACTIVE" >> /var/log/oncall-checks.log
3. Kill the cascade at the source. Disk-full is the classic 2 a.m. root cause that generates half of any alert flood. Sweep your servers proactively so the pipeline never errors in the first place:
# Disk free space across your app servers — the 2 a.m. root cause you
# want to catch during business hours instead
$servers = @("FS-01","SQL-01","APP-PROD-01","APP-PROD-03")
Get-CimInstance Win32_LogicalDisk -ComputerName $servers -Filter "DriveType=3" |
Select-Object SystemName, DeviceID,
@{n='SizeGB';e={[math]::Round($_.Size/1GB,1)}},
@{n='FreeGB';e={[math]::Round($_.FreeSpace/1GB,1)}},
@{n='FreePct';e={[math]::Round($_.FreeSpace/$_.Size*100,1)}} |
Sort-Object FreePct | Format-Table -AutoSize
4. Wire the compliance owner into the escalation chain. In AlertMonitor: tag your AI-relevant assets, create an escalation policy that adds a compliance-owner notification level for incidents touching those tags, set a deduplication window so cascades collapse into a single incident, and confirm that fired/acknowledged/escalated timestamps are retained on every alert. Then run one tabletop where the exercise is "show me the timeline" — not "what would we theoretically do."
The Clock Is Already Running
The GDPR clock made teams build escalation paths. The SEC clock made them define materiality. Article 73 is asking for something simpler and harder: prove when you knew, on infrastructure that finally has to keep honest timestamps.
That's not a legal project. It's an operations project — the one your monitoring and alerting stack was supposed to solve all along. The teams that come out ahead are the ones where the first meaningful alert, the first human acknowledgment, and the first corrective action all live on one timeline, in one system, with a tech who wasn't too buried in noise to see it.
Related Resources
AlertMonitor Alert Management & On-Call Operations AlertMonitor Platform Overview Book a Demo Alert Management & On-Call Operations Resources
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.