.env.example to .env.local and configure only the features you need.
AI Summarization
AI-powered news briefs use a 4-tier fallback chain: Ollama (local) → Groq → OpenRouter → Browser (Transformers.js).string
Groq API key for fast LLM inference (Llama 3.1 8B). Primary cloud provider.Free tier: 14,400 requests/day
Get yours at: https://console.groq.com/
Get yours at: https://console.groq.com/
string
OpenRouter API key for multi-model fallback.Free tier: 50 requests/day
Get yours at: https://openrouter.ai/
Get yours at: https://openrouter.ai/
string
default:"http://localhost:11434"
Ollama or LM Studio server URL for local AI inference. No data leaves your machine.Example:
Example:
http://localhost:11434 (Ollama default)Example:
http://localhost:1234 (LM Studio default)string
default:"llama3.1:8b"
Model name for local Ollama inference. Auto-discovered in desktop settings.Default:
Popular alternatives:
llama3.1:8bPopular alternatives:
mistral, qwen2.5:7b, gemma2:9bCross-User Cache (Redis)
Deduplicates AI calls and caches risk scores across all visitors.string
Upstash Redis REST URL for global cache.Get yours at: https://upstash.com/
Example:
Example:
https://us1-pretty-hamster-12345.upstash.iostring
Upstash Redis authentication token.
Market Data
string
Finnhub API key for real-time stock quotes and market data.Free tier: 60 requests/minute
Get yours at: https://finnhub.io/
Get yours at: https://finnhub.io/
Energy Data
string
U.S. Energy Information Administration API key for oil prices, production, and inventory.Get yours at: https://www.eia.gov/opendata/
Economic Data
string
Federal Reserve Economic Data (FRED) API key for macro indicators and economic metrics.Get yours at: https://fred.stlouisfed.org/docs/api/api_key.html
Aircraft Tracking
string
Wingbits API key for aircraft enrichment (owner, operator, type metadata).Get yours at: https://wingbits.com/
string
OpenSky Network OAuth2 client ID for higher rate limits from cloud IPs.Get yours at: https://opensky-network.org/
string
OpenSky Network OAuth2 client secret.
Conflict & Protest Data
string
Armed Conflict Location & Event Data (ACLED) API token for conflict and protest events.Free tier: Available for researchers
Get yours at: https://acleddata.com/
Get yours at: https://acleddata.com/
Internet Outages
string
Cloudflare Radar API token for internet outage detection.Requires: Free Cloudflare account with Radar access
Get yours at: https://dash.cloudflare.com/profile/api-tokens
Get yours at: https://dash.cloudflare.com/profile/api-tokens
Satellite Fire Detection
string
NASA Fire Information for Resource Management System (FIRMS) API key.Get yours at: https://firms.modaps.eosdis.nasa.gov/
Railway Relay Server
The relay server handles AIS vessel tracking, OpenSky aircraft data, RSS proxy, and Telegram OSINT polling.string
AISStream API key for live vessel positions via WebSocket.Get yours at: https://aisstream.io/
string
Server-side relay URL (https://) used by Vercel edge functions.Example:
https://relay.yourapp.comstring
Client-side relay URL (wss://) for local/dev fallback only.Example:
wss://relay.yourapp.comShared secret between Vercel and Railway relay. Must be identical on both platforms.Generate with:
openssl rand -hex 32string
default:"x-relay-key"
Header name used to send the relay secret.
boolean
default:false
Emergency production override to allow unauthenticated relay traffic.
number
default:60
Rolling window size (seconds) used by relay
/metrics endpoint.Telegram OSINT
Runs on Railway relay for MTProto stateful polling.string
Telegram MTProto API ID.Get yours at: https://my.telegram.org/apps
string
Telegram MTProto API hash.
string
GramJS StringSession generated locally.Generate with:
scripts/telegram/session-auth.mjsstring
default:"full"
Which curated channel list to ingest.Options:
full, tech, financeThreat Intelligence
string
URLhaus API key for malicious URL IOCs.Get yours at: https://auth.abuse.ch/
string
AlienVault Open Threat Exchange (OTX) API key for cyber threat enrichment.Get yours at: https://otx.alienvault.com/
string
AbuseIPDB API key for IP reputation enrichment.Get yours at: https://www.abuseipdb.com/
Trade Data
string
World Trade Organization API key for trade restrictions, tariff trends, and barriers.Get yours at: https://apiportal.wto.org/
Aviation Data
string
AviationStack API key for international airport delay data.Get yours at: https://aviationstack.com/signup/free
string
ICAO NOTAM API key for airport closure detection (Middle East focus).Get yours at: https://dataservices.icao.int/
Site Configuration
string
default:"full"
Dashboard variant.Options:
full (worldmonitor.app), tech (tech.worldmonitor.app), finance, happystring
API base URL for web redirect. When set, browser fetch calls to
Production:
/api/* redirect to this URL.Leave empty for same-domain API (local installs)Production:
https://api.worldmonitor.appstring
default:"3d"
Map interaction mode.Options:
3d— enables pitch/rotation interactions (default)flat— keeps pitch/rotation disabled (2D interaction)
string
Client-side Sentry DSN for error reporting.Leave empty to disable error reporting.
string
PostHog product analytics key.Leave empty to disable analytics.
string
PostHog instance host URL.
Desktop Cloud Fallback
string
Comma-separated list of valid API keys for desktop cloud fallback.Generate with:
openssl rand -hex 24 | sed 's/^/wm_/'Registration Database
string
Convex deployment URL for email registration storage.Set up at: https://dashboard.convex.dev/
Public Data Sources
These services require no API keys and work out of the box:- UCDP (Uppsala Conflict Data Program) — conflict data
- UNHCR (UN Refugee Agency) — refugee statistics (CC BY 4.0)
- Open-Meteo — weather data (Copernicus ERA5)
- WorldPop — population density
Rate Limits: Public APIs may have undocumented rate limits. The dashboard includes automatic circuit breakers and retry logic.