Core principles
- Read-only access: Oobo never writes to AI tool data directories
- Local by default: All data stays on your machine unless you configure a server endpoint
- Secret redaction: Sessions are scrubbed with gitleaks patterns before any sharing
- No telemetry: Oobo does not phone home or collect usage data
- Config protection: API keys in config files are automatically protected with restrictive permissions
Read-only access
Oobo reads session data from AI tool storage but never writes to it.What oobo reads
Cursor
Cursor
~/Library/Application Support/Cursor/User/globalStorage/state.vscdb(macOS)~/.cursor/projects/{slug}/composer/{session-id}.jsonl- VSCode workspace storage directories
Claude Code
Claude Code
~/.claude/projects/{slug}/{session-id}.jsonl
Gemini CLI
Gemini CLI
~/.gemini/tmp/{slug}/chats/session-*.json~/.gemini/projects.json
OpenCode
OpenCode
- OpenCode’s SQLite database
SQLITE_OPEN_READONLY flag.Aider
Aider
.aider.chat.history.md(project root)~/.oobo/aider-analytics.jsonl(if configured)
.aider.chat.history.md. The analytics log is written by Aider, not oobo (oobo only reads it).Copilot, Windsurf, Zed, Trae, Codex
Copilot, Windsurf, Zed, Trae, Codex
- Extension storage, conversation files, local databases (tool-specific paths)
Local-first by default
By default, all data stays on your machine. Nothing leaves your computer unless you explicitly configure a server endpoint.Where data is stored
- Anchors: Local SQLite database at
~/.oobo/db.sqlite - Transcripts: Original tool directories + cached redacted copies in
~/.oobo/ - Orphan branch:
oobo/anchors/v1branch in your git repo (metadata only by default)
When data leaves your machine
Data is sent to a remote server only if:-
You configure a
[server]endpoint in~/.oobo/config.toml: -
You enable telemetry:
-
You push a git repo with the
oobo/anchors/v1orphan branch to a remote
Oobo itself does not phone home. The
[telemetry] section controls whether anchor events are sent to your configured server, not to oobo.ai or any third party.Secret redaction
Before any session transcript is written to the orphan branch, shared, or sent to a server, oobo scrubs it using gitleaks patterns.What’s redacted
- API keys (AWS, OpenAI, Anthropic, GitHub, etc.)
- Private keys (RSA, SSH, TLS)
- Tokens (JWT, OAuth, session tokens)
- Connection strings (database URLs, etc.)
- Credit card numbers
- Other sensitive patterns matched by gitleaks
How it works
Oobo uses the gitleaks library to scan all session content. Any detected secrets are replaced with[REDACTED].
Example:
No telemetry
Oobo does not collect or send telemetry to oobo.ai or any third party. There is no analytics, crash reporting, or usage tracking.What the [telemetry] section controls
The [telemetry] config section is not about oobo phoning home. It controls what data is sent to your server endpoint (if configured):
enabled = false: No data sent to the server, even if a server URL is configuredsend_diffs = true: Include git diffs in anchor payloads (useful for code review)send_transcripts = true: Include redacted AI transcripts in payloads
Config file protection
API keys stored in~/.oobo/config.toml are automatically protected.
Automatic chmod 0600
On Unix systems (Linux, macOS), oobo sets the config file to 0600 (read/write for owner only) when API keys are present:
Transparency mode implications
Transparency mode controls whether redacted transcripts are written to the git orphan branch.mode = "off" (default)
- Anchor metadata is written to
oobo/anchors/v1branch - Full transcripts stay local in
~/.oobo/ - Only commit hash, session IDs, token counts, and attribution are synced
- Anyone with access to the git repo (after you push)
- Metadata only — no conversation content
mode = "on"
- Anchor metadata and redacted transcripts are written to the orphan branch
- Full conversation history is included (after secret redaction)
- Syncs with the repo when you push
- Anyone with access to the git repo
- Includes full conversation text (redacted)
Recommendation
- Private repos, solo dev: Use
mode = "off"unless you need full traceability - Open source: Use
mode = "off"to avoid leaking internal discussions - Team projects with code review: Use
mode = "on"if your team wants full AI context in the repo
What oobo does NOT do
- Does not modify AI tool data: All tool integrations are read-only
- Does not phone home: No telemetry to oobo.ai or any third party
- Does not require a server: Works entirely offline
- Does not log commands: Oobo does not track which git commands you run
- Does not upload code: Code diffs are only sent to your server if
send_diffs = true
Security checklist
Audit transparency mode
Check your transparency setting:If
mode = "on", ensure your team knows transcripts are in the repo.Reporting security issues
If you discover a security vulnerability in oobo, please do not open a public GitHub issue. Instead:- Email: [email protected]
- Use GitHub Security Advisories
Summary
| Property | Status |
|---|---|
| Read-only access to AI tools | ✓ |
| Local-first by default | ✓ |
| Secret redaction with gitleaks | ✓ |
| No telemetry to oobo.ai | ✓ |
| Config file protection (chmod 0600) | ✓ |
| Transparency mode opt-in | ✓ |
| Open source (auditable) | ✓ |
