{
  "bundleVersion": "1.0.0",
  "logId": "tenant_acme/prod",
  "from": "1970-01-01T00:00:00.000Z",
  "to": "2026-08-19T21:59:32.773Z",
  "exportedAt": "2026-08-19T21:59:32.773Z",
  "events": [
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "eventId": "evt_seed_model_1",
      "ts": "2026-08-14T13:26:57.685Z",
      "actor": {
        "kind": "agent",
        "id": "loan-underwriter",
        "mode": "autonomous"
      },
      "sessionId": "sess_underwrite_77",
      "traceId": "4bf92f3577b34da6a3ce929d0e0e4736",
      "actionType": "model_call",
      "action": "claude-sonnet-4-5",
      "surface": {
        "plane": "model",
        "adapter": "gateway",
        "modality": "text"
      },
      "outcome": "ok",
      "cost": {
        "currency": "USD",
        "total": 0.0182,
        "model": "claude-sonnet-4-5",
        "provider": "anthropic",
        "attributionComplete": true,
        "breakdown": {
          "input": 0.007280000000000001,
          "output": 0.010920000000000001
        }
      },
      "onBehalfOf": {
        "endUser": "cust-77"
      },
      "seq": 0,
      "prevHash": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
      "eventHash": "sha256:823bc4ed88460940966e35e5fb2955055e4061904fec31db18d5b2cfac124599"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "eventId": "evt_seed_tool_1",
      "ts": "2026-08-14T13:26:58.685Z",
      "actor": {
        "kind": "agent",
        "id": "loan-underwriter",
        "mode": "autonomous"
      },
      "sessionId": "sess_underwrite_77",
      "traceId": "4bf92f3577b34da6a3ce929d0e0e4736",
      "actionType": "tool_call",
      "action": "pull_credit_file",
      "surface": {
        "plane": "action",
        "adapter": "sdk"
      },
      "onBehalfOf": {
        "endUser": "cust-77"
      },
      "outcome": "ok",
      "seq": 1,
      "prevHash": "sha256:823bc4ed88460940966e35e5fb2955055e4061904fec31db18d5b2cfac124599",
      "eventHash": "sha256:2cb130dc46797b1cab5ce86a48b92b4810736f0c7e313127d7c176c970d7d356"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "eventId": "evt_seed_decision_1",
      "ts": "2026-08-14T13:26:59.685Z",
      "actor": {
        "kind": "agent",
        "id": "loan-underwriter",
        "mode": "autonomous"
      },
      "sessionId": "sess_underwrite_77",
      "traceId": "4bf92f3577b34da6a3ce929d0e0e4736",
      "actionType": "decision",
      "action": "adverse_action",
      "surface": {
        "plane": "action",
        "adapter": "sdk"
      },
      "onBehalfOf": {
        "endUser": "cust-77"
      },
      "outcome": "ok",
      "reason": "debt-to-income 51% exceeds the 45% policy ceiling",
      "seq": 2,
      "prevHash": "sha256:2cb130dc46797b1cab5ce86a48b92b4810736f0c7e313127d7c176c970d7d356",
      "eventHash": "sha256:6f4b9b152e7bf81dd9ea176d2941793851b610c33527807cbb6f3af179aac764"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "eventId": "evt_seed_model_4",
      "ts": "2026-08-14T13:27:00.685Z",
      "actor": {
        "kind": "agent",
        "id": "loan-underwriter",
        "mode": "autonomous"
      },
      "sessionId": "sess_underwrite_77",
      "traceId": "4bf92f3577b34da6a3ce929d0e0e4736",
      "actionType": "model_call",
      "action": "acme-internal-reranker-v2",
      "surface": {
        "plane": "model",
        "adapter": "gateway",
        "modality": "text"
      },
      "outcome": "ok",
      "cost": {
        "currency": "USD",
        "total": 0,
        "model": "acme-internal-reranker-v2",
        "provider": "anthropic",
        "attributionComplete": false,
        "breakdown": {
          "input": null,
          "output": null
        }
      },
      "seq": 3,
      "prevHash": "sha256:6f4b9b152e7bf81dd9ea176d2941793851b610c33527807cbb6f3af179aac764",
      "eventHash": "sha256:c47aa9071ea9e59cb2edec3ca8df020777f359df499d5b966cb5a832229b2fbc"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "eventId": "evt_seed_wire",
      "ts": "2026-08-14T13:27:01.685Z",
      "actor": {
        "kind": "agent",
        "id": "payments-bot",
        "mode": "autonomous"
      },
      "sessionId": "sess_payout_31",
      "actionType": "tool_call",
      "action": "wire_transfer",
      "surface": {
        "plane": "action",
        "adapter": "sdk"
      },
      "outcome": "ok",
      "policy": {
        "decision": "allow",
        "policyId": "default-allow",
        "policyVersion": "1",
        "engine": "cedar-4.7",
        "reasons": [],
        "monitorMode": false
      },
      "seq": 4,
      "prevHash": "sha256:c47aa9071ea9e59cb2edec3ca8df020777f359df499d5b966cb5a832229b2fbc",
      "eventHash": "sha256:587f370a5a65566e338f120d1a47e83e6f0a002578794d424ba8d68949762e1f"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "eventId": "evt_seed_override",
      "ts": "2026-08-14T13:27:05.685Z",
      "actor": {
        "kind": "human",
        "id": "priya@lender.io",
        "mode": "interactive"
      },
      "sessionId": "sess_payout_31",
      "actionType": "human_override",
      "action": "approve_wire_transfer",
      "surface": {
        "plane": "action",
        "adapter": "console"
      },
      "approvedBy": "priya@lender.io",
      "outcome": "ok",
      "reason": "verified against the signed payout schedule",
      "seq": 5,
      "prevHash": "sha256:587f370a5a65566e338f120d1a47e83e6f0a002578794d424ba8d68949762e1f",
      "eventHash": "sha256:eb68c42fc64d453c93c0bcbdb24b05c473b205688af315ce18caeb1ce31b7320"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "call_9f21",
      "traceId": "call_9f21",
      "actor": {
        "kind": "agent",
        "id": "appointment-setter",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-voice",
        "modality": "voice"
      },
      "eventId": "evt_call_start_f974ce38c829",
      "ts": "2026-08-14T13:27:36.685Z",
      "actionType": "lifecycle",
      "action": "call_started",
      "outcome": "ok",
      "onBehalfOf": {
        "endUser": "cust-208"
      },
      "art12": {
        "periodStart": "2026-08-14T13:27:36.685Z",
        "humansInvolved": []
      },
      "seq": 6,
      "prevHash": "sha256:eb68c42fc64d453c93c0bcbdb24b05c473b205688af315ce18caeb1ce31b7320",
      "eventHash": "sha256:b87d08b1a489d0563e296dbe0caaa32b1e9dce2c9fe3d628500e8a0d0834433d"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "call_9f21",
      "traceId": "call_9f21",
      "actor": {
        "kind": "agent",
        "id": "appointment-setter",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-voice",
        "modality": "voice"
      },
      "eventId": "evt_disclosure_7b4a5f670371",
      "ts": "2026-08-14T13:27:38.685Z",
      "actionType": "disclosure",
      "action": "ai_disclosure",
      "outcome": "ok",
      "outputHash": "sha256:399180703577ab1656d70c33e913f2e029c9df987765022423a7355f97e0df08",
      "seq": 7,
      "prevHash": "sha256:b87d08b1a489d0563e296dbe0caaa32b1e9dce2c9fe3d628500e8a0d0834433d",
      "eventHash": "sha256:a4c0229032dbaf57cbca2b1f070578f3989810f08f9fc413cb80f6dd5f983ac1"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "call_9f21",
      "traceId": "call_9f21",
      "actor": {
        "kind": "agent",
        "id": "appointment-setter",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-voice",
        "modality": "voice"
      },
      "eventId": "evt_turn_0_ceacf50c6d05",
      "ts": "2026-08-14T13:27:41.685Z",
      "actionType": "decision",
      "action": "agent_turn",
      "outcome": "ok",
      "outputHash": "sha256:a04d90a1ebfabcd01214acb503b1af6f863aeffb1f0f93b75b2e3f0c0f8e78a6",
      "seq": 8,
      "prevHash": "sha256:a4c0229032dbaf57cbca2b1f070578f3989810f08f9fc413cb80f6dd5f983ac1",
      "eventHash": "sha256:e1e592bed0c1d4945c80edd17dcc4649d61740b7e9ac3da9727e557d519980d3"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "call_9f21",
      "traceId": "call_9f21",
      "actor": {
        "kind": "agent",
        "id": "appointment-setter",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-voice",
        "modality": "voice"
      },
      "eventId": "evt_turn_1_398edd509125",
      "ts": "2026-08-14T13:27:48.685Z",
      "actionType": "decision",
      "action": "caller_turn",
      "outcome": "ok",
      "outputHash": "sha256:fc872d13043ba912faf6785bc7e23db9477ebbf6ffca4a675dbcb4d89fc09ca9",
      "seq": 9,
      "prevHash": "sha256:e1e592bed0c1d4945c80edd17dcc4649d61740b7e9ac3da9727e557d519980d3",
      "eventHash": "sha256:fe7f3512b6d5522a4b07164865b3f95362ecee42ccb186ef2aeff797e4fc168b"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "call_9f21",
      "traceId": "call_9f21",
      "actor": {
        "kind": "agent",
        "id": "appointment-setter",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-voice",
        "modality": "voice"
      },
      "eventId": "evt_tool_0_d008ef5c1f1c",
      "ts": "2026-08-14T13:27:56.685Z",
      "actionType": "tool_call",
      "action": "book_appointment",
      "outcome": "ok",
      "inputHash": "sha256:efea066a7fcf968ba7570f16e814337c26706d5f9f4d5590963c4116351fe449",
      "seq": 10,
      "prevHash": "sha256:fe7f3512b6d5522a4b07164865b3f95362ecee42ccb186ef2aeff797e4fc168b",
      "eventHash": "sha256:4c64d71933c76a714faa12ef7dabf47e4e87aa437eb049945a234ae045d5d246"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "call_9f21",
      "traceId": "call_9f21",
      "actor": {
        "kind": "agent",
        "id": "appointment-setter",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-voice",
        "modality": "voice"
      },
      "eventId": "evt_call_end_ff2d6a08dcb6",
      "ts": "2026-08-14T13:30:06.685Z",
      "actionType": "lifecycle",
      "action": "call_ended",
      "outcome": "ok",
      "cost": {
        "currency": "USD",
        "total": 0.039400000000000004,
        "attributionComplete": true,
        "breakdown": {
          "toolUsage": 0.021,
          "output": 0.006,
          "input": 0.003
        }
      },
      "art12": {
        "periodStart": "2026-08-14T13:27:36.685Z",
        "periodEnd": "2026-08-14T13:30:06.685Z"
      },
      "seq": 11,
      "prevHash": "sha256:4c64d71933c76a714faa12ef7dabf47e4e87aa437eb049945a234ae045d5d246",
      "eventHash": "sha256:55681e7b6cc2972985a7f1c670f2cd97ffa435e42fff45e31a9dd0c93bf4671a"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "call_9f22",
      "traceId": "call_9f22",
      "actor": {
        "kind": "agent",
        "id": "appointment-setter",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-voice",
        "modality": "voice"
      },
      "eventId": "evt_call_start_69d9ea1835e2",
      "ts": "2026-08-14T13:31:56.685Z",
      "actionType": "lifecycle",
      "action": "call_started",
      "outcome": "ok",
      "onBehalfOf": {
        "endUser": "cust-209"
      },
      "art12": {
        "periodStart": "2026-08-14T13:31:56.685Z",
        "humansInvolved": []
      },
      "seq": 12,
      "prevHash": "sha256:55681e7b6cc2972985a7f1c670f2cd97ffa435e42fff45e31a9dd0c93bf4671a",
      "eventHash": "sha256:076b8840226c5e8ba3fe1840c9d9954fab68a4f21249d6d6b3797cea49891fb2"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "call_9f22",
      "traceId": "call_9f22",
      "actor": {
        "kind": "agent",
        "id": "appointment-setter",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-voice",
        "modality": "voice"
      },
      "eventId": "evt_turn_0_baa0be914367",
      "ts": "2026-08-14T13:32:01.685Z",
      "actionType": "decision",
      "action": "agent_turn",
      "outcome": "ok",
      "outputHash": "sha256:12507bef01e55dea4443dd0cd8f3e81f13defb199f618f84d237e9d498959733",
      "seq": 13,
      "prevHash": "sha256:076b8840226c5e8ba3fe1840c9d9954fab68a4f21249d6d6b3797cea49891fb2",
      "eventHash": "sha256:04d619ab2596ac6a6c4ba24d9a9361a97da5e1346e626f4479b40c19ca4ca4f8"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "call_9f22",
      "traceId": "call_9f22",
      "actor": {
        "kind": "agent",
        "id": "appointment-setter",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-voice",
        "modality": "voice"
      },
      "eventId": "evt_call_end_f8bdd57cf3f7",
      "ts": "2026-08-14T13:33:31.685Z",
      "actionType": "lifecycle",
      "action": "call_ended",
      "outcome": "ok",
      "cost": {
        "currency": "USD",
        "total": 0.0201,
        "attributionComplete": true,
        "breakdown": {
          "toolUsage": 0.014,
          "output": 0,
          "input": 0
        }
      },
      "art12": {
        "periodStart": "2026-08-14T13:31:56.685Z",
        "periodEnd": "2026-08-14T13:33:31.685Z"
      },
      "seq": 14,
      "prevHash": "sha256:04d619ab2596ac6a6c4ba24d9a9361a97da5e1346e626f4479b40c19ca4ca4f8",
      "eventHash": "sha256:0b2d916595172c21d75d1c41bd7e1502dcddc701f2e0f29a77894a23290da934"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "sess_build_412",
      "traceId": "sess_build_412",
      "actor": {
        "kind": "agent",
        "id": "release-agent",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-code",
        "modality": "code"
      },
      "onBehalfOf": {
        "humanId": "dev@lender.io"
      },
      "eventId": "evt_code_start_488e48b12bb9",
      "ts": "2026-08-14T13:36:56.685Z",
      "actionType": "lifecycle",
      "action": "session_started",
      "outcome": "ok",
      "seq": 15,
      "prevHash": "sha256:0b2d916595172c21d75d1c41bd7e1502dcddc701f2e0f29a77894a23290da934",
      "eventHash": "sha256:4d0cd7e8a5396d9849c57cdee89a876ef68b5e7372773b9ae10a778836641c1e"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "sess_build_412",
      "traceId": "sess_build_412",
      "actor": {
        "kind": "agent",
        "id": "release-agent",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-code",
        "modality": "code"
      },
      "onBehalfOf": {
        "humanId": "dev@lender.io"
      },
      "eventId": "evt_act_0_081e1f239d9a",
      "ts": "2026-08-14T13:37:06.685Z",
      "actionType": "tool_call",
      "action": "shell",
      "outcome": "ok",
      "inputHash": "sha256:c9e8ec0b2dabf0504d28567460712742f2290b00cfbc5dd774d60dd2a5f02a2b",
      "outputHash": "sha256:d663585bd59eaad9e930c2de03e2b669f63119d43a894738bd0928967b769388",
      "seq": 16,
      "prevHash": "sha256:4d0cd7e8a5396d9849c57cdee89a876ef68b5e7372773b9ae10a778836641c1e",
      "eventHash": "sha256:4130ba59b89876da923200c62ae24917c64445e278f4d67a969773af47538596"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "sess_build_412",
      "traceId": "sess_build_412",
      "actor": {
        "kind": "agent",
        "id": "release-agent",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-code",
        "modality": "code"
      },
      "onBehalfOf": {
        "humanId": "dev@lender.io"
      },
      "eventId": "evt_act_1_9f49449825a8",
      "ts": "2026-08-14T13:37:36.685Z",
      "actionType": "tool_call",
      "action": "write_file",
      "outcome": "ok",
      "inputHash": "sha256:b48198f121b197dcd5eb36315d8dc6acf2cce2534530a901f484ac28772121d5",
      "seq": 17,
      "prevHash": "sha256:4130ba59b89876da923200c62ae24917c64445e278f4d67a969773af47538596",
      "eventHash": "sha256:785702464890732054926900133b8b6111f9c658b51a13249a431bd23d60e182"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "sess_build_412",
      "traceId": "sess_build_412",
      "actor": {
        "kind": "agent",
        "id": "release-agent",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-code",
        "modality": "code"
      },
      "onBehalfOf": {
        "humanId": "dev@lender.io"
      },
      "eventId": "evt_act_2_33af94e865e1",
      "ts": "2026-08-14T13:37:46.685Z",
      "actionType": "tool_call",
      "action": "write_file",
      "outcome": "blocked",
      "inputHash": "sha256:61b177c7eaeaf2e1ebe55ae35b1d4fbb7461a07aedb213bfbed802f7c4d6188d",
      "policy": {
        "decision": "deny",
        "policyId": "tool-allowlist",
        "policyVersion": "1",
        "engine": "attestable-cedar/1",
        "reasons": [
          "tool \"write_file\" is not in this agent's grant"
        ]
      },
      "seq": 18,
      "prevHash": "sha256:785702464890732054926900133b8b6111f9c658b51a13249a431bd23d60e182",
      "eventHash": "sha256:12e3fbb34ed0569219068e488224c4f26da96bd2aec499bce1d94a678a6df154"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "sess_build_412",
      "traceId": "sess_build_412",
      "actor": {
        "kind": "agent",
        "id": "release-agent",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "effect",
        "adapter": "git",
        "modality": "code"
      },
      "onBehalfOf": {
        "humanId": "dev@lender.io"
      },
      "eventId": "evt_commit_e3ccf0b5b804",
      "ts": "2026-08-14T13:36:56.685Z",
      "actionType": "tool_call",
      "action": "git_commit",
      "outcome": "ok",
      "outputHash": "sha256:de57db415f6d64b9a77263f479f208685d5cfbb886e5302e7bb916aac77361e4",
      "inputHash": "sha256:c88aee87b646247a7df2a67f3c607bf8f0f33c446ede3b1d3e45a52dd6b72ea6",
      "seq": 19,
      "prevHash": "sha256:12e3fbb34ed0569219068e488224c4f26da96bd2aec499bce1d94a678a6df154",
      "eventHash": "sha256:2f83f879730863b0229ddce6ffedf310454c053786485cec3fc49ed1dcd82c55"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "sess_build_412",
      "traceId": "sess_build_412",
      "actor": {
        "kind": "agent",
        "id": "release-agent",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "effect",
        "adapter": "git",
        "modality": "code"
      },
      "onBehalfOf": {
        "humanId": "dev@lender.io"
      },
      "eventId": "evt_merge_3e4d3d00752b",
      "ts": "2026-08-14T13:38:56.685Z",
      "actionType": "human_override",
      "action": "pull_request_merged",
      "outcome": "ok",
      "approvedBy": {
        "humanId": "dev@lender.io",
        "at": "2026-08-14T13:38:56.685Z"
      },
      "outputHash": "sha256:bc3085bb22692b471b55d5406b10da8ab2091274cb74f6d5132b627a89183c70",
      "seq": 20,
      "prevHash": "sha256:2f83f879730863b0229ddce6ffedf310454c053786485cec3fc49ed1dcd82c55",
      "eventHash": "sha256:1cc704bdd8af6f36aca20e81fbd5a469ff519d98eb47991705e62817a9971c80"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "sess_build_412",
      "traceId": "sess_build_412",
      "actor": {
        "kind": "agent",
        "id": "release-agent",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-code",
        "modality": "code"
      },
      "onBehalfOf": {
        "humanId": "dev@lender.io"
      },
      "eventId": "evt_code_end_37671def4751",
      "ts": "2026-08-14T13:36:56.685Z",
      "actionType": "lifecycle",
      "action": "session_ended",
      "outcome": "ok",
      "art12": {
        "periodStart": "2026-08-14T13:36:56.685Z",
        "periodEnd": "2026-08-14T13:36:56.685Z",
        "humansInvolved": [
          "dev@lender.io",
          "dev@lender.io"
        ]
      },
      "seq": 21,
      "prevHash": "sha256:1cc704bdd8af6f36aca20e81fbd5a469ff519d98eb47991705e62817a9971c80",
      "eventHash": "sha256:c1ab82cfdafade9f988831610b543b61e3bb66e415c0da39ae99f61627846cb1"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "eventId": "evt_auth_e1eac1398d29471ec40f",
      "ts": "2026-08-14T15:30:04.659Z",
      "actor": {
        "kind": "human",
        "id": "b.augusta1103@gmail.com",
        "mode": "interactive"
      },
      "actionType": "lifecycle",
      "action": "sign_in_link_sent",
      "surface": {
        "plane": "action",
        "adapter": "auth"
      },
      "outcome": "ok",
      "seq": 22,
      "prevHash": "sha256:c1ab82cfdafade9f988831610b543b61e3bb66e415c0da39ae99f61627846cb1",
      "eventHash": "sha256:e9101ba84436bf8b180f3144ec9279b5bf63eaf85f9848f8b14d79ebc42356b2"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "eventId": "evt_auth_d419d54ab9a291f51116",
      "ts": "2026-08-14T15:30:05.708Z",
      "actor": {
        "kind": "human",
        "id": "attacker@evil.com",
        "mode": "interactive"
      },
      "actionType": "lifecycle",
      "action": "sign_in_rejected",
      "surface": {
        "plane": "action",
        "adapter": "auth"
      },
      "outcome": "blocked",
      "reason": "address is not on the allowlist",
      "policy": {
        "decision": "deny",
        "policyId": "auth-allowlist",
        "policyVersion": "1",
        "engine": "attestable-auth",
        "reasons": [
          "address is not on the allowlist"
        ],
        "monitorMode": false
      },
      "seq": 23,
      "prevHash": "sha256:e9101ba84436bf8b180f3144ec9279b5bf63eaf85f9848f8b14d79ebc42356b2",
      "eventHash": "sha256:af9f6bf3f97f4a0be4fc0184f01b27203f349d426b548acde73ab2ade00bc063"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "eventId": "evt_auth_a531cb5aa786ba786707",
      "ts": "2026-08-15T16:40:13.461Z",
      "actor": {
        "kind": "human",
        "id": "nobody@example.com",
        "mode": "interactive"
      },
      "actionType": "lifecycle",
      "action": "sign_in_rejected",
      "surface": {
        "plane": "action",
        "adapter": "auth"
      },
      "outcome": "blocked",
      "reason": "address is not on the allowlist",
      "policy": {
        "decision": "deny",
        "policyId": "auth-allowlist",
        "policyVersion": "1",
        "engine": "attestable-auth",
        "reasons": [
          "address is not on the allowlist"
        ],
        "monitorMode": false
      },
      "seq": 24,
      "prevHash": "sha256:af9f6bf3f97f4a0be4fc0184f01b27203f349d426b548acde73ab2ade00bc063",
      "eventHash": "sha256:f6550147ed540ff5e8070cc766701b8808a695a44d84c92702e2de9e6e3b20d1"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "eventId": "evt_auth_95e573f1cfd84b337299",
      "ts": "2026-08-15T16:49:42.740Z",
      "actor": {
        "kind": "human",
        "id": "nobody@example.com",
        "mode": "interactive"
      },
      "actionType": "lifecycle",
      "action": "sign_in_link_sent",
      "surface": {
        "plane": "action",
        "adapter": "auth"
      },
      "outcome": "ok",
      "seq": 25,
      "prevHash": "sha256:f6550147ed540ff5e8070cc766701b8808a695a44d84c92702e2de9e6e3b20d1",
      "eventHash": "sha256:db26e58cde7134f74f4766e75caebd2da5d7fd45e31e16b848c1f0a5fdc1f90c"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "eventId": "evt_auth_ded34ca989cdf85ed5a9",
      "ts": "2026-08-15T16:55:03.879Z",
      "actor": {
        "kind": "human",
        "id": "nobody@example.com",
        "mode": "interactive"
      },
      "actionType": "lifecycle",
      "action": "sign_in_link_sent",
      "surface": {
        "plane": "action",
        "adapter": "auth"
      },
      "outcome": "ok",
      "seq": 26,
      "prevHash": "sha256:db26e58cde7134f74f4766e75caebd2da5d7fd45e31e16b848c1f0a5fdc1f90c",
      "eventHash": "sha256:28012f732f28deef41f3174e8685b7cea31234ef3211e0a08732415f479ab3c4"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "eventId": "evt_auth_90b9fd0114154bed9694",
      "ts": "2026-08-16T09:58:50.766Z",
      "actor": {
        "kind": "human",
        "id": "nobody@example.com",
        "mode": "interactive"
      },
      "actionType": "lifecycle",
      "action": "sign_in_link_sent",
      "surface": {
        "plane": "action",
        "adapter": "auth"
      },
      "outcome": "ok",
      "seq": 27,
      "prevHash": "sha256:28012f732f28deef41f3174e8685b7cea31234ef3211e0a08732415f479ab3c4",
      "eventHash": "sha256:87e84476fbad42dc7fc045ac1bbbf63b984b2b7c97365d1d8dc2871b28404ea5"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "ts": "2026-08-16T10:32:23.071Z",
      "actor": {
        "kind": "agent",
        "id": "infra-agent",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "effect",
        "adapter": "aws",
        "modality": "infra"
      },
      "onBehalfOf": {
        "humanId": "dev@lender.io"
      },
      "eventId": "evt_cloud_e0af86ef1dc8b83384a0",
      "actionType": "tool_call",
      "action": "rds:DeleteDBInstance",
      "outcome": "ok",
      "reason": "arn:aws:rds:ap-south-1:1:db/prod · destructive operation · not via IaC",
      "seq": 28,
      "prevHash": "sha256:87e84476fbad42dc7fc045ac1bbbf63b984b2b7c97365d1d8dc2871b28404ea5",
      "eventHash": "sha256:90f741d2d280ef18daff66b6d24df14c09385d5544e98dd234dc60f539da3542"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "ts": "2026-08-16T10:32:23.071Z",
      "actor": {
        "kind": "agent",
        "id": "infra-agent",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "effect",
        "adapter": "aws",
        "modality": "infra"
      },
      "onBehalfOf": {
        "humanId": "dev@lender.io"
      },
      "eventId": "evt_cloud_esc_ff951a5df555eb49",
      "actionType": "escalation",
      "action": "destructive_change",
      "outcome": "ok",
      "reason": "rds:DeleteDBInstance on arn:aws:rds:ap-south-1:1:db/prod",
      "seq": 29,
      "prevHash": "sha256:90f741d2d280ef18daff66b6d24df14c09385d5544e98dd234dc60f539da3542",
      "eventHash": "sha256:bef0b34e38662a9ac2b0ef8803d8173b17aafd060005a2dc96e3a6701b91700d"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "eventId": "evt_seed_model_1",
      "ts": "2026-08-19T18:13:46.420Z",
      "actor": {
        "kind": "agent",
        "id": "loan-underwriter",
        "mode": "autonomous"
      },
      "sessionId": "sess_underwrite_77",
      "traceId": "4bf92f3577b34da6a3ce929d0e0e4736",
      "actionType": "model_call",
      "action": "claude-sonnet-4-5",
      "surface": {
        "plane": "model",
        "adapter": "gateway",
        "modality": "text"
      },
      "outcome": "ok",
      "cost": {
        "currency": "USD",
        "total": 0.0182,
        "model": "claude-sonnet-4-5",
        "provider": "anthropic",
        "attributionComplete": true,
        "breakdown": {
          "input": 0.007280000000000001,
          "output": 0.010920000000000001
        }
      },
      "onBehalfOf": {
        "endUser": "cust-77"
      },
      "seq": 30,
      "prevHash": "sha256:bef0b34e38662a9ac2b0ef8803d8173b17aafd060005a2dc96e3a6701b91700d",
      "eventHash": "sha256:71ac342df18cae442a1a7ad1c8e800b47e33169b4f14e3d482f40c1506873db1"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "eventId": "evt_seed_tool_1",
      "ts": "2026-08-19T18:13:47.420Z",
      "actor": {
        "kind": "agent",
        "id": "loan-underwriter",
        "mode": "autonomous"
      },
      "sessionId": "sess_underwrite_77",
      "traceId": "4bf92f3577b34da6a3ce929d0e0e4736",
      "actionType": "tool_call",
      "action": "pull_credit_file",
      "surface": {
        "plane": "action",
        "adapter": "sdk"
      },
      "onBehalfOf": {
        "endUser": "cust-77"
      },
      "outcome": "ok",
      "seq": 31,
      "prevHash": "sha256:71ac342df18cae442a1a7ad1c8e800b47e33169b4f14e3d482f40c1506873db1",
      "eventHash": "sha256:1d2a632e4aaf1b06ffce075cd864b9eff7c31bf5993833755415f5da10ee1055"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "eventId": "evt_seed_decision_1",
      "ts": "2026-08-19T18:13:48.420Z",
      "actor": {
        "kind": "agent",
        "id": "loan-underwriter",
        "mode": "autonomous"
      },
      "sessionId": "sess_underwrite_77",
      "traceId": "4bf92f3577b34da6a3ce929d0e0e4736",
      "actionType": "decision",
      "action": "adverse_action",
      "surface": {
        "plane": "action",
        "adapter": "sdk"
      },
      "onBehalfOf": {
        "endUser": "cust-77"
      },
      "outcome": "ok",
      "reason": "debt-to-income 51% exceeds the 45% policy ceiling",
      "seq": 32,
      "prevHash": "sha256:1d2a632e4aaf1b06ffce075cd864b9eff7c31bf5993833755415f5da10ee1055",
      "eventHash": "sha256:c2dc1c2e3f400bdb39725bc1c888b30fc5ab2245490384d43a6fd9548b039c99"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "eventId": "evt_seed_model_4",
      "ts": "2026-08-19T18:13:49.420Z",
      "actor": {
        "kind": "agent",
        "id": "loan-underwriter",
        "mode": "autonomous"
      },
      "sessionId": "sess_underwrite_77",
      "traceId": "4bf92f3577b34da6a3ce929d0e0e4736",
      "actionType": "model_call",
      "action": "acme-internal-reranker-v2",
      "surface": {
        "plane": "model",
        "adapter": "gateway",
        "modality": "text"
      },
      "outcome": "ok",
      "cost": {
        "currency": "USD",
        "total": 0,
        "model": "acme-internal-reranker-v2",
        "provider": "anthropic",
        "attributionComplete": false,
        "breakdown": {
          "input": null,
          "output": null
        }
      },
      "seq": 33,
      "prevHash": "sha256:c2dc1c2e3f400bdb39725bc1c888b30fc5ab2245490384d43a6fd9548b039c99",
      "eventHash": "sha256:bf36502f76590938e6f252fc816f85d2cc02010d3d1f253d24ca8bc0339ce117"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "eventId": "evt_seed_wire",
      "ts": "2026-08-19T18:13:50.420Z",
      "actor": {
        "kind": "agent",
        "id": "payments-bot",
        "mode": "autonomous"
      },
      "sessionId": "sess_payout_31",
      "actionType": "tool_call",
      "action": "wire_transfer",
      "surface": {
        "plane": "action",
        "adapter": "sdk"
      },
      "outcome": "ok",
      "policy": {
        "decision": "allow",
        "policyId": "default-allow",
        "policyVersion": "1",
        "engine": "cedar-4.7",
        "reasons": [],
        "monitorMode": false
      },
      "seq": 34,
      "prevHash": "sha256:bf36502f76590938e6f252fc816f85d2cc02010d3d1f253d24ca8bc0339ce117",
      "eventHash": "sha256:8741533407c33ee49f8a17d1fe321a44767ddc8a90e4d60580b5f5184255a06c"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "eventId": "evt_seed_override",
      "ts": "2026-08-19T18:13:54.420Z",
      "actor": {
        "kind": "human",
        "id": "priya@lender.io",
        "mode": "interactive"
      },
      "sessionId": "sess_payout_31",
      "actionType": "human_override",
      "action": "approve_wire_transfer",
      "surface": {
        "plane": "action",
        "adapter": "console"
      },
      "approvedBy": "priya@lender.io",
      "outcome": "ok",
      "reason": "verified against the signed payout schedule",
      "seq": 35,
      "prevHash": "sha256:8741533407c33ee49f8a17d1fe321a44767ddc8a90e4d60580b5f5184255a06c",
      "eventHash": "sha256:7435aa576121fdf2a2a6dfe1cf3eb1f0c399191ab7cea69b45ee54b97be5d91d"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "call_9f21",
      "traceId": "call_9f21",
      "actor": {
        "kind": "agent",
        "id": "appointment-setter",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-voice",
        "modality": "voice"
      },
      "eventId": "evt_call_start_eddccde2b1b5",
      "ts": "2026-08-19T18:14:25.420Z",
      "actionType": "lifecycle",
      "action": "call_started",
      "outcome": "ok",
      "onBehalfOf": {
        "endUser": "cust-208"
      },
      "art12": {
        "periodStart": "2026-08-19T18:14:25.420Z",
        "humansInvolved": []
      },
      "seq": 36,
      "prevHash": "sha256:7435aa576121fdf2a2a6dfe1cf3eb1f0c399191ab7cea69b45ee54b97be5d91d",
      "eventHash": "sha256:53d58c155fdbc7e0e00460ca90071a86bebc5136f482fd74fd9d016b3436b137"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "call_9f21",
      "traceId": "call_9f21",
      "actor": {
        "kind": "agent",
        "id": "appointment-setter",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-voice",
        "modality": "voice"
      },
      "eventId": "evt_disclosure_15bda1793ebd",
      "ts": "2026-08-19T18:14:27.420Z",
      "actionType": "disclosure",
      "action": "ai_disclosure",
      "outcome": "ok",
      "outputHash": "sha256:399180703577ab1656d70c33e913f2e029c9df987765022423a7355f97e0df08",
      "seq": 37,
      "prevHash": "sha256:53d58c155fdbc7e0e00460ca90071a86bebc5136f482fd74fd9d016b3436b137",
      "eventHash": "sha256:f5c1d93e8db350c053e03d5c2561dc2406297c0a2da4c39dde4abbabae272c73"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "call_9f21",
      "traceId": "call_9f21",
      "actor": {
        "kind": "agent",
        "id": "appointment-setter",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-voice",
        "modality": "voice"
      },
      "eventId": "evt_turn_0_7cf453e90bda",
      "ts": "2026-08-19T18:14:30.420Z",
      "actionType": "decision",
      "action": "agent_turn",
      "outcome": "ok",
      "outputHash": "sha256:a04d90a1ebfabcd01214acb503b1af6f863aeffb1f0f93b75b2e3f0c0f8e78a6",
      "seq": 38,
      "prevHash": "sha256:f5c1d93e8db350c053e03d5c2561dc2406297c0a2da4c39dde4abbabae272c73",
      "eventHash": "sha256:94f0e03562c7d0feba665a1c1be61f2fbcd04c1e35f076e8070c6ccc46012a8a"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "call_9f21",
      "traceId": "call_9f21",
      "actor": {
        "kind": "agent",
        "id": "appointment-setter",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-voice",
        "modality": "voice"
      },
      "eventId": "evt_turn_1_99da9ba802f8",
      "ts": "2026-08-19T18:14:37.420Z",
      "actionType": "decision",
      "action": "caller_turn",
      "outcome": "ok",
      "outputHash": "sha256:fc872d13043ba912faf6785bc7e23db9477ebbf6ffca4a675dbcb4d89fc09ca9",
      "seq": 39,
      "prevHash": "sha256:94f0e03562c7d0feba665a1c1be61f2fbcd04c1e35f076e8070c6ccc46012a8a",
      "eventHash": "sha256:b179268d6dc8aa24f1117fe793dd37c5733ee17608622306455d80d292a91052"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "call_9f21",
      "traceId": "call_9f21",
      "actor": {
        "kind": "agent",
        "id": "appointment-setter",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-voice",
        "modality": "voice"
      },
      "eventId": "evt_tool_0_cddf7bbebaa6",
      "ts": "2026-08-19T18:14:45.420Z",
      "actionType": "tool_call",
      "action": "book_appointment",
      "outcome": "ok",
      "inputHash": "sha256:efea066a7fcf968ba7570f16e814337c26706d5f9f4d5590963c4116351fe449",
      "seq": 40,
      "prevHash": "sha256:b179268d6dc8aa24f1117fe793dd37c5733ee17608622306455d80d292a91052",
      "eventHash": "sha256:61710f41e20b9b2b0c78049e672c9c5191ed73a6e03e2d6ca1e06d59d40f2c7c"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "call_9f21",
      "traceId": "call_9f21",
      "actor": {
        "kind": "agent",
        "id": "appointment-setter",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-voice",
        "modality": "voice"
      },
      "eventId": "evt_call_end_e14aa5d45d5c",
      "ts": "2026-08-19T18:16:55.420Z",
      "actionType": "lifecycle",
      "action": "call_ended",
      "outcome": "ok",
      "cost": {
        "currency": "USD",
        "total": 0.039400000000000004,
        "attributionComplete": true,
        "breakdown": {
          "toolUsage": 0.021,
          "output": 0.006,
          "input": 0.003
        }
      },
      "art12": {
        "periodStart": "2026-08-19T18:14:25.420Z",
        "periodEnd": "2026-08-19T18:16:55.420Z"
      },
      "seq": 41,
      "prevHash": "sha256:61710f41e20b9b2b0c78049e672c9c5191ed73a6e03e2d6ca1e06d59d40f2c7c",
      "eventHash": "sha256:90b67e26e4d75f2fbe7de46b05793fbeee87fb2b159c236688830d7a9e1492a7"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "call_9f22",
      "traceId": "call_9f22",
      "actor": {
        "kind": "agent",
        "id": "appointment-setter",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-voice",
        "modality": "voice"
      },
      "eventId": "evt_call_start_1e3fa96c7add",
      "ts": "2026-08-19T18:18:45.420Z",
      "actionType": "lifecycle",
      "action": "call_started",
      "outcome": "ok",
      "onBehalfOf": {
        "endUser": "cust-209"
      },
      "art12": {
        "periodStart": "2026-08-19T18:18:45.420Z",
        "humansInvolved": []
      },
      "seq": 42,
      "prevHash": "sha256:90b67e26e4d75f2fbe7de46b05793fbeee87fb2b159c236688830d7a9e1492a7",
      "eventHash": "sha256:a839d217a595ff29a8cecdaa707fad60589f2c472b1e0d2172301d4ccd664e9d"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "call_9f22",
      "traceId": "call_9f22",
      "actor": {
        "kind": "agent",
        "id": "appointment-setter",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-voice",
        "modality": "voice"
      },
      "eventId": "evt_turn_0_09fbe5337526",
      "ts": "2026-08-19T18:18:50.420Z",
      "actionType": "decision",
      "action": "agent_turn",
      "outcome": "ok",
      "outputHash": "sha256:12507bef01e55dea4443dd0cd8f3e81f13defb199f618f84d237e9d498959733",
      "seq": 43,
      "prevHash": "sha256:a839d217a595ff29a8cecdaa707fad60589f2c472b1e0d2172301d4ccd664e9d",
      "eventHash": "sha256:8c133351906375d12d4cb8104fea379fdf5c406640a22c0fd03bbc4c84baf4b4"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "call_9f22",
      "traceId": "call_9f22",
      "actor": {
        "kind": "agent",
        "id": "appointment-setter",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-voice",
        "modality": "voice"
      },
      "eventId": "evt_call_end_587c38db7dc4",
      "ts": "2026-08-19T18:20:20.420Z",
      "actionType": "lifecycle",
      "action": "call_ended",
      "outcome": "ok",
      "cost": {
        "currency": "USD",
        "total": 0.0201,
        "attributionComplete": true,
        "breakdown": {
          "toolUsage": 0.014,
          "output": 0,
          "input": 0
        }
      },
      "art12": {
        "periodStart": "2026-08-19T18:18:45.420Z",
        "periodEnd": "2026-08-19T18:20:20.420Z"
      },
      "seq": 44,
      "prevHash": "sha256:8c133351906375d12d4cb8104fea379fdf5c406640a22c0fd03bbc4c84baf4b4",
      "eventHash": "sha256:c98b6cca07819f631009afa6d61f558f8e2f9845e2d53ede332afcc0d9e6567e"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "sess_build_412",
      "traceId": "sess_build_412",
      "actor": {
        "kind": "agent",
        "id": "release-agent",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-code",
        "modality": "code"
      },
      "onBehalfOf": {
        "humanId": "dev@lender.io"
      },
      "eventId": "evt_code_start_72b08f6bc1e0",
      "ts": "2026-08-19T18:23:45.420Z",
      "actionType": "lifecycle",
      "action": "session_started",
      "outcome": "ok",
      "seq": 45,
      "prevHash": "sha256:c98b6cca07819f631009afa6d61f558f8e2f9845e2d53ede332afcc0d9e6567e",
      "eventHash": "sha256:f121c169821562689c6171c083e9116514fa247529e7840b5abc167bc0ec3dee"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "sess_build_412",
      "traceId": "sess_build_412",
      "actor": {
        "kind": "agent",
        "id": "release-agent",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-code",
        "modality": "code"
      },
      "onBehalfOf": {
        "humanId": "dev@lender.io"
      },
      "eventId": "evt_act_0_fce8e4499d86",
      "ts": "2026-08-19T18:23:55.420Z",
      "actionType": "tool_call",
      "action": "shell",
      "outcome": "ok",
      "inputHash": "sha256:c9e8ec0b2dabf0504d28567460712742f2290b00cfbc5dd774d60dd2a5f02a2b",
      "outputHash": "sha256:d663585bd59eaad9e930c2de03e2b669f63119d43a894738bd0928967b769388",
      "seq": 46,
      "prevHash": "sha256:f121c169821562689c6171c083e9116514fa247529e7840b5abc167bc0ec3dee",
      "eventHash": "sha256:cabc3a753bbbb0e0183cd873ca3911d9c28bd4a68e3a237d10c0a68f54c6709f"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "sess_build_412",
      "traceId": "sess_build_412",
      "actor": {
        "kind": "agent",
        "id": "release-agent",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-code",
        "modality": "code"
      },
      "onBehalfOf": {
        "humanId": "dev@lender.io"
      },
      "eventId": "evt_act_1_10ed47ca148e",
      "ts": "2026-08-19T18:24:25.420Z",
      "actionType": "tool_call",
      "action": "write_file",
      "outcome": "ok",
      "inputHash": "sha256:b48198f121b197dcd5eb36315d8dc6acf2cce2534530a901f484ac28772121d5",
      "seq": 47,
      "prevHash": "sha256:cabc3a753bbbb0e0183cd873ca3911d9c28bd4a68e3a237d10c0a68f54c6709f",
      "eventHash": "sha256:eb6266c36391386bf6982811c7dc5cf9a86c3e156ac0e175ed383b108e368e75"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "sess_build_412",
      "traceId": "sess_build_412",
      "actor": {
        "kind": "agent",
        "id": "release-agent",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-code",
        "modality": "code"
      },
      "onBehalfOf": {
        "humanId": "dev@lender.io"
      },
      "eventId": "evt_act_2_4839f88fdd47",
      "ts": "2026-08-19T18:24:35.420Z",
      "actionType": "tool_call",
      "action": "write_file",
      "outcome": "blocked",
      "inputHash": "sha256:61b177c7eaeaf2e1ebe55ae35b1d4fbb7461a07aedb213bfbed802f7c4d6188d",
      "policy": {
        "decision": "deny",
        "policyId": "tool-allowlist",
        "policyVersion": "1",
        "engine": "auditant-cedar/1",
        "reasons": [
          "tool \"write_file\" is not in this agent's grant"
        ]
      },
      "seq": 48,
      "prevHash": "sha256:eb6266c36391386bf6982811c7dc5cf9a86c3e156ac0e175ed383b108e368e75",
      "eventHash": "sha256:5d24b542373ab0dbeb4ff7cfe2b42868b5da79ab074e677af767066d133b0ef7"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "sess_build_412",
      "traceId": "sess_build_412",
      "actor": {
        "kind": "agent",
        "id": "release-agent",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "effect",
        "adapter": "git",
        "modality": "code"
      },
      "onBehalfOf": {
        "humanId": "dev@lender.io"
      },
      "eventId": "evt_commit_2a61a33ce6af",
      "ts": "2026-08-19T18:23:45.420Z",
      "actionType": "tool_call",
      "action": "git_commit",
      "outcome": "ok",
      "outputHash": "sha256:de57db415f6d64b9a77263f479f208685d5cfbb886e5302e7bb916aac77361e4",
      "inputHash": "sha256:c88aee87b646247a7df2a67f3c607bf8f0f33c446ede3b1d3e45a52dd6b72ea6",
      "seq": 49,
      "prevHash": "sha256:5d24b542373ab0dbeb4ff7cfe2b42868b5da79ab074e677af767066d133b0ef7",
      "eventHash": "sha256:3f79dd0e6bff0c1de515060da37526c3ea220aaecd9567e48fd7f9b783bd11ff"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "sess_build_412",
      "traceId": "sess_build_412",
      "actor": {
        "kind": "agent",
        "id": "release-agent",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "effect",
        "adapter": "git",
        "modality": "code"
      },
      "onBehalfOf": {
        "humanId": "dev@lender.io"
      },
      "eventId": "evt_merge_ef60ecab7841",
      "ts": "2026-08-19T18:25:45.420Z",
      "actionType": "human_override",
      "action": "pull_request_merged",
      "outcome": "ok",
      "approvedBy": {
        "humanId": "dev@lender.io",
        "at": "2026-08-19T18:25:45.420Z"
      },
      "outputHash": "sha256:bc3085bb22692b471b55d5406b10da8ab2091274cb74f6d5132b627a89183c70",
      "seq": 50,
      "prevHash": "sha256:3f79dd0e6bff0c1de515060da37526c3ea220aaecd9567e48fd7f9b783bd11ff",
      "eventHash": "sha256:a10a29e6b7ed22978a0a799adbf7875d778613d29d6544d4e3b21772c3171ce3"
    },
    {
      "schemaVersion": "1.0.0",
      "logId": "tenant_acme/prod",
      "sessionId": "sess_build_412",
      "traceId": "sess_build_412",
      "actor": {
        "kind": "agent",
        "id": "release-agent",
        "mode": "autonomous"
      },
      "surface": {
        "plane": "edge",
        "adapter": "vendor-code",
        "modality": "code"
      },
      "onBehalfOf": {
        "humanId": "dev@lender.io"
      },
      "eventId": "evt_code_end_1b526d51a348",
      "ts": "2026-08-19T18:23:45.420Z",
      "actionType": "lifecycle",
      "action": "session_ended",
      "outcome": "ok",
      "art12": {
        "periodStart": "2026-08-19T18:23:45.420Z",
        "periodEnd": "2026-08-19T18:23:45.420Z",
        "humansInvolved": [
          "dev@lender.io",
          "dev@lender.io"
        ]
      },
      "seq": 51,
      "prevHash": "sha256:a10a29e6b7ed22978a0a799adbf7875d778613d29d6544d4e3b21772c3171ce3",
      "eventHash": "sha256:2fd953f5d4ab6fbad74de0c2ccbcb52184d37b2829e59f8686099992ad3f6d15"
    }
  ],
  "checkpoints": [
    {
      "checkpoint": {
        "origin": "auditant.dev/tenant_acme/prod",
        "treeSize": 22,
        "headHash": "sha256:c1ab82cfdafade9f988831610b543b61e3bb66e415c0da39ae99f61627846cb1",
        "timestamp": "2026-08-14T15:26:56.700Z"
      },
      "body": "attestable.dev/tenant_acme/prod\n22\nwauCz9r63p+YiDFhC1Q7YeO7ZuQVwNo5rpn2FieEbLE=\n",
      "keyId": "attestable-b25066d53d5b",
      "signature": "MEYCIQCv2/4+uTfuhT+0gfis/Wabu+VglCz11k6S/mRrwFTNsAIhAJTnMaK1qm0YfObQYp/jdOiOk71M2XDb4pezc5pZ+YHx",
      "wormAnchored": false
    },
    {
      "checkpoint": {
        "origin": "auditant.dev/tenant_acme/prod",
        "treeSize": 24,
        "headHash": "sha256:af9f6bf3f97f4a0be4fc0184f01b27203f349d426b548acde73ab2ade00bc063",
        "timestamp": "2026-08-14T15:31:43.943Z"
      },
      "body": "attestable.dev/tenant_acme/prod\n24\nr59r8/l/Sgvk/AGE8BsnID80nUJrVIrN5zqyreALwGM=\n",
      "keyId": "attestable-b25066d53d5b",
      "signature": "MEYCIQC3w/ATBG3yKsDKsYiO1c7VRZ7AJ3F58eviriVzBc+j0AIhAPYnCtG0ZzX2LpHi8g/niWTGBCcO8gzs+oEhjNgnV2jx",
      "wormAnchored": false
    },
    {
      "checkpoint": {
        "origin": "auditant.dev/tenant_acme/prod",
        "treeSize": 25,
        "headHash": "sha256:f6550147ed540ff5e8070cc766701b8808a695a44d84c92702e2de9e6e3b20d1",
        "timestamp": "2026-08-15T16:41:46.256Z"
      },
      "body": "attestable.dev/tenant_acme/prod\n25\n9lUBR+1UD/XoBwzHZnAbiAimlaRNhMknAuLenm47INE=\n",
      "keyId": "attestable-b25066d53d5b",
      "signature": "MEYCIQDKx/iuUafgCrm1mJlGm0YQqZ3xs0ZHA07H4FcphuUu5QIhAJdgOohMxcxTCcJ/RqrDY5m5aUM2nISG6RP67vHRT1Q+",
      "wormAnchored": false
    },
    {
      "checkpoint": {
        "origin": "auditant.dev/tenant_acme/prod",
        "treeSize": 27,
        "headHash": "sha256:28012f732f28deef41f3174e8685b7cea31234ef3211e0a08732415f479ab3c4",
        "timestamp": "2026-08-15T16:58:17.730Z"
      },
      "body": "attestable.dev/tenant_acme/prod\n27\nKAEvcy8o3u9B8xdOhoW3zqMSNO8yEeCghzJBX0eas8Q=\n",
      "keyId": "attestable-1f22611c5644",
      "signature": "MEYCIQCZNkMrLPdLrnmj4S1HJOGjPHZrf2ffO+UC29fEsZ4EIwIhAP2F6mjVw0Y0++0SLdsZQiE4wlAdg6tHC4exJaGHv2GP",
      "timestampToken": "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",
      "wormAnchored": false
    },
    {
      "checkpoint": {
        "origin": "auditant.dev/tenant_acme/prod",
        "treeSize": 28,
        "headHash": "sha256:87e84476fbad42dc7fc045ac1bbbf63b984b2b7c97365d1d8dc2871b28404ea5",
        "timestamp": "2026-08-16T10:01:58.811Z"
      },
      "body": "attestable.dev/tenant_acme/prod\n28\nh+hEdvutQtx/wEWsG7v2O5hLK3yXNl0djcKHGyhATqU=\n",
      "keyId": "attestable-54085e8a8656",
      "signature": "MEYCIQC2Ia4lPUMAWJv8bgdJ6UIhqWyxfIOXd88PJYiQh2rrvwIhAJyeudCnidkLH3jJm8lBljgNa+B2VuDLl9ezNUTVstkK",
      "timestampToken": "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",
      "wormAnchored": false
    },
    {
      "checkpoint": {
        "origin": "auditant.dev/tenant_acme/prod",
        "treeSize": 30,
        "headHash": "sha256:bef0b34e38662a9ac2b0ef8803d8173b17aafd060005a2dc96e3a6701b91700d",
        "timestamp": "2026-08-16T10:36:16.380Z"
      },
      "body": "attestable.dev/tenant_acme/prod\n30\nvvCzTjhmKprCsO+IA9gXOxeq/QYABaLcluOmcBuRcA0=\n",
      "keyId": "attestable-ec90224cbe71",
      "signature": "MEYCIQCY3Fyri9OgSQu9aLmhxuP0n6pi7hicI5F9RZJ2gsVg5QIhAK9B2gQDzc7qT8/sHlpgACx+5JvMVe9WRxJbwSVD66nR",
      "timestampToken": "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",
      "wormAnchored": false
    },
    {
      "checkpoint": {
        "origin": "auditant.dev/tenant_acme/prod",
        "treeSize": 52,
        "headHash": "sha256:2fd953f5d4ab6fbad74de0c2ccbcb52184d37b2829e59f8686099992ad3f6d15",
        "timestamp": "2026-08-19T20:13:45.444Z"
      },
      "body": "auditant.dev/tenant_acme/prod\n52\nL9lT9dSrb7rXTeDCzLy1IYTTeygp5Z+GhgmZkq0/bRU=\n",
      "keyId": "auditant-f8c74da45461",
      "signature": "MEYCIQDWH1jMSsC7xf0fS9FbTZ6zQsnej5N75O2z4MJzvBUxJwIhAOaLstVF3t1NZAPwe98hv+qrlpDxJCZYr3MiO8JbJfQH",
      "wormAnchored": false
    }
  ],
  "publicKeys": [
    {
      "keyId": "attestable-b25066d53d5b",
      "pem": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEv0tDQUUkvHF3JxnnLIyEHkf07Oec\nIoIVlZKGUWx4jjRlZoTldm+uHkj0Pnuz5eYfX0RxLYazYbqA125+nRLGuA==\n-----END PUBLIC KEY-----\n"
    },
    {
      "keyId": "attestable-5645354b28b7",
      "pem": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvpCIhQnkjwifnTlq/hZ7Di4S+HWQ\nVaqGcZWnASFBglCQ57QQO+WJ4igigZCEyb6F6orPGM8HapvryWYCLb0sZA==\n-----END PUBLIC KEY-----\n"
    },
    {
      "keyId": "attestable-1f22611c5644",
      "pem": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGQLzqbrtEr3CnqEdg0q99sTfxp0I\nNQuZ+dKbjFMSlPPIp5BoLpH6fS7/7GF7dANizE6N1kn+EmkSDD6vJllcNQ==\n-----END PUBLIC KEY-----\n"
    },
    {
      "keyId": "attestable-54085e8a8656",
      "pem": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWuRChW10ezibHdsRndd0SCuCiQpy\nT4udJB0B4VlcDsDIif3MI1mGL4NSNeSK+LeBUU+iI20rfDmZlfmz6EHuvw==\n-----END PUBLIC KEY-----\n"
    },
    {
      "keyId": "attestable-28e4bfbbdc22",
      "pem": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE9hhlUY+YpfzMfI/uinNCtBdiMUkV\nGmWwEHV2ppUiZuO0YmKJaQGsEOI7BOy3g6N6QC7519zigSQXL1IcumKC8A==\n-----END PUBLIC KEY-----\n"
    },
    {
      "keyId": "attestable-9e793a94bbf8",
      "pem": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEnbtWUuB/A/rN0djY8SS2WWaQnmZ+\ncrUr0SfleT3G0fnCuQB6yXLUPJe4kYPoZ+FiT5ZkSlcxdXqS0J2u3uAkUA==\n-----END PUBLIC KEY-----\n"
    },
    {
      "keyId": "attestable-055ccb166437",
      "pem": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEEFp7gqFdTB71u53ZM0vO77otPpHy\nfLr+yfLL+aFtl0TWx/jyNUJMpzY8jMPAOrLGPJrX1The7nKhNgjXJ+mNbA==\n-----END PUBLIC KEY-----\n"
    },
    {
      "keyId": "attestable-ec90224cbe71",
      "pem": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEEhV4Us5fev02Qgh1lJDMtfl+uWrn\n/CfJDLJTY4JyVx1xNw4q5hxPkuKrzGwXCp3h0h6CLM4O3rPUkGuyQRMmKQ==\n-----END PUBLIC KEY-----\n"
    },
    {
      "keyId": "auditant-ec90224cbe71",
      "pem": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEEhV4Us5fev02Qgh1lJDMtfl+uWrn\n/CfJDLJTY4JyVx1xNw4q5hxPkuKrzGwXCp3h0h6CLM4O3rPUkGuyQRMmKQ==\n-----END PUBLIC KEY-----\n"
    },
    {
      "keyId": "auditant-f8c74da45461",
      "pem": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0KIFTEBE+CNXKJq+P30q6BZkAhVG\nT6uS3k2if1y5kkA/0fds18yNmw6kN+UOGa8zRMD45n5wWeU74L57zZ4Ljw==\n-----END PUBLIC KEY-----\n"
    }
  ],
  "verifier": "#!/usr/bin/env node\n// Auditant standalone verifier — generated from packages/cli/src/standalone.ts; regenerate with: pnpm --filter @auditant/cli build:standalone\n\n// src/verify.ts\nimport { readFile } from \"node:fs/promises\";\n\n// ../core/src/canonical.ts\nvar CanonicalizationError = class extends Error {\n  constructor(message, path) {\n    super(`${message} (at ${path || \"$\"})`);\n    this.path = path;\n    this.name = \"CanonicalizationError\";\n  }\n};\nfunction canonicalizeString(value) {\n  let out = '\"';\n  for (const char of value) {\n    const code = char.codePointAt(0);\n    switch (char) {\n      case '\"':\n        out += '\\\\\"';\n        break;\n      case \"\\\\\":\n        out += \"\\\\\\\\\";\n        break;\n      case \"\\b\":\n        out += \"\\\\b\";\n        break;\n      case \"\\f\":\n        out += \"\\\\f\";\n        break;\n      case \"\\n\":\n        out += \"\\\\n\";\n        break;\n      case \"\\r\":\n        out += \"\\\\r\";\n        break;\n      case \"\t\":\n        out += \"\\\\t\";\n        break;\n      default:\n        if (code < 32) {\n          out += \"\\\\u\" + code.toString(16).padStart(4, \"0\");\n        } else {\n          out += char;\n        }\n    }\n  }\n  return out + '\"';\n}\nfunction canonicalizeNumber(value, path) {\n  if (!Number.isFinite(value)) {\n    throw new CanonicalizationError(\n      `Non-finite number (${value}) cannot be canonicalized`,\n      path\n    );\n  }\n  if (Object.is(value, -0)) return \"0\";\n  if (!Number.isSafeInteger(value) && Number.isInteger(value)) {\n    throw new CanonicalizationError(\n      `Integer ${value} exceeds safe range; use a string to preserve precision`,\n      path\n    );\n  }\n  return String(value);\n}\nfunction compareCodeUnits(a, b) {\n  return a < b ? -1 : a > b ? 1 : 0;\n}\nfunction serialize(value, path) {\n  if (value === null) return \"null\";\n  switch (typeof value) {\n    case \"boolean\":\n      return value ? \"true\" : \"false\";\n    case \"number\":\n      return canonicalizeNumber(value, path);\n    case \"string\":\n      return canonicalizeString(value);\n    case \"bigint\":\n      throw new CanonicalizationError(\n        \"BigInt is not JSON-representable; serialize it as a string\",\n        path\n      );\n    case \"undefined\":\n      throw new CanonicalizationError(\n        \"undefined is not JSON-representable; omit the key or use null\",\n        path\n      );\n    case \"function\":\n    case \"symbol\":\n      throw new CanonicalizationError(`${typeof value} is not JSON-representable`, path);\n  }\n  if (Array.isArray(value)) {\n    const items = value.map((item, i) => serialize(item, `${path}[${i}]`));\n    return \"[\" + items.join(\",\") + \"]\";\n  }\n  const proto = Object.getPrototypeOf(value);\n  if (proto !== Object.prototype && proto !== null) {\n    const name = value?.constructor?.name ?? \"object\";\n    throw new CanonicalizationError(\n      `${name} is not a plain object; convert it before hashing`,\n      path\n    );\n  }\n  const record = value;\n  const keys = Object.keys(record).filter((key) => record[key] !== void 0).sort(compareCodeUnits);\n  const members = keys.map(\n    (key) => canonicalizeString(key) + \":\" + serialize(record[key], path ? `${path}.${key}` : key)\n  );\n  return \"{\" + members.join(\",\") + \"}\";\n}\nfunction canonicalize(value) {\n  return serialize(value, \"\");\n}\n\n// ../core/src/schema.ts\nvar GENESIS_HASH = \"sha256:\" + \"0\".repeat(64);\n\n// ../core/src/chain.ts\nimport { createHash } from \"node:crypto\";\nfunction sha256(data) {\n  return \"sha256:\" + createHash(\"sha256\").update(data).digest(\"hex\");\n}\nfunction hashEvent(event) {\n  const { eventHash: _ignored, ...payload } = event;\n  return sha256(canonicalize(payload));\n}\nvar ChainError = class extends Error {\n  constructor(message, seq, kind = \"hash\") {\n    super(message);\n    this.seq = seq;\n    this.kind = kind;\n    this.name = \"ChainError\";\n  }\n};\nfunction verifyChain(events, opts = {}) {\n  const failures = [];\n  if (events.length === 0) {\n    return { ok: true, verified: 0, head: opts.expectedStart, failures };\n  }\n  const logId = events[0].logId;\n  let expectedSeq = opts.expectedStart?.treeSize ?? events[0].seq;\n  let expectedPrev = opts.expectedStart?.headHash ?? events[0].prevHash;\n  let verified = 0;\n  for (const event of events) {\n    if (event.logId !== logId) {\n      failures.push(\n        new ChainError(\n          `Event ${event.seq} belongs to log \"${event.logId}\", expected \"${logId}\"`,\n          event.seq,\n          \"log_id\"\n        )\n      );\n    }\n    if (event.seq !== expectedSeq) {\n      failures.push(\n        new ChainError(\n          `Sequence gap: expected ${expectedSeq}, found ${event.seq}`,\n          event.seq,\n          \"sequence\"\n        )\n      );\n      expectedSeq = event.seq;\n    }\n    if (event.prevHash !== expectedPrev) {\n      failures.push(\n        new ChainError(\n          `Broken link at ${event.seq}: prevHash ${short(event.prevHash)} does not match previous eventHash ${short(expectedPrev)}`,\n          event.seq,\n          \"link\"\n        )\n      );\n    }\n    const recomputed = hashEvent(event);\n    if (recomputed !== event.eventHash) {\n      failures.push(\n        new ChainError(\n          `Content altered at ${event.seq}: stored ${short(event.eventHash)}, recomputed ${short(recomputed)}`,\n          event.seq,\n          \"hash\"\n        )\n      );\n    } else {\n      verified += 1;\n    }\n    expectedSeq = event.seq + 1;\n    expectedPrev = event.eventHash;\n  }\n  const last = events[events.length - 1];\n  return {\n    ok: failures.length === 0,\n    verified,\n    head: { logId, treeSize: last.seq + 1, headHash: last.eventHash },\n    failures\n  };\n}\nfunction short(hash) {\n  const hex = hash.startsWith(\"sha256:\") ? hash.slice(7) : hash;\n  return hex.slice(0, 12) + \"\\u2026\";\n}\n\n// ../core/src/checkpoint.ts\nimport { createSign, createVerify, createPublicKey } from \"node:crypto\";\nvar CHECKPOINT_ORIGIN_PREFIX = \"auditant.dev\";\nfunction originFor(logId) {\n  return `${CHECKPOINT_ORIGIN_PREFIX}/${logId}`;\n}\nfunction toBase64(hash) {\n  const hex = hash.startsWith(\"sha256:\") ? hash.slice(7) : hash;\n  return Buffer.from(hex, \"hex\").toString(\"base64\");\n}\nfunction checkpointBody(checkpoint) {\n  return [checkpoint.origin, String(checkpoint.treeSize), toBase64(checkpoint.headHash), \"\"].join(\n    \"\\n\"\n  );\n}\nfunction verifyCheckpoint(signed, publicKeyPem) {\n  const reasons = [];\n  const expectedBody = checkpointBody(signed.checkpoint);\n  const bodyMatches = expectedBody === signed.body;\n  if (!bodyMatches) {\n    reasons.push(\n      \"Checkpoint fields do not serialise to the signed body \\u2014 the signature covers different content than the fields claim\"\n    );\n  }\n  let signatureValid = false;\n  try {\n    const verifier = createVerify(\"SHA256\");\n    verifier.update(signed.body);\n    verifier.end();\n    signatureValid = verifier.verify(\n      createPublicKey(publicKeyPem),\n      Buffer.from(signed.signature, \"base64\")\n    );\n    if (!signatureValid) {\n      reasons.push(`Signature does not verify under key \"${signed.keyId}\"`);\n    }\n  } catch (err) {\n    reasons.push(`Signature could not be checked: ${err.message}`);\n  }\n  const timestamped = signed.timestampToken ? true : void 0;\n  if (!signed.timestampToken) {\n    reasons.push(\n      \"No RFC 3161 timestamp attached: existence before a given time is unproven\"\n    );\n  }\n  return {\n    ok: bodyMatches && signatureValid,\n    signatureValid,\n    bodyMatches,\n    timestamped,\n    reasons\n  };\n}\nfunction checkpointCoversHead(checkpoint, head) {\n  return checkpoint.origin === originFor(head.logId) && checkpoint.treeSize === head.treeSize && checkpoint.headHash === head.headHash;\n}\n\n// ../core/src/bundle.ts\nfunction verifyBundle(bundle) {\n  const summary = [];\n  const chain = verifyChain(bundle.events, { expectedStart: bundle.startHead });\n  if (!chain.ok) {\n    for (const failure of chain.failures) {\n      summary.push(`FAIL seq ${failure.seq}: ${failure.message}`);\n    }\n    return {\n      ok: false,\n      assurance: \"broken\",\n      chain,\n      checkpoints: [],\n      anchoredThroughSeq: -1,\n      summary\n    };\n  }\n  summary.push(\n    `Chain verified: ${chain.verified} event${chain.verified === 1 ? \"\" : \"s\"}, sequence ${bundle.events[0]?.seq ?? 0}\\u2013${bundle.events[bundle.events.length - 1]?.seq ?? 0}`\n  );\n  const keysById = new Map(bundle.publicKeys.map((k) => [k.keyId, k]));\n  const headAt = /* @__PURE__ */ new Map();\n  for (const event of bundle.events) {\n    headAt.set(event.seq + 1, event.eventHash);\n  }\n  const checkpoints = bundle.checkpoints.map((signed) => {\n    const key = keysById.get(signed.keyId);\n    const verification = key ? verifyCheckpoint(signed, key.pem) : {\n      ok: false,\n      signatureValid: false,\n      bodyMatches: false,\n      reasons: [`No public key in bundle for keyId \"${signed.keyId}\"`]\n    };\n    const recomputedHead = headAt.get(signed.checkpoint.treeSize);\n    const coversChain = recomputedHead !== void 0 && checkpointCoversHead(signed.checkpoint, {\n      logId: bundle.logId,\n      treeSize: signed.checkpoint.treeSize,\n      headHash: recomputedHead\n    });\n    return { treeSize: signed.checkpoint.treeSize, verification, coversChain };\n  });\n  let anchoredThroughSize = 0;\n  let anyTimestamped = false;\n  for (const entry of checkpoints) {\n    if (entry.verification.ok && entry.coversChain) {\n      anchoredThroughSize = Math.max(anchoredThroughSize, entry.treeSize);\n      if (entry.verification.timestamped) anyTimestamped = true;\n    } else {\n      const why = entry.verification.reasons.join(\"; \");\n      summary.push(\n        `Checkpoint at size ${entry.treeSize} not counted` + (entry.coversChain ? \"\" : \" (does not match the recomputed chain)\") + (why ? `: ${why}` : \"\")\n      );\n    }\n  }\n  const anchoredThroughSeq = anchoredThroughSize - 1;\n  let assurance;\n  if (anchoredThroughSize === 0) {\n    assurance = \"unanchored\";\n    summary.push(\n      \"No valid checkpoint covers these events: the chain is internally consistent, but nothing pins it to an external party.\"\n    );\n  } else {\n    assurance = anyTimestamped ? \"timestamped\" : \"signed\";\n    summary.push(\n      `Anchored through sequence ${anchoredThroughSeq} (${anchoredThroughSize} event${anchoredThroughSize === 1 ? \"\" : \"s\"})` + (anyTimestamped ? \", countersigned by a timestamp authority\" : \", signature only\")\n    );\n    const unanchored = bundle.events.filter((e) => e.seq > anchoredThroughSeq).length;\n    if (unanchored > 0) {\n      summary.push(\n        `${unanchored} event${unanchored === 1 ? \"\" : \"s\"} after the last checkpoint are within the exposure window and not yet anchored.`\n      );\n    }\n  }\n  return {\n    ok: true,\n    assurance,\n    chain,\n    checkpoints,\n    anchoredThroughSeq,\n    summary\n  };\n}\n\n// src/verify.ts\nvar EXIT = {\n  /** Chain verified and anchored. */\n  OK: 0,\n  /** Tampering found, or the bundle could not be read. */\n  TAMPERED: 1,\n  /** Usage error — bad arguments, unreadable file. */\n  USAGE: 2,\n  /** Chain is internally consistent but nothing anchors it. */\n  UNANCHORED: 3\n};\nvar GREEN = \"\\x1B[32m\";\nvar RED = \"\\x1B[31m\";\nvar YELLOW = \"\\x1B[33m\";\nvar DIM = \"\\x1B[2m\";\nvar BOLD = \"\\x1B[1m\";\nvar RESET = \"\\x1B[0m\";\nfunction paint(text, color, enabled) {\n  return enabled ? `${color}${text}${RESET}` : text;\n}\nasync function loadBundle(path) {\n  const raw = await readFile(path, \"utf8\");\n  let parsed;\n  try {\n    parsed = JSON.parse(raw);\n  } catch (err) {\n    throw new Error(`${path} is not valid JSON: ${err.message}`);\n  }\n  const bundle = parsed;\n  if (!bundle || !Array.isArray(bundle.events)) {\n    throw new Error(`${path} does not look like an Auditant bundle (no events array)`);\n  }\n  return bundle;\n}\nfunction renderReport(bundle, result, color) {\n  const lines = [];\n  const rule = \"\\u2500\".repeat(64);\n  lines.push(paint(\"Auditant \\u2014 verification report\", BOLD, color));\n  lines.push(paint(rule, DIM, color));\n  lines.push(`Log       ${bundle.logId}`);\n  lines.push(`Period    ${bundle.from}  \\u2192  ${bundle.to}`);\n  lines.push(`Events    ${bundle.events.length}`);\n  lines.push(`Exported  ${bundle.exportedAt}`);\n  lines.push(\"\");\n  switch (result.assurance) {\n    case \"broken\":\n      lines.push(paint(\"\\u2717 TAMPERED \\u2014 this record has been altered\", RED + BOLD, color));\n      break;\n    case \"unanchored\":\n      lines.push(\n        paint(\"\\u26A0 CONSISTENT BUT UNANCHORED \\u2014 no external proof of time\", YELLOW + BOLD, color)\n      );\n      break;\n    case \"signed\":\n      lines.push(paint(\"\\u2713 VERIFIED \\u2014 chain intact, checkpoints signed\", GREEN + BOLD, color));\n      break;\n    case \"timestamped\":\n      lines.push(\n        paint(\"\\u2713 VERIFIED \\u2014 chain intact, checkpoints signed and timestamped\", GREEN + BOLD, color)\n      );\n      break;\n  }\n  lines.push(\"\");\n  for (const line of result.summary) {\n    const isFailure = line.startsWith(\"FAIL\");\n    lines.push(`  ${isFailure ? paint(line, RED, color) : line}`);\n  }\n  if (!result.chain.ok) {\n    lines.push(\"\");\n    lines.push(paint(\"What this means\", BOLD, color));\n    lines.push(\n      \"  One or more events do not match their recorded hash. Either the\"\n    );\n    lines.push(\n      \"  stored records were modified after the fact, or the export is\"\n    );\n    lines.push(\"  corrupt. Treat this log as unreliable until explained.\");\n  }\n  lines.push(\"\");\n  lines.push(paint(rule, DIM, color));\n  lines.push(\n    paint(\n      \"Verification proves the records are unaltered since their checkpoint.\\nIt does not prove completeness: an action never captured is not here.\",\n      DIM,\n      color\n    )\n  );\n  return lines.join(\"\\n\");\n}\nasync function runVerify(path, opts = {}, color = true) {\n  const bundle = await loadBundle(path);\n  const result = verifyBundle(bundle);\n  if (opts.json) {\n    return {\n      exitCode: exitCodeFor(result),\n      output: JSON.stringify(\n        {\n          logId: bundle.logId,\n          events: bundle.events.length,\n          assurance: result.assurance,\n          ok: result.ok,\n          anchoredThroughSeq: result.anchoredThroughSeq,\n          failures: result.chain.failures.map((f) => ({\n            seq: f.seq,\n            kind: f.kind,\n            message: f.message\n          })),\n          summary: result.summary\n        },\n        null,\n        2\n      )\n    };\n  }\n  return { exitCode: exitCodeFor(result), output: renderReport(bundle, result, color) };\n}\nfunction exitCodeFor(result) {\n  if (!result.ok) return EXIT.TAMPERED;\n  if (result.assurance === \"unanchored\") return EXIT.UNANCHORED;\n  return EXIT.OK;\n}\n\n// src/standalone.ts\nvar USAGE = `Auditant standalone verifier\n\nUSAGE\n  node verify.mjs <bundle.json> [--json] [--no-color]\n\nThis file was extracted from an Auditant evidence bundle. It recomputes the\nhash chain, validates every checkpoint signature against the public keys in\nthe bundle, and reports what is proven \\u2014 entirely offline, using only\nNode.js builtins. Exit 0: verified and anchored. 1: tampered. 3: intact but\nunanchored.\n`;\nasync function main(argv) {\n  const args = argv.slice(2);\n  const path = args.find((a) => !a.startsWith(\"-\"));\n  if (!path) {\n    process.stderr.write(USAGE);\n    return EXIT.USAGE;\n  }\n  const color = !args.includes(\"--no-color\") && !process.env.NO_COLOR && process.stdout.isTTY === true;\n  try {\n    const { exitCode, output } = await runVerify(\n      path,\n      // Always offline: the whole point of this file is needing nothing.\n      { offline: true, json: args.includes(\"--json\") },\n      color\n    );\n    process.stdout.write(output + \"\\n\");\n    return exitCode;\n  } catch (err) {\n    process.stderr.write(`verify: ${err.message}\n`);\n    return EXIT.USAGE;\n  }\n}\nmain(process.argv).then(\n  (code) => {\n    process.exitCode = code;\n  },\n  (err) => {\n    process.stderr.write(`verify: unexpected failure: ${err?.message ?? err}\n`);\n    process.exitCode = EXIT.TAMPERED;\n  }\n);\n",
  "readme": "Auditant evidence bundle\n==========================\n\nLog:      tenant_acme/prod\nPeriod:   1970-01-01T00:00:00.000Z to 2026-08-19T21:59:32.773Z\nExported: 2026-08-19T21:59:32.773Z\nEvents:   52\nFormat:   bundle v1.0.0\n\nWHAT THIS IS\n------------\nA tamper-evident record of what a company's AI agents did during the period\nabove. Each event carries the hash of the event before it, so altering any\nevent breaks every hash after it. At intervals the chain head is signed and\nexternally timestamped; from that moment the events it covers are frozen.\n\nHOW TO CHECK IT YOURSELF\n------------------------\nYou do not need an account, network access, a package registry, or anything\nfrom Auditant — the bundle carries its own verifier. With Node.js installed:\n\n    node -e \"const b=require('./bundle.json');require('fs').writeFileSync('verify.mjs',b.verifier)\"\n    node verify.mjs ./bundle.json\n\nThe verifier recomputes every hash from the raw events, checks each link,\nvalidates the checkpoint signatures against the public keys included here,\nand prints what is proven and what is not. It is a single file using only\nNode's builtins; skeptical readers should read it, or diff it against the\ncopy in any other Auditant bundle, before running it.\n\nWHAT VERIFICATION PROVES — AND WHAT IT DOES NOT\n-----------------------------------------------\nIt proves the records have not been altered since their checkpoint was\nsigned. Events recorded after the most recent checkpoint are inside the\nexposure window (the checkpoint interval) and are not yet anchored; the\nreport states exactly which those are.\n\nIt does not prove the records are complete. An action that never reached\nAuditant does not appear here. Coverage is a separate question, answered\nby the deployment configuration, not by this file.\n\nFILES\n-----\nevents.json       the audit events, in sequence\ncheckpoints.json  signed chain heads\nkeys.json         public keys for the signatures above\nREADME.txt        this file\n"
}