@vantio/cli
Wrap any AI agent with Vantio Optics — free visibility into what it sends. Zero code changes.
npm install -g @vantio/cli
curl -fsSL https://vantio.ai/install.sh | sh
Quick start
vantio run node agent.js
vantio login <your-api-key>
vantio login validates your key against https://vantio.ai/api/v1/config and, on success, stores it at ~/.vantio/config.json (chmod 600). After that, vantio run injects it automatically — no VANTIO_API_KEY juggling. Free Optics needs no key. Paid Gate keys come from a trial (hello@vantio.ai) or Stripe once live — there is no public self-serve key dashboard yet (/dashboard redirects).
Commands
vantio login [key]
vantio logout
vantio whoami
vantio run <program>
vantio discover
vantio prove
login refuses to save a key the server rejects (HTTP 401). The full key is never printed — whoami and login output only ever show a masked form like vk_liv…a1b2.
Usage
vantio run node agent.js
vantio run python agent.py
vantio run tsx agent.ts
Wrap any process with vantio run. The CLI automatically intercepts every outbound call to a known LLM API — OpenAI, Anthropic, Gemini, Cohere, Mistral, and more — and records connection metadata locally (and to Gate when a key is configured).
Your code doesn't change. Your agent runs normally. If you've run vantio login, the stored key is injected into the child process; an explicit VANTIO_API_KEY in your environment always takes precedence.
Flags
vantio run --audit node agent.js
vantio run --summary node agent.js
--audit — marks all events from this run as audit mode. Useful when running agents in observation-only mode before enforcing policies.
--summary — prints a summary when the process exits:
[ ∅ VANTIO ] Run Summary
LLM calls: 7
Hosts: api.openai.com, api.anthropic.com
Total bytes: 94,201
Duration: 12.4s
→ Run `vantio login` to enforce policy and persist events.
In free mode (no API key), intercepted calls print to the terminal in real time.
vantio prove — Auditor-Ready Proof Artifacts (Free)
vantio prove
vantio prove --list
vantio prove --run=<trace-id>
vantio prove --format=md
vantio prove --format=html --out=proof.html
vantio prove reads the run logs that vantio run automatically writes to
~/.vantio/runs/ and generates a self-contained proof document. Reports include
trace IDs, machine/PID, byte counts, host breakdown, and action labels.
Reports contain zero prompts or completions — safe to share with auditors.
Available on Free — no API key required. Full reference: docs/prove.md
vantio discover — Shadow AI Attack Surface
vantio discover [--since=24h|7d|30d] [--host=<hostname>] [--json]
vantio discover --local
Shows every AI agent call recorded in your Vantio workspace, grouped by target host. Answers the question: "What AI agents are running in my environment, and are they all governed?"
- Free (--local) — reads local run logs from
~/.vantio/runs/. No API key needed. Covers only processes started with vantio run on this machine.
- Pro users — see all SDK-monitored LLM calls with governance status (
OBSERVED / ALLOWED / REDACTED / BLOCKED).
- Enterprise users (Phantom Engine) — additionally surfaces processes that called LLM endpoints without a Vantio
trace_id — the Shadow AI agents that have no governance coverage.
Shadow AI Attack Surface — last 7d
------------------------------------------------------------------------
TARGET HOST CALLS ALLOWED REDACTED BLOCKED OBSERVED SHADOW? LAST SEEN
------------------------------------------------------------------------
api.openai.com 142 138 3 0 1 ⚠ YES 2026-06-17 09:12:04 UTC
api.anthropic.com 57 57 0 0 0 no 2026-06-17 14:33:21 UTC
------------------------------------------------------------------------
2 host(s) shown | ⚠ 1 Shadow AI indicator(s) detected
Options:
--since=<period> | Look back 24h, 7d, or 30d (default: 24h) |
--host=<hostname> | Filter to a specific target host |
--json | Output raw JSON instead of a formatted table |
--local | Local run logs only — no API key required (Free tier) |
Run vantio discover --help for full documentation.
Full discovery requires a Pro or Enterprise account. --local works on Free without any key.
Enforcement (Vantio Pro)
With a Pro VANTIO_API_KEY, the interceptor fetches policy from the Vantio Pro control plane and enforces it locally in your process. A few semantics worth knowing:
- Host scope — policy applies to known LLM hosts plus any host named in
blocked_hosts/allowed_hosts. blocked_hosts blocks any matching host (LLM or not); a non-empty allowed_hosts blocks any in-scope host not on the list. Unrelated traffic (OS, package managers, etc.) is never touched.
- Spend cap — the USD spend cap is best-effort and per-process. Bytes are estimated (request + response, including streamed responses counted after the fact), so the cap gates subsequent calls once the running total is crossed rather than aborting a call mid-stream, and it does not aggregate across processes.
Environment variables
VANTIO_API_KEY | Your API key from vantio.ai/dashboard |
VANTIO_INGEST_URL | Ingest endpoint (default: https://vantio.ai) |
VANTIO_TELEMETRY_DISABLED | Set to 1 to opt out of anonymous usage telemetry |
DO_NOT_TRACK | Set to 1 to opt out of anonymous usage telemetry |
Anonymous telemetry
Vantio sends a small anonymous, opt-out usage ping (a random id, runtime/OS, LLM hostnames, and counts) to help prioritize providers and runtimes. It never includes prompts, completions, API keys, or PII, and never blocks your agent. Opt out with VANTIO_TELEMETRY_DISABLED=1 or DO_NOT_TRACK=1.
Supported runtimes
Auto-intercepts LLM calls when running Node.js processes (node, tsx, ts-node, npx).
Python, Ruby, and other runtimes are spawned normally without interception — use the Python SDK for those.
Supported LLM providers
api.openai.com · api.anthropic.com · generativelanguage.googleapis.com · api.cohere.ai · api.mistral.ai · api.groq.com · api.together.xyz · api.perplexity.ai · inference.ai.azure.com
SDK
For explicit trace correlation across async hops, use the SDK alongside the CLI:
npm install @vantio/agent-sdk
import { shield, reportAnomaly } from "@vantio/agent-sdk";
await shield(async () => {
await runMyAgent();
});
vantio.ai · Optics · Pricing · MIT License