A detection is a claim about the past. Verified, framework-mapped detection content tells you a known technique matched a pattern in your telemetry — accurate, testable, genuinely valuable, and always a beat too late. By the time the rule evaluates, the token was already minted, the account already created, the data already staged. A detection names the intruder. A smoke alarm is not a lock.
The part worth defending
Start with what the category gets right, because it gets a great deal right. Modern correlation and risk-based alerting genuinely cut alert volume and end the analyst-fatigue death march — surfacing the handful of sequences that matter instead of ten thousand isolated signals. Unifying detection, orchestration, and behavioral analytics in one analyst workspace genuinely removes the swivel-chairing between six consoles. And building a library of verified detections mapped to a public attack framework is one of the most useful disciplines a security program can adopt: it turns coverage into something you can measure, test, argue about, and defend to an auditor. A shared, framework-mapped vocabulary for "what can we see?" is real engineering, not marketing.
Prebuilt playbooks spanning hundreds of tools speed response in a way manual runbooks never could. And keeping a human in the loop before response executes is a responsible default, not a limitation. None of that is the argument. The argument is about a category error hiding inside the word content.
A detection is a verb in the past tense
A detection is a pattern that matched. That is its entire nature. It fires after the technique executed — that is not a tuning problem you can optimize away, it is what a detection is. Framework mapping makes the match richer: it tells you which technique, where it sits in the kill chain, what tends to come next. That is categorization, and categorization is worth a lot. But mapping a detection to a framework adds a label, not a control. It sharpens the description of the event; it does nothing to the event's ability to occur.
This is the distinction that gets lost. Coverage is measured in breadth — how many techniques can we recognize? A control is measured by a different question entirely: could the bad action have happened at all? You can have exhaustive, beautifully verified coverage and still, by construction, only ever be told — accurately, promptly, in framework-mapped detail — that something has already taken place.
The response leaves the building
Here the sophisticated reader objects, correctly: the category has moved past passive alerting. The leading platforms pitch an agentic-SOC maturity arc — human-driven, then AI-assisted, then agentic-led but human-governed — with native orchestration whose playbooks "run inside the console." That is genuinely advanced, and the instinct to keep governance human is the right one. Concede it plainly.
Then be precise about the mechanism. The playbook running inside the console still dispatches the containment action out — to the endpoint agent to isolate the host, to the firewall to block the indicator, to the identity provider to revoke the token, to the ticketing system to open the record. The agent triages and recommends; a human approves; and then a separate tool the platform does not own performs the act. The governance is real, but it governs the alert and the playbook — the decision to dispatch — not the executed containment with a per-action audit. The response fans out across an estate of integrated tools, each with its own permission model, its own log, its own failure mode. What you supervised and what actually executed are two different objects in two different systems.
Coverage is not control
So there are two questions, and the category answers only one of them. Detection asks: of the techniques we know, which ones fired? A control asks: which actions are allowed to execute at all? A thousand verified, framework-mapped detections is a thousand accurate ways to learn that something already happened. That is necessary — you cannot gate what flows entirely outside your runtime, and pretending otherwise is exactly the over-claim this argument is trying to avoid.
But necessary is not sufficient, and the actions you most want to stop are rarely the exotic zero-day. They are the mundane, high-blast-radius ones: the over-privileged change that skipped approval, the segregation-of-duties violation, the entitlement granted outside policy, the token minted outside change-control. Those are not really detection problems. They are authorization problems wearing a detection costume — and an authorization problem is far better prevented than named.
Enforce where the action executes
This is the architectural difference, and it is worth stating as an architectural property rather than a claimed outcome. In Entroid, a process runs as a governed Deterministic Workflow on one runtime. A control here is not a rule watching telemetry after the fact — it is a gate in the path of the action itself. Because governance and change-control are compiled into the workflow rather than layered around it, the constraints hold by construction:
- Segregation of duties is enforced at the step that would violate it — the same identity cannot both request and approve, so the violating action never runs, rather than running and later matching a detection.
- Entitlement limits are evaluated inline — an over-scoped grant or a privileged change outside policy is refused at execution, not reconstructed from logs afterward.
- Change-control is a gate the action passes through — the token minted outside the approved path simply does not get minted.
To be precise about the boundary: Connectors are the only primitive that touch external systems, and ES runs over your existing estate through them, not instead of it. This is not a zero-integration claim. But when a response is required, it is itself a governed Deterministic Workflow that executes the containment — isolate the host, revoke the token, block the indicator, disable the account — with change-control and one immutable per-action audit. Detection feeds a governed response and the loop closes on a single runtime. The thing you supervised and the thing that executed are the same object, in the same log. That is the "+1": not better detection content, but the control living where the action executes.
What detection is still for
The honest conclusion is not that detection is obsolete — over-claiming that is the fastest way to lose an expert reader. Detection remains essential, and framework-mapped coverage remains the right discipline, for every action that flows through a system the fabric does not govern: a third-party SaaS app, an unmanaged endpoint, a partner's environment. There, a pattern-match after the fact is the only visibility you have, and rich, verified coverage is exactly what you want.
The point is architectural leverage. Every process you move onto a runtime where the control is a gate is a process removed from the set where "detect-after" is your only option. Coverage of what to detect is necessary and does not shrink — but the surface that depends on it can. The more of the enterprise that runs as governed workflows, the smaller the residual world you can only watch, and the more of your security posture rests on actions that could not execute rather than alerts that arrived in time. Coverage plus a gate — not one instead of the other.
A detection is a very precise way to learn you were already too late. A gate is how you decline to be.
See what this looks like for your enterprise.
Not a demo. A strategic conversation about how your enterprise could operate
when every process runs on one governed fabric.
