From tool call to finding, on your machine
Omnodex records what your agents do through each agent's own hooks, or an MCP proxy where hooks are not available, and keeps that record on your machine. The hosted dashboard is optional. Connected machines send encrypted sync data, usage counts and some unencrypted operational metadata.
Capture
Agent hooks
Claude Code, OpenAI Codex and Google Antigravity call Omnodex at defined points, such as before and after a tool runs. Hooks run outside the model context, so they add no tokens, and they see built-in tools such as the shell and file edits.
MCP proxy
A local proxy sits between an agent and its MCP servers and records each call routed through it. This is how Cowork Desktop is captured. Where a call is seen by both, the dashboard pairs the two records.
What each platform reports, and where capture stops: Coverage.
Stays on your machine
An append-only log
Every event is appended to a JSONL log on your machine, in a documented format you can read with any tool. The dashboards are rebuilt from it by replay.
Rules run where the data is
Detection rules read the log locally and raise findings with a severity. Shadow mode and guardrails decide on your machine too.
Nothing leaves by default
Recording and local analysis make no network calls. Data leaves your machine only when you connect a stream to the hosted dashboard.
Append-only keeps a complete history, but it is not tamper-proof against someone with access to your machine.
End-to-end encrypted sync
Connect a stream when you want the hosted dashboard: your history from anywhere, live events and several machines in one place.
- Events are encrypted on your machine before they leave it, so we can't read what you sync.
- The hosted dashboard decrypts events in your browser, for synced history and live events alike.
Outside your encrypted data, a connected machine sends per-rule counts in shadow and guardrails mode so we can tune the rules, and the number of tool calls Pro rules checked for billing. These counts don't include tool names, paths, commands, hosts, credentials or conversation content. A machine that isn't connected sends neither.