K-Veritas
Guide

Agent sessions

For agentic tools like Claude Code, K-Veritas records a tamper-evident log of everything an AI agent does - so no designated action can happen off the record.

Recording a session

kveritas init --harness --agent "claude-code" --operator alice
# then run your agent normally, e.g.
claude
kveritas seal --output session.json
kveritas verify session.json

init --harness has the server sign the designation D - the policy of which actions must be recorded - and installs the Claude Code hooks. Every designated action (tool calls, file writes, prompts, sub-agent spawns) is recorded to a hash chain before it takes effect. If an action cannot be recorded, the tool is blocked, so nothing happens off the record.

What it guarantees

Each entry binds the acting agent's identity, the input and output content (as hashes), and its position in order:

Existence

The action happened, and who performed it.

Content

The exact inputs and outputs.

Order

Its position in the sequence.

No party, including the agent and its operator, can deny or alter a designated action without verification rejecting and pointing to the exact entry.

Multi-agent attribution

The main agent, sub-agents nested to any depth, and operator prompts are each attributed to who performed them. verify prints a session activity tree with a per-agent breakdown of what each did (reads, writes, commands, spawns). It works with multi-agent and multi-step, non-sequential flows, reconstructed from signed facts - so re-parenting or hiding a sub-agent's action is detected. Upload the session .json at kveritas.org/verify to see it rendered.