2:I[2567,["8905","static/chunks/8905-f6f9469353911fb0.js","3143","static/chunks/3143-f3ed02939fea6e75.js","5766","static/chunks/5766-4fe247b65648a8a7.js","7648","static/chunks/7648-34771bb3fdb1b05c.js","5878","static/chunks/5878-a24e9e9351be5527.js","4873","static/chunks/4873-c3ddefc71fade8a6.js","2567","static/chunks/2567-e795bdb7aa0ec206.js","4082","static/chunks/app/(marketing)/guides/ai-agent-audit-trail/page-e15bd34bf825cea5.js"],"MarketingShell"]
3:I[7382,["8905","static/chunks/8905-f6f9469353911fb0.js","3143","static/chunks/3143-f3ed02939fea6e75.js","5766","static/chunks/5766-4fe247b65648a8a7.js","7648","static/chunks/7648-34771bb3fdb1b05c.js","5878","static/chunks/5878-a24e9e9351be5527.js","4873","static/chunks/4873-c3ddefc71fade8a6.js","2567","static/chunks/2567-e795bdb7aa0ec206.js","4082","static/chunks/app/(marketing)/guides/ai-agent-audit-trail/page-e15bd34bf825cea5.js"],"Section"]
4:I[7382,["8905","static/chunks/8905-f6f9469353911fb0.js","3143","static/chunks/3143-f3ed02939fea6e75.js","5766","static/chunks/5766-4fe247b65648a8a7.js","7648","static/chunks/7648-34771bb3fdb1b05c.js","5878","static/chunks/5878-a24e9e9351be5527.js","4873","static/chunks/4873-c3ddefc71fade8a6.js","2567","static/chunks/2567-e795bdb7aa0ec206.js","4082","static/chunks/app/(marketing)/guides/ai-agent-audit-trail/page-e15bd34bf825cea5.js"],"CodeBlock"]
5:I[7382,["8905","static/chunks/8905-f6f9469353911fb0.js","3143","static/chunks/3143-f3ed02939fea6e75.js","5766","static/chunks/5766-4fe247b65648a8a7.js","7648","static/chunks/7648-34771bb3fdb1b05c.js","5878","static/chunks/5878-a24e9e9351be5527.js","4873","static/chunks/4873-c3ddefc71fade8a6.js","2567","static/chunks/2567-e795bdb7aa0ec206.js","4082","static/chunks/app/(marketing)/guides/ai-agent-audit-trail/page-e15bd34bf825cea5.js"],"ButtonLink"]
6:I[4707,[],""]
7:I[6423,[],""]
8:I[4873,["8905","static/chunks/8905-f6f9469353911fb0.js","3143","static/chunks/3143-f3ed02939fea6e75.js","5766","static/chunks/5766-4fe247b65648a8a7.js","7648","static/chunks/7648-34771bb3fdb1b05c.js","1713","static/chunks/1713-838bb3f7c92f419b.js","5878","static/chunks/5878-a24e9e9351be5527.js","5896","static/chunks/5896-b2e5ead8abb9b59e.js","4873","static/chunks/4873-c3ddefc71fade8a6.js","3185","static/chunks/app/layout-4a2d8915965980a8.js"],"Providers"]
9:I[6151,["8905","static/chunks/8905-f6f9469353911fb0.js","3143","static/chunks/3143-f3ed02939fea6e75.js","5766","static/chunks/5766-4fe247b65648a8a7.js","7648","static/chunks/7648-34771bb3fdb1b05c.js","1713","static/chunks/1713-838bb3f7c92f419b.js","5878","static/chunks/5878-a24e9e9351be5527.js","5896","static/chunks/5896-b2e5ead8abb9b59e.js","4873","static/chunks/4873-c3ddefc71fade8a6.js","3185","static/chunks/app/layout-4a2d8915965980a8.js"],"Shell"]
a:{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"}
b:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"}
c:{"display":"inline-block"}
d:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0}
0:["LZJ6FA63ApqAwurXqGySJ",[[["",{"children":["(marketing)",{"children":["guides",{"children":["ai-agent-audit-trail",{"children":["__PAGE__",{}]}]}]}]},"$undefined","$undefined",true],["",{"children":["(marketing)",{"children":["guides",{"children":["ai-agent-audit-trail",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"children":["$","$L3",null,{"className":"page-y","children":["$","article",null,{"className":"prose-omem max-w-3xl","children":[["$","div",null,{"className":"tech-label mb-3","children":"Guide"}],["$","h1",null,{"className":"display text-3xl","children":"An audit trail for AI agents"}],["$","p",null,{"className":"lede","children":["The moment an agent acts for a client, someone will ask the question every team dreads: ",["$","em",null,{"children":"why did it do that?"}]," This guide covers what an agent audit trail actually has to contain, why a request log does not qualify, and how to record one you can hand to a compliance reviewer, with working code you can run locally."]}],["$","h2",null,{"children":"What must an AI agent audit trail contain?"}],["$","p",null,{"children":"A defensible audit trail answers four questions about any action the agent took, after the fact and under scrutiny:"}],["$","ul",null,{"children":[["$","li",null,{"children":[["$","strong",null,{"children":"What did the agent believe"}]," at the moment it acted, not what the database says now."]}],["$","li",null,{"children":[["$","strong",null,{"children":"Where did each belief come from:"}]," the source, the time, and the evidence chain behind it."]}],["$","li",null,{"children":[["$","strong",null,{"children":"What disagreed:"}]," if two sources conflicted, both sides, and which one was believed and why."]}],["$","li",null,{"children":[["$","strong",null,{"children":"Who authorised the action:"}]," a named approver for anything risky, recorded with the decision."]}]]}],["$","p",null,{"children":"If any of the four is missing, the trail collapses under the first real question. Most teams discover this during a client’s security review, which is the most expensive possible time."}],["$","h2",null,{"children":"Why is a request log not an audit trail?"}],["$","p",null,{"children":["Logs record what the system ",["$","em",null,{"children":"did"}],". An audit trail for an agent must also record what the system ",["$","em",null,{"children":"believed"}],", because the belief is the reason for the action. Three failures make ordinary logging insufficient:"]}],["$","ul",null,{"children":[["$","li",null,{"children":[["$","strong",null,{"children":"Overwritten state."}]," Most memory stores keep only the current value. When a fact changes, the old value, the one the agent actually acted on, is gone. You cannot reconstruct the decision."]}],["$","li",null,{"children":[["$","strong",null,{"children":"Silent conflict resolution."}]," When two facts disagree, last-write-wins picks a winner and leaves no trace that there was ever a disagreement."]}],["$","li",null,{"children":[["$","strong",null,{"children":"Mutable history."}]," A trail the system can rewrite later is not evidence. Reviewers know this, which is why financial systems use append-only ledgers."]}]]}],["$","h2",null,{"children":"Record beliefs, not just events"}],["$","$L4",null,{"label":"Every belief carries its receipts","single":"pip install omem-infrastructure\nomem-server\n\n# every belief is recorded with source, time, and evidence\nfrom omem import Memory\nmem = Memory(api_key=\"omem_sk_...\", project=\"proj_...\",\n             base_url=\"http://127.0.0.1:8787\")\n\na = mem.remember(\"agent:support\", \"customer:alice\",\n                 \"prefers_annual_billing\")\n\nmem.why(a[\"id\"])\n# -> who asserted it, when, its evidence chain,\n#    and anything on record that contradicts it"}],["$","p",null,{"children":[["$","span",null,{"className":"mono","children":"why()"}]," is the core of the trail: for any belief, the full chain of assertions and evidence that led there. When a client asks why the agent believed something, this is the artifact you export and send."]}],["$","h2",null,{"children":"Keep the disagreement, not just the winner"}],["$","$L4",null,{"label":"Both sides stay on the record","single":"mem.remember(\"agent:sales\", \"customer:alice\",\n             \"not:prefers_annual_billing\")\n\nmem.conflicts()\n# -> both claims, each with its agent, source, and recency.\n#    Nothing was overwritten; the disagreement is part of\n#    the record, which is exactly what an auditor wants."}],["$","h2",null,{"children":"Ask what was believed at the time, not what is believed now"}],["$","$L4",null,{"label":"Time travel is the audit primitive","single":"# the agent acted on Tuesday; reconstruct Tuesday\nmem.recall(about=\"customer:alice\", as_of=\"2026-08-25T14:00:00Z\")\n# -> the beliefs as they stood then, not as they stand today"}],["$","p",null,{"children":"This is the capability request logs cannot fake. If the memory overwrote the past, the honest answer to “what did it know when it acted” is “we no longer know”."}],["$","h2",null,{"children":"Record who approved the risky actions"}],["$","p",null,{"children":["Belief provenance covers ",["$","em",null,{"children":"why it thought that"}],". The other half is ",["$","em",null,{"children":"who let it act"}],": risky actions should wait for a named approver, and both the approval and any refusal should land in the same record. That pattern has its own guide:"," ",["$","a",null,{"href":"/guides/human-in-the-loop-ai-agents","children":"human-in-the-loop approvals for AI agents"}],"."]}],["$","h2",null,{"children":"Can the trail itself be trusted?"}],["$","p",null,{"children":"A trail is only as good as its resistance to revision. In OMEM the record is an append-only operations log, and the engine that interprets it is frozen: it replays byte-identically, verified on every commit, so a software upgrade can never rewrite what was believed. Retraction exists, but as a new recorded operation that withdraws a belief and cascades to its conclusions, never as an edit to history."}],["$","div",null,{"className":"mt-10 flex flex-wrap gap-3","children":[["$","$L5",null,{"href":"/docs/quickstart","children":"Run it locally in a minute"}],["$","$L5",null,{"href":"/accountability","variant":"secondary","children":"The accountability overview"}]]}]]}]}]}],null],null],null]},[null,["$","$L6",null,{"parallelRouterKey":"children","segmentPath":["children","(marketing)","children","guides","children","ai-agent-audit-trail","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L7",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L6",null,{"parallelRouterKey":"children","segmentPath":["children","(marketing)","children","guides","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L7",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[null,["$","$L6",null,{"parallelRouterKey":"children","segmentPath":["children","(marketing)","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L7",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/9f10caa481f214cd.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","className":"__variable_8adcd2 __variable_46451f","suppressHydrationWarning":true,"children":[["$","head",null,{"children":[["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{\nvar s=localStorage.getItem(\"omem-theme\");\nvar d=s?s===\"dark\":window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\nif(d)document.documentElement.classList.add(\"dark\");\ndocument.documentElement.style.colorScheme=d?\"dark\":\"light\";\n}catch(e){}})();"}}],""]}],["$","body",null,{"children":[["$","a",null,{"href":"#main","className":"skip-link","children":"Skip to content"}],["$","$L8",null,{"children":["$","$L9",null,{"children":["$","$L6",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L7",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$a","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$b","children":"404"}],["$","div",null,{"style":"$c","children":["$","h2",null,{"style":"$d","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]]}]]}]],null],null],["$Le",null]]]]
e:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1, viewport-fit=cover"}],["$","meta","1",{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"#faf9f6"}],["$","meta","2",{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"#171614"}],["$","meta","3",{"charSet":"utf-8"}],["$","title","4",{"children":"An audit trail for AI agents / OMEM"}],["$","meta","5",{"name":"description","content":"How to give an AI agent a real audit trail: what it must contain, why request logs are not enough, and how to record what the agent believed, why, and who approved its actions. Self-hosted, with working code."}],["$","meta","6",{"name":"application-name","content":"OMEM"}],["$","meta","7",{"name":"format-detection","content":"telephone=no"}],["$","meta","8",{"property":"og:title","content":"OMEM / accountability for the AI agents you ship"}],["$","meta","9",{"property":"og:description","content":"OMEM keeps AI agents answerable: an audit trail of what the agent believed and when, and a human approval gate before a risky action runs. Built on a belief-revision engine that keeps contradictions and proves provenance. Self-hosted, MIT, no dependencies."}],["$","meta","10",{"property":"og:url","content":"https://infrastructure.omem-cloud.com/"}],["$","meta","11",{"property":"og:site_name","content":"OMEM"}],["$","meta","12",{"property":"og:image","content":"https://infrastructure.omem-cloud.com/icon.png"}],["$","meta","13",{"property":"og:type","content":"website"}],["$","meta","14",{"name":"twitter:card","content":"summary"}],["$","meta","15",{"name":"twitter:title","content":"OMEM / accountability for the AI agents you ship"}],["$","meta","16",{"name":"twitter:description","content":"OMEM keeps AI agents answerable: an audit trail of what the agent believed and when, and a human approval gate before a risky action runs. Built on a belief-revision engine that keeps contradictions and proves provenance. Self-hosted, MIT, no dependencies."}],["$","meta","17",{"name":"twitter:image","content":"https://infrastructure.omem-cloud.com/icon.png"}],["$","link","18",{"rel":"icon","href":"/icon.png?2085097fd5dec5e8","type":"image/png","sizes":"512x512"}],["$","link","19",{"rel":"apple-touch-icon","href":"/apple-icon.png?75e7810ff587c16c","type":"image/png","sizes":"180x180"}],["$","meta","20",{"name":"next-size-adjust"}]]
1:null
