Architecture

The audit that found the architecture

Sometimes the truest system diagram is produced by outsiders with a checklist. Why audits see what architects stopped seeing, and how to borrow the trick.

Code, Noted2 min readArchitecture

Organizations keep two pictures of every important system. There is the architecture as understood (the diagram in the wiki, drawn by people who love the system) and the architecture as deployed, which nobody has seen whole in years. The gap between them is usually discovered by one of three parties: an incident, an attacker, or an auditor. Only the third sends an agenda in advance.

Engineering sheet of a surveyed structure with discrepancies between drawn and measured lines flagged

Audits find architecture because their method is the opposite of the insider's. The insider reasons from intent: here is what the system is for, therefore here is roughly what it must be. The auditor reasons from evidence: show me the firewall rules, the IAM policies, the data flows, the access logs, and we will let the system confess its own shape. Intent-reasoning is efficient and increasingly wrong over time, because systems drift and deprecations never finish. Evidence-reasoning is slow, humorless, and finds the batch job that phones a vendor nobody remembers contracting.

The financial record supplies the canonical case. When the SEC examined Knight Capital's 2012 collapse (a dormant code path reactivated by a partial deploy, $460 million gone in three-quarters of an hour), the resulting order reads, to an engineer, like an architecture review conducted four years too late: unreviewed dead code, deployment without verification, alerts routed to nobody. None of that was unknowable in advance. It was unlooked-at, because everyone who could look was reasoning from intent.

The lesson this journal draws is not "welcome your auditors," though one should; it is that evidence-first review is a borrowable technique, and the organizations that borrow it stop being surprised on schedule. The internal version has a plain recipe. Generate the diagram from reality (network flows, service mesh telemetry, IAM graphs) rather than from memory, and diff it against the wiki's version; the diffs are a finding list sorted by self-deception. Interview the pager as well as the architects, since the rotation knows things. And write findings with dates and owners, in the dialect of decision records, because an observation without an owner is a screenshot.

There is a cultural prerequisite that separates shops where this works from shops where it becomes theater: the discrepancy list must be treated as information, not indictment. Systems drift because change is continuous and memory is not; a large gap means the org has been busy, not that the architects lied. Blame turns the next audit into a negotiation over what the evidence will be allowed to show, at which point the org has two fictions instead of one.

The uncomfortable compliment in all this is that the auditor's checklist embodies a kind of humility the trade preaches and rarely practices: the system as built outranks every account of it. Architects who internalize that (who ask "what would an outsider with our logs conclude" once a year, on purpose) get the audit's findings at a fraction of the audit's price, and get them before the incident does the finding instead.