Start here
Introduction
What veil is, who it is for and how your traffic flows through it.
- What you will do
- Learn what veil is, who it is for and how your traffic flows through it.
- Before you start
- Nothing. This page needs no setup.
- What comes next
- Read How it works, then follow the three guide steps, starting with Install.
Status: experimental. This is not an anonymity tool, and it has not had an external security review. Read the threat model and the known limitations before you rely on it.
What veil is and why it exists
AI coding tools, such as OpenCode, send your prompts and code to their vendor's servers. Every request also tells the vendor your home IP address. Your IP address can point to where you live.
veil wraps any command. You run veil run ... -- <tool> when you want the extra privacy, and you run the tool directly otherwise.
Inside veil, the tool runs in a sandbox: a closed box that can see only one project folder and has no network of its own. In the gateway profile, the only way out is a proxy that you host on your own network. A proxy is a server that makes connections on your behalf. Your proxy sends the traffic through Cloudflare WARP, so the vendor sees a Cloudflare address instead of yours. WARP is a free Cloudflare service, similar to a VPN, that carries your traffic in an encrypted tunnel and sends it out from a Cloudflare address.
veil fails closed. If the gateway is missing, veil refuses to start the tool. It never falls back to a direct connection. If a safeguard is unavailable, veil refuses to run instead of running the tool without isolation.
Who it is for
veil is for people who use an AI coding tool and do not want the tool's vendor to see their home IP address. OpenCode is the first tool tested end to end, and the examples use it. Any command-line tool that honors the HTTPS_PROXY environment variable can work the same way.
veil runs on Linux today. See Platforms for macOS and Windows.
How your traffic flows
Text version of the diagram:
- The AI tool runs inside the sandbox and sends its traffic to the proxy named in
HTTPS_PROXY. - A copy of
veilinside the sandbox, the bridge, listens on127.0.0.1:8118. - The bridge forwards the traffic through a unix socket,
/run/veil/proxy.sock. veilon the host receives it and opens a TCP connection to the gateway.- On the gateway, Privoxy allows only the listed domains, wireproxy carries them into the Cloudflare WARP tunnel, and WARP sends them to the vendor.
Ready to try it? The guide has three steps: install veil, set up the gateway and run a tool.
Start the guide