Reference
Threat model and best practices
What veil protects against, what it does not, and how to use it safely.
- What you will do
- Check the limits of veil before you rely on it, and follow the practices that keep it safe.
- Before you start
- It helps to know how it works.
- What comes next
- The known limitations and FAQ.
Threat model
Protects against
- The tool's vendor seeing your home IP. The vendor sees a Cloudflare WARP address instead.
- The tool reaching any host outside the allowlist. When the gateway is down, the tool has no network.
- The tool reading or writing host files outside the workspace and the dedicated home.
- The tool inheriting your environment, such as API tokens,
SSH_AUTH_SOCKor proxy variables.
Does not protect against
- Cloudflare. Cloudflare sees your home IP and the traffic metadata.
- Linking sessions. Accounts, prompts, code and behavior can still link your sessions. The WARP exit address does not rotate.
- Your local network. Anyone on your local network can use or impersonate the gateway until issue #2 is done.
- Kernel exploits, a compromised host or privileged processes.
- Files left in the workspace. Anything you put in the workspace is visible to the tool. A file the tool writes there, such as
.git/hooks/*,Makefileor.envrc, runs on the host if you execute it later.
Best practices
- Use a disposable or dedicated workspace, and keep secrets out of it. The tool can read everything in the workspace.
- Use one
--homedirectory per tool, so each tool's login and state stay apart. - Never run veil with
sudo. - Review the files the tool wrote, such as
.git/hooks,Makefileand.envrc, before you run them on the host. - Never share, copy, print or commit the
warp-datavolume. It holds the WARP private key. - Keep the gateway on a trusted local network (LAN), and never publish port 8118 to the internet.
- Do not paste real IP addresses, keys, tokens or WARP account files into issues. Use placeholders such as
gateway.localand192.168.0.0/24.