Audit Log Service
A shared audit log for the whole estate: it accepts security- and compliance-relevant events from every application, platform service and administrative surface, holds them so that nobody — including its own operators and the subscription's administrators — can alter or remove one inside its retention period, and answers investigative and regulatory questions against thirteen months of that history. The requirement named Amazon Web Services; this set answers it on Azure and open source, substituting Blob immutable containers with a locked time-based retention policy for S3 Object Lock, Apache Kafka on Strimzi for Kinesis, Key Vault Managed HSM for KMS and CloudHSM, Azure Confidential Ledger for the separately administered checkpoint store, ClickHouse for the online index, Trino for the archive path, and Presidio with a compiled rule set for pre-commit secret detection.
40 views, each in three formats.
Open a view to read it in full. Every SVG carries its diagram source inside it, so it opens in diagrams.net fully editable with no import step; the draw.io files are the same diagrams as plain source.
-
01
System Context
Who writes to the audit log, who reads it, who checks it — and which custody is deliberately held by somebody else.
-
02
High-Level Architecture
Seven stages from a producer's call to a proof an outsider can check — and the one feedback edge that surprises people.
-
03
Four Planes and the Rule Between Them
The critical design decision drawn as a boundary: which plane may create a record, which may retain and expire one, and which may only prove things about them.
-
04
Actors and Their Core Journeys
Fourteen actors in four groups, each with the goal they actually arrive with — including the four that are machines.
-
05
Journey — Trace an Account Through Thirteen Months
The investigator's path from an alert to a defensible timeline, and the moment where the tool stops being trustworthy to them.
-
06
Journey — Verify Without Trusting the Operator
The only journey in the set whose best moment happens offline, on a machine this organisation does not run.
-
07
Journey — Emit Without Inheriting Our Outage
The producer's path, and the phase where an architecture question is wearing a UX costume.
-
08
Layered Architecture
What depends on what, and the two sideways arrows that are the log auditing its own use.
-
09
Container Architecture (C4 L2)
Every deployable unit, its technology and its scale, grouped by the plane whose identity it runs under.
-
10
Ingest Plane
Every check that happens before an event can be accepted — and the absence of any path that changes one.
-
11
Custody Plane
Assemble, chain, lock, expire — the four things that happen to a record after nobody can change it any more.
-
12
Integration Surface
Every way in and every way out, with protocol and direction — and no interface that is both.
-
13
The Shape of the Hash Chain
Four levels from a record's bytes to a signed global checkpoint — the answer to the first core question in the requirement.
-
14
Data Architecture
Four tiers with four different durability contracts, ordered by what losing each one actually costs.
-
15
The Audit Record
One canonical, versioned schema — and the small number of fields the producer is not allowed to influence.
-
16
Segment, Chain and Certificate
The entities that make a range provable, including the one that lets a disposed range still verify.
-
17
Data Flow — Commit to Answerable
What happens to one record between the acknowledgement and the moment somebody can find it, with the volumes at each hop.
-
18
Retention and Tiering
What each store does at each age — and the one property that does not change as things get cheaper.
-
19
Where the Tenant Boundary Sits
The answer to the seventh core question, given as a split rather than a principle.
-
20
Synchronous Ingest
Thirteen messages from a producer's call to a durable commit — and a precise statement of what message 11 promises.
-
21
Seal, Chain, Sign, Publish
One fifteen-minute checkpoint end to end, including what happens when the key service is unreachable.
-
22
An Investigative Query
Eleven messages, and the one that is deliberately ordered before the query runs rather than after.
-
23
Verification
Six stages from a request to a verdict — and why the verdict is never a boolean.
-
24
Evidence Bundle and Offline Verification
Twelve messages, the last two of which involve nothing this organisation runs.
-
25
Disposal
Seven steps that close a loop, and the answer to the fifth core question given as a sequence rather than a choice.
-
26
Legal Hold
How disposal is suspended indefinitely without anybody touching, moving or hiding a record.
-
27
When the Audit Plane Is Unavailable
The second core question answered per event class, with what an auditor sees afterwards in the bottom lane.
-
28
Losing the Index
Six stages proving the claim the whole set rests on — that deleting the index loses no record.
-
29
Deployment — One Region, Three Zones
What runs where, what is zone-redundant by construction, and which subscription deliberately is not ours.
-
30
Two Regions, and Custody That Belongs to Neither
Active-passive failover, one-way replication, and the reason the checkpoint ledger sits outside both regions.
-
31
Shipping the Service, Changing the Rules
Six stages, one of which enforces the whole architecture's central principle in CI rather than in code review.
-
32
Observability
Signal type by pipeline stage, and the deliberate emptiness of the monitoring stack.
-
33
Cost
Where the money actually goes, and an honest statement that the stated target is not reachable.
-
34
The Operator's Loop
Running a system you are structurally forbidden from reading, and the order in which it is allowed to degrade.
-
35
Trust Zones
Six zones of decreasing exposure, every crossing authenticated — and the one edge that deliberately is not.
-
36
Identity and Credentials
How a workload proves who it is, and why the service records the identity it observed rather than the one it was told.
-
37
Roles and Separation of Duties
Eight roles against seven capabilities, where the blanks are the design.
-
38
Key Custody
Three kinds of key, what the outside world is given, and the combinations nobody holds.
-
39
The Operators Are In Scope
Six attempts by six privileged insiders, and what each one actually meets — including the row where the residual risk is real.
-
40
Named Failure Modes
Sixteen failures in four categories, sorted by what the service is permitted to do about each.
Everything as it was delivered.
These files are served exactly as they were produced — the diagram pages keep their own house style because that is the artifact, not a rendering of it.