Symbia
Symbia keeps a cryptographically signed record of the work AI agents do and marks how far each result can be trusted. Each file operation and command an agent runs goes into a hash chain that anyone outside the session can audit, step by step and in order. A prediction written before a test is provably older than its result. Each record also carries its cost in host time and in the text returned to the model.
Symbia is open source under the MIT license.
Why we use it
A record outside the agent
The record lives apart from the agent's own conversation. Each entry's hash includes the hash of the entry before it. Changing any record breaks the chain. Symbia's file tools refuse to write inside its own data folder.
Predictions before results
Register what you expect before a test runs. The chain places the prediction ahead of its result. A failed prediction stays on record as a failure.
Sealed and portable
A seal is a signed copy of the session file. Verification recomputes every record and every link in the chain, and accepts only the keys you have chosen to trust.
Cost on every record
Each record carries the host time it took and the size of the reply sent back to the model. A write returns about 140 characters, so keeping the record costs the model very little.
Tools that leave a trail
Symbia includes the file and shell tools an agent needs to read, search, edit and run commands. Every call is recorded, refused calls included. Command output is saved as evidence, named by its SHA-256 digest.
A thread per conversation
Each chat or agent writes under a thread name of its own. A thread seal keeps that thread's records in full and only the digests of the rest, so we can hand over one conversation's work on its own.
Search and reports
Search reaches every session and seal on the machine, by text or by meaning with a local embedding model. Reports total cost, errors and prediction outcomes by thread, tool, model or day.
A witness off the machine
Each seal also appends a line to a witness file outside Symbia's data folder, in iCloud Drive or a git repository for example. Verification then catches any seal rewritten later.
Try it in Claude
Symbia runs on your own Mac and connects to Claude over MCP. There's no account or API key to set up. Install it with Homebrew, add it to Claude, and restart the app. Its tools then appear in your conversations.
brew install symbia-labs/tap/symbia
Claude Code:
claude mcp add --scope user symbia -- /opt/homebrew/bin/symbia mcp
Claude desktop app, in claude_desktop_config.json:
"symbia": { "command": "/opt/homebrew/bin/symbia", "args": ["mcp"] }
Check a result
See which lane a value sits in and why, and read the record that produced it.
Predict, then measure
Register what you expect before a test runs, then report the predictions that failed as failures.
Seal the session
Pack the session into one signed file and hand it to anyone who needs to check the work.
Check a sealed session first
The repository's examples folder holds real seals from a short run of two agents. One agent predicted what a file held, measured it, and recorded a result that broke. Two copies of the session were edited after sealing. Check them yourself before you point an agent at Symbia.
git clone https://github.com/Symbia-Labs/symbia && cd symbia/examples
KEY=$(cat example-key.pub)
symbia verify seals/session.sqlite --trust $KEY --witness witness
symbia verify seals/tampered.sqlite --trust $KEY
The first check passes. The second reports file sha256 mismatch. To read a seal, run show. It lists the records in order, with each prediction's verdict and every command the agents ran. get prints one record in full:
symbia show seals/session.sqlite --trust $KEY
symbia get seals/session.sqlite orders.total.result --trust $KEY
A seal is also a plain SQLite file. The README walks through both, with the queries behind them.
Requirements
- A Mac with Apple silicon, or Linux on x86-64 with the static binary from GitHub Releases. On Linux, commands run without the shell sandbox for now.
- The Claude desktop app or Claude Code.
What a seal doesn't say
A seal proves what happened in a session and in what order, without judging the quality of the work. Verification accepts only the keys you have pinned.
Questions
Write to hello@symbia-labs.com.