nanny scans the stores that claude-code, opencode and pi write — session transcripts, agent memories, cached pastes, shell snapshots, tool output, opencode's SQLite database — plus shell history and repository working trees, and records where and when a credential leaked into them. Detection is by shape alone. nanny deliberately has no read access to any credential store (~/.agents, ~/.ssh, each harness's own auth file), so the monitor is not itself a process worth compromising. The cost is false positives, managed with per-rule confidence, entropy floors and allow patterns. The central invariant is that a matched secret never leaves the scanner: Secret<'a> borrows, does not clone into an owned form, does not serialise, and Debugs as <redacted, N bytes>. What is stored is a salted keyed hash, a length, and a preview with every matched span masked — so nanny's own database cannot become the next spill. Records and alerts only; it never edits a harness's files. Rules carry a RotationHint as the seam for optional rotation later. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqHWfdMAsYu1o36tgeima
4 lines
66 B
TOML
4 lines
66 B
TOML
[toolchain]
|
|
channel = "stable"
|
|
components = ["rustfmt", "clippy"]
|