Audit Log Service

Solution Architecture v1.0 · Data & AI Global Practice · 2026-09 · 40 views · Microsoft Azure and open source

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 40 HTML views40 SVG40 draw.io Updated 2026-10-20
Architecture views

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.

  1. 01
    System Context

    Who writes to the audit log, who reads it, who checks it — and which custody is deliberately held by somebody else.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 07
    Journey — Emit Without Inheriting Our Outage

    The producer's path, and the phase where an architecture question is wearing a UX costume.

  8. 08
    Layered Architecture

    What depends on what, and the two sideways arrows that are the log auditing its own use.

  9. 09
    Container Architecture (C4 L2)

    Every deployable unit, its technology and its scale, grouped by the plane whose identity it runs under.

  10. 10
    Ingest Plane

    Every check that happens before an event can be accepted — and the absence of any path that changes one.

  11. 11
    Custody Plane

    Assemble, chain, lock, expire — the four things that happen to a record after nobody can change it any more.

  12. 12
    Integration Surface

    Every way in and every way out, with protocol and direction — and no interface that is both.

  13. 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. 14
    Data Architecture

    Four tiers with four different durability contracts, ordered by what losing each one actually costs.

  15. 15
    The Audit Record

    One canonical, versioned schema — and the small number of fields the producer is not allowed to influence.

  16. 16
    Segment, Chain and Certificate

    The entities that make a range provable, including the one that lets a disposed range still verify.

  17. 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. 18
    Retention and Tiering

    What each store does at each age — and the one property that does not change as things get cheaper.

  19. 19
    Where the Tenant Boundary Sits

    The answer to the seventh core question, given as a split rather than a principle.

  20. 20
    Synchronous Ingest

    Thirteen messages from a producer's call to a durable commit — and a precise statement of what message 11 promises.

  21. 21
    Seal, Chain, Sign, Publish

    One fifteen-minute checkpoint end to end, including what happens when the key service is unreachable.

  22. 22
    An Investigative Query

    Eleven messages, and the one that is deliberately ordered before the query runs rather than after.

  23. 23
    Verification

    Six stages from a request to a verdict — and why the verdict is never a boolean.

  24. 24
    Evidence Bundle and Offline Verification

    Twelve messages, the last two of which involve nothing this organisation runs.

  25. 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. 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.

  27. 28
    Losing the Index

    Six stages proving the claim the whole set rests on — that deleting the index loses no record.

  28. 29
    Deployment — One Region, Three Zones

    What runs where, what is zone-redundant by construction, and which subscription deliberately is not ours.

  29. 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.

  30. 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.

  31. 32
    Observability

    Signal type by pipeline stage, and the deliberate emptiness of the monitoring stack.

  32. 33
    Cost

    Where the money actually goes, and an honest statement that the stated target is not reachable.

  33. 34
    The Operator's Loop

    Running a system you are structurally forbidden from reading, and the order in which it is allowed to degrade.

  34. 35
    Trust Zones

    Six zones of decreasing exposure, every crossing authenticated — and the one edge that deliberately is not.

  35. 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.

  36. 37
    Roles and Separation of Duties

    Eight roles against seven capabilities, where the blanks are the design.

  37. 38
    Key Custody

    Three kinds of key, what the outside world is given, and the combinations nobody holds.

  38. 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.

  39. 40
    Named Failure Modes

    Sixteen failures in four categories, sorted by what the service is permitted to do about each.

The package

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.