Skip to main content

Forward Proxy & Watch Mode

The forward proxy intercepts HTTPS traffic from any AI agent by acting as an HTTP CONNECT proxy with MITM TLS. Unlike the MCP gateway (which requires pointing agents at Quint), the forward proxy works with standard HTTP_PROXY / HTTPS_PROXY environment variables — zero code changes required.

How It Works

Quick Start

# Start the forward proxy with dashboard
quint watch

# In another terminal, run your agent with proxy env vars
export HTTP_PROXY=http://localhost:9090
export HTTPS_PROXY=http://localhost:9090
export SSL_CERT_FILE=~/.quint/ca/quint-ca-bundle.pem
export NODE_EXTRA_CA_CERTS=~/.quint/ca/quint-ca.crt

# Run any agent — traffic is automatically intercepted
claude --model claude-sonnet-4-20250514 "summarize this repo"
The dashboard opens at http://localhost:8080 showing live agent activity.

CLI Flags

FlagDefaultDescription
--port9090Proxy listen port
--dashboard-port8080Dashboard UI port
--policyauto-detectPath to policy.json
--static-dirembeddedServe dashboard from local dir (dev mode)
--no-dashboardfalseSkip starting the dashboard
--no-openfalseDon’t auto-open browser

Agent Environment Variables

Set these in any terminal where your agent runs:
VariableValuePurpose
HTTP_PROXYhttp://localhost:9090Route HTTP traffic through Quint
HTTPS_PROXYhttp://localhost:9090Route HTTPS traffic through Quint
SSL_CERT_FILE~/.quint/ca/quint-ca-bundle.pemTrust Quint’s CA (Go, Python, curl)
NODE_EXTRA_CA_CERTS~/.quint/ca/quint-ca.crtTrust Quint’s CA (Node.js)

Named Agents

To explicitly name an agent, use the proxy URL’s username field:
HTTP_PROXY=http://my-research-bot@localhost:9090
HTTPS_PROXY=http://my-research-bot@localhost:9090
This overrides auto-discovery and assigns the agent a fixed identity.

CA Certificate

Quint generates a local CA on first run using ECDSA P-256:
  • CA certificate: ~/.quint/ca/quint-ca.crt (valid 10 years)
  • CA private key: ~/.quint/ca/quint-ca.key
  • Combined bundle: ~/.quint/ca/quint-ca-bundle.pem (system CAs + Quint CA)
  • Leaf certificates: generated per-hostname, cached in memory, valid 24 hours
The CA never leaves your machine. Leaf certificates are signed on-the-fly for each unique hostname the agent connects to.

Provider Classification

Quint automatically classifies intercepted traffic into 46+ AI providers using domain matching:
ProviderDomains
anthropicapi.anthropic.com, mcp-proxy.anthropic.com
openaiapi.openai.com, chatgpt.com
googlegenerativelanguage.googleapis.com, aiplatform.googleapis.com
azure-openaiopenai.azure.com, cognitive.microsoft.com
aws-bedrockbedrock-runtime.*.amazonaws.com
mistralapi.mistral.ai
groqapi.groq.com
deepseekapi.deepseek.com
cohereapi.cohere.com
Full list includes 40+ providers: Together, Replicate, Fireworks, Perplexity, xAI, HuggingFace, Cerebras, SambaNova, NVIDIA, OpenRouter, Cloudflare, and 8 Chinese providers (Zhipu, Baidu, Alibaba, ByteDance, Moonshot, 01.AI, MiniMax, SiliconFlow).
Classification uses three tiers:
  1. Exact domain match — fastest, covers all known API endpoints
  2. Pattern-based — catches region-specific AWS/Azure/Databricks URLs
  3. Root domain fallback — handles unknown subdomains (e.g., console.anthropic.comanthropic)

Domain Policy

Control which domains are allowed or blocked:
{
  "forward_proxy": {
    "default_action": "allow",
    "log_bodies": true,
    "max_body_log_size": 8192,
    "domains": [
      { "domain": "*.openai.com", "action": "allow" },
      { "domain": "pastebin.com", "action": "deny" }
    ]
  }
}
Rules are evaluated first-match-wins with glob pattern support.

Architecture

The forward proxy integrates with all other Quint subsystems:
  • Agent Identity — auto-discovers agent type from User-Agent headers
  • Sub-Agent Detection — detects model divergence and concurrency spikes across CONNECT tunnels
  • Cloud Scoring — enriches local risk scores with the cloud API
  • Kafka Streaming — publishes events, spawns, and relationships
  • RBAC — enforces cloud JWT token policies