Skip to content

Network Flows

Network connections Viola makes, what triggers them, and what each connection is for.

Updated with each release.

Baseline (always running)

These are the only outbound connections the Viola desktop application makes at idle with the default configuration. The desktop app sends no analytics pings, no background service heartbeats, and no behavioral telemetry. The useviola.com website separately uses Cloudflare's cookieless Web Analytics for aggregate page-view counts; see the Privacy Policy.

HostnamePurposeTriggered byDirection
None. At idle with default configuration, the Viola desktop application does not call out.

Telemetry and error reporting (off by default)

Desktop telemetry is disabled by default and requires consent before anything is sent. Error reporting also requires consent; payloads are scrubbed before send.

HostnamePurposeTriggered byDirection
api.useviola.com Opt-in telemetry ingestion endpoint Telemetry enabled + consent given Your device → Viola cloud
Configured Sentry DSN host Opt-in crash/error reporting Error reporting consent given Your device or Viola cloud → Sentry project
static.cloudflareinsights.com Cookieless aggregate page-view counts on useviola.com only Website page load Your browser → Cloudflare

Music providers (user-connected)

Only contacted after you connect or use a supported music provider. Spotify and YouTube/Google are the provider paths shipping today.

HostnamePurposeTriggered byDirection
*.googleapis.com, www.youtube.com, music.youtube.com, www.youtube-nocookie.com, youtubei.googleapis.com, *.ytimg.com, img.youtube.com YouTube Data API, YouTube Music, privacy-enhanced embeds, and web player assets Music / YouTube feature Your device → Google
api.spotify.com, accounts.spotify.com, open.spotify.com, www.spotify.com, i.scdn.co Spotify Web API, OAuth, web player, embeds, track / playlist URLs, and artwork Spotify connected Your device → Spotify

Google OAuth scopes (user-connected)

Google OAuth covers connected Gmail, Calendar, and supported Workspace actions. Requests only happen when a corresponding command is issued.

HostnamePurposeTriggered byDirection
gmail.googleapis.com Read / draft / send / modify email Email command Your device → Google
calendar.googleapis.com Read / create / modify calendar events Calendar command Your device → Google
oauth2.googleapis.com, accounts.google.com OAuth login and token refresh Google connected Your device → Google

Weather, air quality, and location lookup (command-triggered)

Only contacted when you ask for weather or when Viola needs to resolve a weather location. You can set a location manually to avoid IP-based lookup.

HostnamePurposeTriggered byDirection
api.weather.gov, wttr.in, configured weather-gfs endpoint Weather forecast and observation providers Weather command Your device or Viola cloud → weather provider
nominatim.openstreetmap.org, ip-api.com Location geocoding or fallback city lookup for weather Weather command without saved location Your device or Viola cloud → location provider
files.airnowtech.org Air quality reporting-area data Weather / air quality enabled Your device or Viola cloud → AirNow

AI providers (by execution path)

Only contacted when a prompt is issued. Prompts may include relevant profile fields, learned preferences/facts, and suggestion context when those features are enabled. Managed OpenAI is the default after sign-in; BYOK and local modes can replace it in Settings.

HostnamePurposeTriggered byDirection
api.openai.com OpenAI API (BYOK) LLM prompt, OpenAI path Your device → OpenAI
api.anthropic.com Anthropic API (BYOK) LLM prompt, Anthropic path Your device → Anthropic
generativelanguage.googleapis.com Google Gemini API (BYOK) LLM prompt, Google path Your device → Google
openrouter.ai, api.groq.com, api.together.xyz, api.mistral.ai, api.perplexity.ai, api.deepseek.com, api.fireworks.ai, api.x.ai, api.cohere.ai, or your configured OpenAI-compatible base URL OpenAI-compatible BYOK provider presets and custom endpoints LLM prompt, OpenAI-compatible path Your device → selected provider
api.openai.com Viola-managed OpenAI API access using Viola's API account; usage counts against your plan allowance. LLM prompt, managed path Your device → OpenAI API
Local (127.0.0.1) — Ollama or similar Local LLM inference LLM prompt, Local path Your device → your device
api.openai.com, api.deepgram.com Cloud speech-to-text when explicitly configured instead of local transcription Cloud transcription enabled Your device or Viola cloud → selected transcription provider

Phone features (opt-in)

Phone is disabled by default. Launch support uses local phone mode; cloud bridge rows below document the conditional traffic shape for deployments where cloud mode is enabled.

HostnamePurposeTriggered byDirection
api.telnyx.com Carrier signalling; PSTN call placement and receipt Phone enabled (local or cloud) Your device (local mode) or Viola bridge (cloud mode) → Telnyx
api.useviola.com Cloud phone bridge: multiplexes live call audio in cloud mode Phone enabled, cloud mode Your device ↔ Viola bridge
Configured tunnel host, such as phone.useviola.com for a named tunnel or *.trycloudflare.com for temporary Cloudflare quick tunnels Local phone webhooks when you explicitly expose a local phone endpoint Local phone tunnel enabled Telnyx / your device ↔ configured tunnel
S3-compatible storage (your configured bucket) Call recording storage, if recording is enabled Recording enabled Your device → your configured bucket

Account and billing (opt-in)

Only contacted if you sign in to a Viola account or subscribe to a paid plan.

HostnamePurposeTriggered byDirection
api.useviola.com, app.useviola.com Account auth, session, cross-device sync (opt-in), billing return surfaces, billing webhooks Account signed in Your device ↔ Viola cloud
api.stripe.com, checkout.stripe.com, billing.stripe.com Payment processing, hosted checkout, and hosted billing portal Checkout / billing action Your device → Stripe
Configured BTCPay host Bitcoin invoice checkout, when that payment path is selected Bitcoin checkout Your device → BTCPay

Messaging, email delivery, and owner alerts (configured)

Only contacted after you connect Telegram or configure cloud/operator delivery. Telegram desktop pairing QR codes are generated locally and are not sent to a third-party QR service.

HostnamePurposeTriggered byDirection
api.telegram.org Telegram bot messages, status checks, and webhook handling Telegram connected Your device or Viola cloud → Telegram
t.me Telegram account-link deep links Telegram connect link clicked Your browser → Telegram
configured SMTP host, api.resend.com, api.cloudflare.com User or operator email delivery, and Cloudflare Email routing when configured Internal messaging or email configured Your device or Viola cloud → selected provider
events.pagerduty.com, api.pushover.net, configured alert webhook URL Owner safety and operational alerts Owner alerts configured Viola cloud → selected alert provider

Admin dashboard (operator-only)

Only contacted when an authorized operator opens the admin dashboard.

HostnamePurposeTriggered byDirection
cdn.jsdelivr.net Dashboard charting asset Admin dashboard opened Operator browser → jsDelivr

Agent mode, browser automation, web search (opt-in)

These are triggered by your commands. Viola does not preemptively open connections.

HostnamePurposeTriggered byDirection
The site you directed Viola to Browser automation (Playwright / bundled Chromium) Browser command Your device → the target site
Your configured search endpoint, api.duckduckgo.com, lite.duckduckgo.com Web search Search command Your device → search provider
Your Home Assistant URL Smart home control Smart home command Your device → your HA instance
User-configured API Vault endpoints, connector template endpoints such as api.github.com, slack.com, api.notion.com, mcp.notion.com, maps.googleapis.com, and api.openweathermap.org User-authored API tools and connector templates API Vault command Your device or Viola cloud → selected API
login.microsoftonline.com, graph.microsoft.com Microsoft calendar OAuth and Microsoft Graph calendar access Microsoft calendar connected Your device → Microsoft

Updates

The desktop app checks a public update manifest for version, rollout, and support-floor metadata. It does not stage installer downloads or apply updates in the background. Updates are manual reinstall only.

HostnamePurposeTriggered byDirection
useviola.com/update/latest.json Public update manifest for version, rollout, and min/max supported-version metadata Startup / periodic update check Your desktop app → useviola.com
useviola.com/download, useviola.com/download/latest.exe Manual installer page and installer download User opens Download / reinstall Your browser → useviola.com

How to verify

Start Viola with no integrations connected and watch your network. You should see nothing going out. Connect an integration or issue a command that requires it, and the corresponding row above should light up.

If you find a flow not listed here, please email [email protected]. See security.html for responsible disclosure scope and response timing.