Audit Logs

Append-only record of tool calls, approval decisions, commitments, tasks, and other significant events. Rotated daily. Lives locally.

What gets logged

  • tool-call / tool-result
  • approval decisions
  • commitment-created / commitment-fulfilled
  • task-created / task-complete
  • standing-order create/remove/toggle/fired
  • session-reset
  • compaction
  • agent-switch
  • error

Reading

# Last 100 entries
curl http://127.0.0.1:18789/audit?limit=100

# Specific date range
curl "http://127.0.0.1:18789/audit?from=2026-05-20&to=2026-05-21"

# Today's stats
curl http://127.0.0.1:18789/audit/stats
# {
#   "date": "2026-05-21",
#   "total": 342,
#   "byKind": {
#     "tool-call": 145,
#     "tool-result": 145,
#     "approval": 8,
#     "task-created": 12
#   }
# }

# Available dates
curl http://127.0.0.1:18789/audit/dates

File layout

~/.openvesper/audit/
โ”œโ”€โ”€ 2026-05-19.jsonl   # mode 0600
โ”œโ”€โ”€ 2026-05-20.jsonl
โ””โ”€โ”€ 2026-05-21.jsonl   # today, currently being appended

JSONL entry format

{
  "timestamp": 1737475200000,
  "isoTime": "2026-05-21T14:30:00.000Z",
  "event": {
    "kind": "tool-call",
    "sessionKey": "user-123",
    "agent": "bags-hunter",
    "tool": "bags_token_score",
    "input": {"address": "ABC..."},
    "permission": "read"
  }
}

Privacy

Audit logs stay local. Useful for: debugging, security review, understanding what your agents did while you were away.

Source

Implementation: apps/gateway/src/audit.ts