Skip to main content

Security gateway for Claude Code traffic

Project description

cc-guard

Security gateway for Claude Code traffic.

Not to be confused with agent-guard — that's a runtime security engine for AI agents. This is a config installer.

What it does

Point Claude Code at any local anthropic-compatible proxy (flowlens sidecar, litellm, mitmproxy, anthropic-proxy, …) by modifying ~/.claude/settings.json, and back it out cleanly when you're done. Optionally, spawn and supervise the proxy subprocess for you.

# A. Bring your own proxy — cc-guard just patches settings.json
flow run -c ~/.flowlens/sidecar.yaml &
cc-guard install http://127.0.0.1:9999
# ...
cc-guard uninstall

# B. Let cc-guard generate the sidecar config AND spawn the process
cc-guard install http://127.0.0.1:9999 --sidecar
# or against a remote flowlens hub for centralized audit:
cc-guard install http://127.0.0.1:9999 \
  --hub https://hub.example.com --hub-token $TOKEN

Your ANTHROPIC_API_KEY / ANTHROPIC_AUTH_TOKEN are passed through untouched in both modes — cc-guard never reads, stores, or rewrites credentials.

Why not just edit ~/.claude/settings.json by hand

Several things need to happen together for the redirect to actually stick:

  • Back up the original ANTHROPIC_BASE_URL so uninstall can restore it (otherwise you lose whatever was there before).
  • Clean conflicting export ANTHROPIC_BASE_URL=... lines in your shell rc file, since shell env vars override settings.json.
  • Atomic writes so a Ctrl-C mid-edit doesn't corrupt your settings.
  • Idempotent install/uninstall so running it twice doesn't double-backup or crash.

cc-guard does all of this, and provides doctor and status commands for checking things after the fact.

Design principles

  1. Proxy-agnostic — any anthropic-compatible local proxy works; nothing is hard-coded to one implementation.
  2. Never touches credentialsANTHROPIC_AUTH_TOKEN and ANTHROPIC_API_KEY pass through unchanged. The proxy forwards them to the real upstream.
  3. Clean uninstall — every change is backed up before it's made, and the optional managed sidecar is SIGTERM'd cleanly on uninstall.
  4. Idempotent — repeat install/uninstall safely.
  5. Plain installer by default — sidecar spawning is strictly opt-in via --sidecar / --hub / --sidecar-config. No background processes unless you asked.

Install

The PyPI package is cc-guardian (the short cc-guard name was too close to an unrelated ccguard project, so PyPI forced a rename). The CLI command is still cc-guard.

uv tool install cc-guardian
# or, to also get managed-sidecar support (pulls flowlens + psutil on Windows):
uv tool install "cc-guardian[sidecar]"
# or
pipx install cc-guardian
# or
pip install --user cc-guardian

Two commands are installed: cc-guard (full name) and ccg (short alias).

Platforms: Linux, macOS, Windows. The plain installer is fully cross-platform; the managed sidecar uses start_new_session on POSIX and DETACHED_PROCESS | CREATE_NEW_PROCESS_GROUP on Windows. Shell rc cleanup is POSIX-only (no equivalent concept in cmd.exe / PowerShell).

Commands

Command Purpose
cc-guard install URL Point Claude Code at URL (plain mode)
cc-guard install URL --sidecar + spawn a local flowlens sidecar
cc-guard install URL --hub HUB --hub-token TOK + attach to a remote hub
cc-guard uninstall Restore previous settings, stop managed sidecar
cc-guard status Show current install state + sidecar liveness
cc-guard doctor Run diagnostic checks
cc-guard (no args) Interactive wizard

See cc-guard <command> --help for all options, or read docs/execution-logic.md for the wire flow.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cc_guardian-0.0.5.tar.gz (225.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cc_guardian-0.0.5-py3-none-any.whl (42.9 kB view details)

Uploaded Python 3

File details

Details for the file cc_guardian-0.0.5.tar.gz.

File metadata

  • Download URL: cc_guardian-0.0.5.tar.gz
  • Upload date:
  • Size: 225.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for cc_guardian-0.0.5.tar.gz
Algorithm Hash digest
SHA256 beefe9aabe59c66524b3348bb496e746469ef16c411c846977098ca212303934
MD5 2e6a3ae962d964358d79704fe978601f
BLAKE2b-256 c5dc89f23ab494ae97ff275c26976a5d37afe2bae23125275b0f27244ed2f18c

See more details on using hashes here.

File details

Details for the file cc_guardian-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: cc_guardian-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 42.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for cc_guardian-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 faf0912786a517725313e4a5da894b8ed45d6eaa7431d313c1b634adc7424e81
MD5 420972cce4deae375187c0bc90132669
BLAKE2b-256 0835986962f926878e5d6dc936148b0c81059ce98c23c1b967f8abf52d8c0726

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page