Skip to content

Releases: getveil/veil

Release list

v0.2.0

Choose a tag to compare

@8enji 8enji released this 21 May 14:15
793dd08

First public release. Veil moves the Bearer API keys in your .env into your OS keychain, leaves format-preserving placeholders behind, and injects the real values at a local HTTPS proxy — so your AI agent never sees them.

How it works

brew install getveil/tap/veil
veil init        # scan .env, vault Bearer secrets, drop in placeholders
veil run claude  # launch agent through the proxy — credentials injected at the wire
veil log         # query the audit trail

Any HTTP client that respects HTTPS_PROXY works unchanged — Claude Code, Cursor, Copilot, Windsurf, curl, gh, npm, pip.

What's in scope

  • Bearer providers: OpenAI · Anthropic · Stripe · Slack · Google · GitHub PATs · Resend · Vercel · Replicate · Hugging Face · GitLab · SendGrid · Supabase
  • Unknown Bearer secrets detected and reported by veil init; run veil add NAME --host <host> to vault and scope them
  • Keychain: macOS Keychain, Linux Secret Service, age-file fallback on headless Linux
  • Audit: every credential injection and proxy decision logged to local SQLite, queryable with veil log

Highlights

  • Format-aware placeholders — correct prefix, length, and charset per provider so regex-based consumers still see the right type
  • Value shape gate — pre-filters by credential shape to minimize false positives across providers
  • Fail-closed guard — if a placeholder somehow survives rewriting, the request is rejected rather than forwarded raw
  • Per-session CA — generated locally, injected into the child process only via SSL_CERT_FILE / NODE_EXTRA_CA_CERTS / CURL_CA_BUNDLE / REQUESTS_CA_BUNDLE; your system trust store is untouched
  • CLI: init, run, status, add, list, log, remove, uninstall — with --dry-run previews, --json output, and shell completions

What's not in scope

Veil v1 mediates Authorization: Bearer credentials sourced from .env files. HTTP Basic, AWS SigV4, GitHub App JWTs, HMAC webhooks, shell environment variables, MCP config files, and non-HTTP protocols are left alone. See docs/MVP.md for the full contract.

Install

brew install getveil/tap/veil

Or: go install github.com/getveil/veil/cmd/veil@v0.2.0

See the full changelog in CHANGELOG.md.