What leaves the machine? (network & telemetry)¶
This page lists every network destination Understand can contact, what triggers each, and how to disable it. It is written for firewall/egress reviews and air-gapped deployments.
Validate against your specific release
This list is verified against the current source, but endpoints and defaults can change between releases. Before relying on it for a security sign-off, confirm the behavior of your exact build with SciTools support at [email protected]. When in doubt, the safest posture is to block outbound traffic at the network and use offline licensing — Understand's core analysis never needs the internet.
Summary: hosts Understand may contact¶
| Host | Purpose | When | Default | How to stop it |
|---|---|---|---|---|
licensing.scitools.com |
License validation, update check, crash-report upload, Welcome-page tips | Online licensing; update check; crash (Windows); GUI startup | Online licensing on | Use offline/node-lock licensing; disable crash reports; block host |
stats.scitools.com |
Anonymous usage analytics (Matomo) | Periodically while the app/CLI runs | On | Uncheck analytics (see below) |
huggingface.co |
Download a bundled AI model | First time you select a not-yet-downloaded local model | Only if you use AI | Don't use AI, or pre-place the model file |
| Cloud AI provider hosts | AI inference with your prompts | Only if you switch AI to a cloud provider | Off (local model is default) | Keep AI local — see Local AI |
blog.scitools.com, support.scitools.com, scitools.com |
Help/blog links | Only when you click a link | n/a | Don't click; opens in your browser |
Everything below is the detail behind that table.
Usage analytics — on by default¶
Understand sends anonymous usage analytics to a Matomo instance at
https://stats.scitools.com/matomo.php. This is enabled by default, and it applies to the GUI and
to the und, userver, and uvalid command-line tools.
What is sent: a randomly generated tracking ID (a UUID, not tied to your identity), your operating system and version, the Understand build number, your license-type string, a coarse "skill" bucket based on how many sessions you've run, the project's programming languages, and feature-usage events (a category/action/label per tracked action). Understand's own description of this data:
"Enable anonymous usage statistics to help improve Understand. This includes information about features used, performance metrics, and system configurations, but no personal data or code."
No source code and no file contents are included.
Disable analytics¶
In the GUI: Preferences ▸ Privacy & Error Reporting, uncheck the anonymous-usage-statistics
option. This writes the org-level setting tracking/enabled = false, which is shared across the GUI
and the CLI tools on that machine.
On a disconnected machine, analytics simply fails
The analytics request is a best-effort HTTP POST. On an air-gapped machine it cannot reach
stats.scitools.com and silently fails — no data leaves. Disabling the setting stops the attempt
entirely, which is the cleaner posture for a locked-down environment.
Licensing — the primary phone-home¶
Online licensing contacts licensing.scitools.com (requests use https://<server>/api/v1/…). This
is the main outbound connection in a default install. It records the user name, device name, and IP
address of each seat in use.
To avoid it entirely on an air-gapped machine, license offline (offline checkout or node-lock), or point Understand at your own license server. See Licensing without internet.
Update check¶
Understand can check for a newer build via licensing.scitools.com/api/v1/getLatestBuild and resolve
a download path from …/api/v1/getUpgrade/{win,linux,mac}:
- Help ▸ Check for Updates performs the check on demand.
- The GUI Welcome page also fetches tips/"what's new" from
…/api/v1/getHintsat startup, and can resolve the upgrade path when its bundled hints indicate a newer build exists.
These are GUI conveniences that contact the licensing host. On an air-gapped machine they fail silently; blocking the host or running the CLI avoids them.
Crash reporting¶
If Understand crashes, the reporter can upload a report to
https://licensing.scitools.com/api/v1/logCrash. It sends the crash log (OS, build, message, loaded
modules, exception code, and stack) and, if you choose Send With Dump File, a zipped Windows
minidump.
The dump file can contain a little local data
Understand's own dialog warns that the Windows dump "might contain a small amount of proprietary local stack data, like the currently selected variable name." The default crash-log text does not include your source; the optional dump can include small stack fragments. Choose Send (log only) rather than Send With Dump File if that matters, or disable crash reporting.
Automatic crash reporting is Windows-only. On Windows the behavior is set in Preferences ▸ Privacy & Error Reporting — automatically send, ask each time (the default), or never send. On macOS and Linux, Understand does not capture or upload a crash automatically; the Privacy page only invites you to email details to [email protected]. See Understand crashed — how do I report it?.
AI model download and cloud providers¶
The bundled AI runs a local model on your own hardware. The only AI-related network activity in
the default configuration is a one-time model download from huggingface.co/SciTools/… when you
first select a bundled model that isn't already present. If you switch AI to a cloud provider
(OpenAI, Anthropic, Google, xAI, or a custom endpoint), then your prompts — including code context —
are sent to that provider. LM Studio and Ollama run locally. See
Local AI with no cloud calls and
What can the AI access?. Hosting the local AI server for a
team or as a boot-time daemon is covered in
Run the AI server as a background service.
Help and blog links¶
Understand's Help and Welcome surfaces list SciTools blog and support-article URLs (from a bundled list). These open in your web browser only when you click them; Understand does not fetch their content automatically.
Recommended air-gapped posture¶
- License offline (offline checkout or node-lock) — no licensing traffic.
- Uncheck anonymous usage statistics — no analytics attempts.
- Set crash reporting to Never (Windows) — no crash uploads.
- Keep AI on the bundled local model, or disable AI; pre-place the model file so no download is attempted.
- As a backstop, block outbound traffic to
*.scitools.comandhuggingface.coat the network.