Compliance-grade audit memory
Who decided what, when, on what evidence — and what you believed at the time.

Without memory
When the auditor asks “why did you make this change, and who approved it?”, the answer is spread across Slack, PRs, and departed employees. Worse, most systems can only tell you what’s true now — not what you believed when the decision was made.
With Rekall
Rekall’s memory is bi-temporal: facts carry both when they were true and when you knew them, so “what did we believe on March 12?” has a real answer. Decisions, approvals, and outcomes form a chain an auditor can walk.
How it works
Decisions carry their context
Each decision records alternatives, rationale, approver, and evidence — captured at the moment, not reconstructed later.
Gates create approval records
Consequential agent actions pause for human sign-off; the approval, approver, and what they saw are all part of the run’s permanent record.
Bi-temporal answers, honestly
Invalidated facts aren’t deleted — they’re superseded with timestamps, so the audit trail shows what was believed then versus known now.
See it in action
> who approved the retention-policy change in March,and what did we know at the time?rekall.trace_decision("retention policy")→ Decision (Mar 12): reduce log retention 90d → 30dApproved: J. Ito (gate: data-policy) Mar 12 14:02Basis at the time: legal memo v2 (Feb 28)Superseded knowledge: legal memo v3 (Apr 9)arrived AFTER the decision — flagged, re-approvedApr 11. Full chain: 7 records.
Related use cases
The “why” archive — decision memory
“Why is auth done this weird way?” finally has an answer.
Human-in-the-loop approval gates
Autonomous until it matters. Then a human decides — and the agent resumes.
Incident memory & living runbooks
“Last time Redis did this, we…” — outages become recallable procedure.