Skip to content

Network Firewall & Offline Mode ​

DevDiff is designed with an Offline-First Architecture. By default, DevDiff requires zero internet connectivity to index codebase memory, analyze AST diffs, generate changelogs, or run security scans.

When cloud-hosted AI models (OpenAI, Anthropic, Gemini) are explicitly configured, DevDiff's Network Firewall enforces strict host allowlists, zero-telemetry outbound filtering, and local proxy control.


Architecture & Outbound Flow ​


Security Capabilities ​

1. 100% Offline Mode (Default) ​

  • When paired with local Ollama models (llama3.2, codellama, deepseek-coder, qwen2.5-coder) or WebGPU, DevDiff runs 100% offline.
  • Network interfaces remain dormant; no external DNS lookups or HTTP requests are issued.

2. Strict Host Allowlist Enforcement ​

When cloud providers are enabled, the network firewall restricts outbound connections exclusively to verified AI endpoint domains:

  • api.openai.com (OpenAI API)
  • api.anthropic.com (Anthropic API)
  • generativelanguage.googleapis.com (Google Gemini API)

Any attempt to open connections to unrecognized domains or IP addresses is blocked with a security exception.

3. Zero Telemetry & Category Blocklist ​

  • Built-in Category Blocking: The firewall automatically blocks 100+ known tracking domains across 5 categories: telemetry (Mixpanel, Segment, Amplitude), analytics (Google Analytics, Tag Manager), errorTracking (Sentry, LogRocket, Rollbar), advertising (DoubleClick, LinkedIn Ads), and cdn_unknown.
  • Auditing & Control: Inspect network history via devdiff network history, watch connections in real time via devdiff network watch, and verify system disclosure with devdiff disclose.

4. Custom Enterprise Proxy Support ​

For enterprise corporate networks requiring outbound HTTP/HTTPS proxying, DevDiff respects standard proxy environment variables:

bash
export HTTP_PROXY="http://proxy.internal.company.com:8080"
export HTTPS_PROXY="http://proxy.internal.company.com:8080"
export NO_PROXY="localhost,127.0.0.1"

Configuration in .devdiff/config.json ​

json
{
  "network": {
    "offlineOnly": true,
    "allowlist": [
      "api.openai.com",
      "api.anthropic.com",
      "generativelanguage.googleapis.com"
    ],
    "strictSSL": true,
    "logOutboundRequests": true
  }
}