How it works
Sci installs two small background services and wires Claude Code to route through them. Nothing about the setup depends on a remote server.
βββββββββββββββ HTTPS_PROXY=:3001 ββββββββββββββββ anonymized βββββββββββββ
β Claude Code β βββββββββββββββββββββββΊ β sci-helper β βββββββββββββββΊ β Anthropic β
β (your Mac) β βββββββββββββββββββββββ β (:3001) β βββββββββββββββ β β
βββββββββββββββ deanonymized reply ββββββββββββββββ real reply βββββββββββββ
β β
β MCP (memory tools) β local store
βΌ βΌ
βββββββββββββββ ββββββββββββββββ
β com.sci. β β SQLite + β
β agent :8080 β β local embed β
βββββββββββββββ ββββββββββββββββ
The request lifecycle
- Intercept. During install, Claude Codeβs
HTTPS_PROXYis set tohttp://127.0.0.1:3001. Every call it makes toapi.anthropic.comis routed to the local proxy first. - Terminate TLS locally.
sci-helperholds a CA certificate that you trust in your macOS Keychain during install. That lets it read the request on your machine β and only on your machine β to do its work. - Anonymize. It scans the outbound request for PII and substitutes placeholder tokens, recording the mapping in memory locally.
- Forward untouched auth. Whatever credentials Claude Code attached β an OAuth bearer token from your Claude subscription, or an
x-api-keyβ are passed straight through. Sci doesnβt store or inspect them. - Deanonymize. Anthropic streams its reply back through
sci-helper, which restores your real values before Claude Code renders the response. The round trip is invisible to you.
The pieces
dev.sci.helper(port 3001) β the Rust proxy that does the anonymize β forward β deanonymize round trip. Written in Rust for a small, fast, always-on footprint.com.sci.agent(port 8080) β the Node agent that backs the memory store and serves the MCP tools to Claude Code.- launchd services β both run with
KeepAlive, so they start at login and restart automatically if they stop. - Local store β memory lives in SQLite, with embeddings computed on-device. No memory text is sent to an external embedding API.
- MCP registration β the installer adds
scito~/.claude.json, exposingmemory_recall,memory_store,memory_identity, andmemory_status.
What leaves your machine β and what doesnβt
| Leaves your machine | Stays local |
|---|---|
| The anonymized request to Anthropic (tokens, not PII) | Your name, email, and the tokenβvalue map |
| Your existing Claude Code auth, forwarded unchanged | Your memory store (SQLite) |
| Embedding computation | |
| The CA private key |
The trust model
Youβre trusting a local CA certificate so the proxy can see your own traffic on your own machine β the same mechanism corporate proxies and debugging tools like mitmproxy use, scoped to you. The certificateβs private key never leaves ~/.sci. You can inspect, distrust, or remove it from Keychain Access at any time.
For the deeper technical reference β the anonymization pipeline, hybrid retrieval, and storage adapters β see the technical docs.