Standing Watch
A Tuesday last spring, one of my clients’ ERP vendor shipped an out-of-band patch. Actively exploited, exploit code already public, the kind of advisory that should ruin your morning. I learned about it from the client. That is the wrong direction. A fractional CIO is supposed to be the one who calls, not the one who gets called.
I cover a handful of SMEs, each on a different stack. One runs Odoo behind a VPN appliance, another lives inside Microsoft 365, a third has an aging line-of-business app nobody dares touch. No two threat surfaces are alike. To stand a real watch over all of them, someone would have to read CERT-FR, the CISA KEV catalog, vendor bulletins, and the NVD feed every single morning, then decide, for each advisory, whether it touches one of my clients. No human does that consistently. I certainly did not.
Large organizations buy a SOC for this. A fifty-person manufacturer cannot, and should not have to. So I built one. Not a chatbot I ask about security. A resident that stands the watch while I do everything else.
This is Vibe Orchestration made literal. Last year I described directing a system of agents as a discipline. This is that discipline wearing work clothes.
Not a chatbot, a resident
Asking an AI “any critical CVEs today?” gets you a confident paragraph, half of it stale training data. A watch is a different animal. It runs on a schedule, reads primary sources, holds state between mornings, and knows my clients’ stacks. The model is the least interesting part. The wiring is the product.
I built it on Hermes Agents, the local-first setup I described a month ago in Hermes Agent on Mac. Mode A, local model, no cloud. The data is all public advisories, so sovereignty is not the point here; cost and permanence are. A watch that bills me per token every morning for the rest of the year is a subscription I would come to resent. A watch that runs on my own machine is just electricity.
The newsroom
One agent reading five feeds is a bottleneck and a single point of confusion. So the watch is a small newsroom. Each agent has a beat: one reads CERT-FR, one polls the CISA KEV catalog, one tracks the vendor advisories for the specific products my clients run, one watches the NVD for anything scoring above a threshold. They do not talk to each other directly. They post to a shared Kanban board that lives, like everything else, on my machine.
The board is the coordination layer, and it is the part I did not expect to matter so much. Each finding becomes a card: raw in one column, triaged in the next, briefed in the last. A beat agent drops a card; a triage agent picks it up, deduplicates it against yesterday’s cards, and scores it against what I know about each client’s stack. Nothing gets briefed twice. Nothing sits in limbo. I can open the board myself and see exactly what the swarm is chewing on, which is the difference between trusting a system and hoping it works.
The conductor metaphor from Vibe Orchestration turns out to be too tidy for this. It is closer to an editor watching a wire room. The agents file, the board is the desk, I read the front page.
Skills it wrote for itself
The first week, the triage agent kept re-deriving the same task from scratch: take a CERT-FR advisory, pull out the affected products and versions, match them against my client inventory, assign a do-we-care score. Every morning, the same reasoning, paid for in tokens and latency every single time.
Then it did something I had read about but not quite believed. It wrote itself a skill. It noticed the repetition, packaged the routine into a reusable tool, and started calling the tool instead of reasoning it out longhand each day. I did not prompt that. I found the new skill sitting in the profile, read it, kept it. Not elegant, but correct, and faster than what it replaced.
I want to be careful not to oversell this. It is not the machine getting clever. It is a system noticing its own repetition and caching the answer, which is what good engineers do too. But watching it happen without my hand on it was the moment the setup stopped feeling like a script and started feeling like a colleague who tidies up after themselves.
While I sleep
The watch runs as a background task. I do not sit and wait for it. It wakes before I do, the swarm files its cards, the board triages, and a briefing lands on my phone before coffee. Three sections: what is on fire, what to watch, what I can ignore and why. The last one matters as much as the first. A watch that only ever says “here are forty new CVEs” is noise. A watch that says “thirty-eight of these touch nobody you cover, here are the two that do” is signal.
Because it holds state, it does not re-alarm me about yesterday’s advisory. Because it runs in the background, I forget it is there, which is the highest compliment I can pay a piece of infrastructure. The best security tooling is the kind you stop noticing until the morning it earns its keep.
What it still gets wrong
A security watch that hallucinates is worse than no watch, because it spends your trust. Mine has, on occasion, inflated a medium into a critical, or scored a CVE as relevant to a client who does not actually run the affected component. I have caught it flagging a “critical” advisory that, read at the source, was a low-severity issue in a library nobody had installed.
This is exactly the algorithmic slop I have been writing about for two years, and the reason the human never leaves the loop. The swarm gathers, deduplicates, and drafts. It does not decide. Deciding whether an advisory means “patch tonight” or “note it and move on” requires knowing the client’s real exposure, their maintenance window, their risk appetite, the politics of who can approve an emergency change. That is judgment, and judgment is the one posture I never delegate. The watch made me faster at the reading. It did not make me the reader.
The verification tax is real. Every morning I still open the two or three cards the briefing flags and check them at the source before I act. If I ever stop doing that, the watch stops being an asset and becomes a liability wearing the costume of one.
What one person can now cover
Here is what actually changed. Standing a credible security watch across several small clients used to be impossible for one person to do well, so it mostly did not get done. The advisories piled up unread; everyone hoped the important one would be loud enough to notice on its own. Now a swarm reads everything, every morning, and hands me a page. I still do the part that needs a human. I just no longer do the part that only needed to be tireless.
This is what a fractional CIO can now offer a company that could never afford a SOC: not a dashboard, not a subscription, but a standing watch tuned to their exact stack, run by someone who reads the two cards that matter and knows what to do about them. The leverage is not that the AI is smart. It is that it never gets bored, and boredom was the failure mode all along.
A watch is not a product you install once. It is a practice you keep. The swarm made the practice cheap enough to actually keep, which was the whole point.
Security is a process, not a product. — Bruce Schneier, Secrets and Lies, 2000