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)

The one outbound connection the Viola desktop application makes at idle with the default configuration is a periodic check for a newer app version, roughly every 4 hours. That request carries no usage data, just a plain check against the current version. 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
useviola.com Checks whether a newer Viola version is available Always, about every 4 hours Your device → useviola.com

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 music source. Spotify works in the Windows desktop app; embedded browser playback is not offered.

HostnamePurposeTriggered byDirection
*.googleapis.com, www.youtube.com, music.youtube.com, www.youtube-nocookie.com, youtubei.googleapis.com, *.ytimg.com, img.youtube.com YouTube/Google music paths, privacy-enhanced embeds, and web player assets Music / YouTube feature Your device → Google
open.spotify.com, accounts.spotify.com, api.spotify.com, *.scdn.co Spotify playback and account sign-in in the Windows desktop app Desktop Spotify feature Your desktop device → Spotify

Google account and Calendar OAuth (user-connected)

Google OAuth covers account sign-in and Calendar where enabled. Gmail, Drive, Chat, and broader Workspace restricted-scope features are not included in the currently supported Google account features.

HostnamePurposeTriggered byDirection
calendar.googleapis.com Read / create / modify calendar events where Calendar is enabled Calendar command where enabled 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. Viola's managed AI 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
Viola's managed AI provider (US-based AI infrastructure) Viola's managed AI; usage counts against your plan allowance. LLM prompt, managed path Your device → Viola's managed AI provider (US-based AI infrastructure)
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. When you place or receive a call, the call pipeline (Telnyx plus Pipecat) runs on Viola's cloud server, not on your device; your device streams live call audio to and from the cloud pipeline over api.useviola.com.

HostnamePurposeTriggered byDirection
api.useviola.com Cloud phone pipeline: places/receives the call via Telnyx and streams live call audio to your device Phone enabled Your device ↔ Viola cloud
S3-compatible storage (your configured bucket), if you set one up Call recording storage; otherwise recordings are stored on Viola's cloud server disk Recording enabled + S3 bucket configured Viola cloud → 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 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/ViolaSetup-1.0.0.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 security@useviola.com. See security.html for responsible disclosure scope and response timing.