Observe. Redact. Replay.

A local-first audit cockpit for coding agents.

Observe sessions across agents, redact secrets before they’re stored, and keep one replayable audit trail. Relay approvals where supported: Claude Code in Attach, and Codex in Managed Mode.

No code changes. Attach to the agents you already run, locally.

localhost:55400 — Approvals
承認受信箱:高リスクの rm -rf を許可/拒否。Destructive operation 警告とフェイルセーフ自動拒否のカウントダウン付き
秘匿の内訳:このセッションで検出 21 件(マスク済)。認証情報の代入 ×18、URL 内の認証情報 ×3
The real screen — a high-risk command held for human approval, with this session’s detected secrets already redacted to counts.
Built for

For the developer running several coding agents at once — Claude Code and Codex side by side — who wants local audit, redaction, and guardrails on their own machine.

See it in 90 seconds

A real, read-only walkthrough of the running cockpit — cross-vendor sessions, a live approval denied on camera, redaction, and audit. Nothing is mocked.

ActraDeck — 90-sec walkthrough

One cockpit. Four things a single-vendor dashboard won’t do.

Human-in-the-loop

Approve or deny from one inbox

A destructive command shouldn’t run before a human sees it. A rm -rf is flagged high-risk and blocked until you allow or deny — and auto-denies if no one answers in time. (Claude Code relays over Attach, the default; Codex relay uses Managed Mode.)

For security-conscious developers
承認受信箱:高リスクの rm -rf が許可/拒否待ち。フェイルセーフ自動拒否のカウントダウン付き
Redaction runs before persistence

Secrets are redacted before they hit disk

Detected keys, tokens and .env values are masked before anything is stored or shown. On the agent path the sidecar redacts them before it persists or forwards an event; and every event — including ones an external adapter POSTs straight to the ingestion API — passes an unconditional redaction floor at the backend before it is stored. Detected secret patterns are masked before persistence; the cockpit shows redaction markers and a per-kind count (high-entropy secret, credential assignment, URL credential …). Detection is best-effort pattern matching (gitleaks-style rules + custom regexes) — a strong safety net, not an absolute guarantee.

For anyone handling keys & tokens
秘匿の内訳:このセッションで検出 21 件(マスク済)。認証情報の代入 ×18、URL 内の認証情報 ×3
One trail, replayable

One audit trail. Replay anything.

When the codebase is your client’s, you want a clear record of what your agents did on it. Every observed session lands in one audit log — approval decisions, redaction counts, high-risk ops. Filter by repo, export JSON or CSV to hand over, and replay any session step by step.

For contractors & client work
監査の全体ビュー:claude_code と codex を同じログに集約した合計とセッション一覧
セッション再生:タイムスタンプ付きで操作を1ステップずつ再生、高リスクコマンドは承認待ち
Cross-vendor visibility

Every agent, one view

Claude Code and Codex on one wall — each lane shows state, current action, and the repo@branch it’s in. Stalls are flagged with evidence (process, event, stdout, file, model-stream), so you can tell at a glance which session actually needs you.

For multi-session power users
Live Wall — claude_code と codex を横断する複数セッションの活動タイムライン

Local-first. Up in minutes.

Attach to the agents you already run — no code changes, your data stays on your machine.

1

Start the cockpit

./scripts/quickstart

One command: local backend, web UI, and Claude Code & Codex attached.

2

Run your agents

cd ~/project && claude   # or: codex

Run them as usual — no code changes, no new flags.

3

Open the cockpit

open http://localhost:55400

Watch every session live across both agents, and replay the full audit trail.

Support matrix

Two ways to connect. Attach is the zero-friction default; Managed Mode owns the process for full control.

Capability Claude Code
Attach (default)
Codex
Attach (default)
Managed Mode
Live observation & audit
Secret redaction before persist
Approval relay (allow / deny) Managed only
Replay

Codex over Attach is fully observed and audited in the same audit trail; its approval requests appear — and can be allowed or denied from the cockpit — only in Managed Mode.

Put a human back in the loop.

Open-source, local-first, vendor-neutral. Point it at the agents you already run — no code changes, and your code and events stay on your machine.