Audit Trail
Every operation produces an immutable version record with content hashes for integrity verification:Agent labeling
By default,agentId is derived from the API key (key:{keyId}). To distinguish multiple agents sharing the same key, there are two mechanisms:
Automatic — Undisk captures the clientInfo.name from the MCP initialize handshake. If your client sends clientInfo: { name: "cursor" }, the agentId automatically becomes key:{keyId}:cursor — zero configuration needed. All major MCP clients (Claude Desktop, Cursor, Copilot, Windsurf) send this.
Explicit — Send an X-Agent-Name header with each request to set a custom label:
X-Agent-Name header > clientInfo.name > bare key:{keyId}
The agentId becomes key:{keyId}:{name} — giving each agent a unique, human-readable identity in version history and activity context. Names must be 1–64 characters, alphanumeric with hyphens, underscores, and dots.
For full EU AI Act Article 12 compliance, we recommend one API key per agent or consistent agent labeling so the audit trail can attribute each operation to a specific AI system.
Export audit logs as NDJSON via the dashboard. Integrity hashes allow offline verification that no entries were modified after creation. Audit export is available on all plans; extended retention and compliance features are available on Pro+ plans.
Audit Export API
Export and verify audit logs programmatically for SIEM integration (Splunk, Datadog, etc.):format—json(default) orndjson(recommended for streaming/SIEM)start/end— ISO 8601 time range filteragentId— filter by agent identityoperationType— filter by operation (e.g.writeFile,deleteFile)filePath— filter by file path
{ "valid": true, "checked": 100 } or { "valid": false, "brokenAt": 42 }.
Workspace Templates
Useworkspace_checkpoint to scaffold a workspace with a pre-defined template in a single tool call. Templates create directory structures, resolver documents, and operational files — then skip any files that already exist, making them safe to run on non-empty workspaces.
Available Templates
| Template | Description |
|---|---|
brain | Personal knowledge base with MECE directory structure — people/, companies/, deals/, meetings/, projects/, ideas/, concepts/, writing/, sources/, inbox/. Includes RESOLVER.md, schema.md, and per-directory README resolvers. Inspired by GBrain. |
Usage
Unfold In An Existing Workspace
Templates are intentionally idempotent and safe for non-empty workspaces.Brain Template Operational Rules
After applying the brain template, follow these conventions:- Read RESOLVER.md before creating any new page — it is the master filing decision tree
- Use
append_logfor timeline entries below the line — never rewrite timeline history - Use
search_filesbefore creating pages — never duplicate entities - Use
workspace_checkpointbefore bulk imports or enrichment passes - Store API keys in
vault_secret, not in brain files - Follow compiled truth + timeline pattern: synthesis above the line, evidence below
discover_tools_and_capabilities in the workspace_templates field.
Multi-Agent Coordination
Theworkspace_collaborate tool provides shared primitives for concurrent agents: file locks, handoff notes, and active-agent discovery.
File locks
Handoff notes
Active agents
Use-case walkthrough: /use-cases/multi-agent-ops.
Programmatic audit export endpoint details: /reference/audit-export-api.