Your organization's audit trail — every admin action recorded, delivered durably, and browsable from the Logs page.
What KeenAgents records, and the promise behind it.
KeenAgents keeps a permanent audit trail of your organization. Every admin operation — creating, changing, or deleting anything — is recorded as an action line naming the requester (email, user id, role), what was changed, and when. Platform errors are recorded the same way. This is the system audit — the platform's own record of who did what. Runtime lines your agents and scripts emit are kept separately, as per-space, per-agent Log Records you turn on and watch under Logs & Monitoring.
Delivery is buffered and durable: a log line is considered delivered only after it has been written. Lines emitted while the platform is briefly restarting or under maintenance wait and are written afterwards — the audit trail keeps recording even when other parts of the platform are in trouble, precisely because that is when you need it most.
an audit record (illustrative)
{ "timestamp": "2026-08-21T09:14:02.113Z", "level": "action", "channel": "system", "message": "Setting log-debug set to true", "metadata": { "email": "admin@example.com", "userId": "…", "role": "admin" } }
system-action-2026-08-21.log — and each channel keeps 30 days of history browsable from the Logs page.The five system channels the audit trail is built from.
| Channel | Setting | Default | Toggleable |
|---|---|---|---|
| system | action | on | permanently engaged |
| system | error | on | permanently engaged |
| system | warning | off | yes |
| system | info | off | yes |
| system | debug | off | yes |
System action and error lines are written unconditionally. Attempting to switch either off is refused with "This log is permanently engaged" — the audit and error trails cannot be silenced, by anyone, so they are always trustworthy evidence.
40 records, newest first — a tail view built for quick triage.30 days of daily files; older days age out of the browsable list.The Logs page — three things you can do there.
40 records as parsed JSON, newest first.action or error is refused with "This log is permanently engaged", and every successful toggle is itself recorded as an audit line naming who flipped it, which setting, and the new value — changes to the trail are part of the trail.logs permission, toggling requires logs write permission. Without them the page refuses — audit data is sensitive, so access is deny-by-default.action and error lines are always written regardless of settings — do not expect those channels to go quiet.40 records only — it is a triage tail, not a full-file export.Keen Agents 2026
Documentation
Release 15