the phone-home register
The glossary
The words this register uses, one plain line each; every acronym and grade word on the site links here.
The four grades. Measured: the program ran in our sandbox, with a planted caller proving the instrument could see, and the row prints what the run showed and did not. Witnessed: the call happened on one of our own machines and left a trace we can show in a redacted extract; it shows that it happened, not its full cadence. Read: the source at a named commit, or the maker's own page on a named day; we did not run it. Inferred: carried from a dependency's row, or from a package resolution on a named day; the row names what it leans on.
Sends by default. Whether the program makes a call out with nothing configured. Yes: it does, at the grade given. None found: we looked, to the depth the cell names, and found none. Likely: strong evidence short of a run (the switch's name and the collector's address inside the shipped library, say). Only if you opt in: only after you say yes. When chosen: a feature that sends by design once you pick it (a cloud model). Unclear: the evidence points both ways and the row says how. Not read: we have not read this program's own code; the cell says what we did check.
The depth of a look. Run: we ran it. Code read, call sites: we enumerated the program's network clients at a named commit (in Python requests, httpx, urllib, aiohttp, socket, grpc; in JavaScript fetch, XMLHttpRequest, net, https; in Go net/http and net.Dial; in Rust reqwest, hyper, TcpStream; and others each row names). Code read, keyword: a search of the source for telemetry words, which can miss a caller. Dependency only: we checked which version of a dependency it brings in, nothing more. Maker's document: the maker's own page, read on a named day.
Kind of call. Reports: sends information about your machine, your use or a crash. Checks: asks whether an update, a news item or a working network exists. Fetches: downloads something the program needs: a model, a kernel, a dictionary, interface files. Cloud you chose: a feature that runs on the maker's servers once you pick it. A program with several calls has one row per call; a count is per kind, never summed across kinds.
Trigger. Background: at start or on a timer, with no action of yours. On request: a side effect of a local request, such as a check made when a model loads. You asked: an explicit pull, download or build fetch.
When. The trigger, the first time it was seen after launch, and the network condition it was seen under: every attempt refused (the sandbox's resolver said no), every handshake hung up (our listener answered and hung up), every request answered, or on a working network. A timing can also depend on a state, such as whether the machine reads itself as on mains power.
Host class. The kind of place a call goes, so that an update check never reads as a usage report. Vendor telemetry collector: the maker's own service for reports. Vendor API: the maker's service for the program's features. Update service: where the program asks about new versions. Model hub: a repository of model files. Code host: a source-code hosting service, reached for a list or a file. Error tracker: a service that receives crash reports. Third-party analytics: a product-analytics service run by someone other than the maker. OS telemetry: the operating system's own reporting channel. Own resolver: the program looks names up itself over HTTPS or TLS (the encryption most connections use), so the names it then asks for are not visible to a name-level check. Hard-coded address: the program connects to an address written into it, with no name lookup; the register prints the address's registered owner and not the address. Local network, discovery: a broadcast on your own network to find other machines. Third-party service: a service run by someone other than the maker, reached for one of the program's own features (an avatar service, say). Package index: where pip and uv fetch packages from. Download server: a file server holding something the program fetches when it is missing (a kernel binary, say).
Asked / attributed / named. A host name is asked when the program itself looked it up or stated it in the handshake (the SNI) or the request (the Host header); attributed when we matched it from an address we observed instead; named when it is a dependency's default or a document's name, and we neither read nor saw the program's own request for it.
The switch. The variable, flag or file that stops a call, written as NAME=value, with where it has to be set and its proof state: proven on <version> (steps 1 and 2 on how we measure held in every run; the cell names any step not met); undecided (the call was never seen with the switch unset, or silence with the switch rests on fewer runs than the plan registered; the cell says which); does not stop it (the call went out with the switch set); documented; not tested by us or found in code; not tested by us (a read row); found in code and documented; we have not published a test of it (a read row: the switch is in the maker's document and in its code, and no test of ours is published); not decidable at depth N; read back (a setting set and read back from its own configuration, not tested on the wire); none found.
Also turns off / cost of off. What else a switch stops, and what the maker says that costs you, from the maker's own document.
Listens beyond the machine by default. Whether the program, as installed, accepts connections from other machines without being told to: loopback only (the machine itself), every interface, every interface in the official container image, n/a for a library, which listens for nothing, or not covered (no maker's document of its default bind read). From the maker's document or the code at a tag, at read grade; never a finding about authentication.
Other cloud features. Features that run on the maker's servers once you choose them, with the switch or the step that avoids each.
Vendor documents it? Whether the maker's own documents describe this call and its switch: yes, with the link and the date read; partly, naming what is missing; none found, naming the documents read and when.
Public discussion. Public issues, threads or posts about the call, by anyone, others' first and ours marked "ours". An empty cell means we found none.
Receipt. What a row rests on: the run's per-event file, the witness extract, the permanent link to the source lines, or the maker's document, by grade.
Loopback. The address a machine uses to talk to itself, named localhost; a call to it never leaves the machine.
Environment variable. A named value a program is given when it starts, such as ORT_DISABLE_TELEMETRY=1; read once, at start, from wherever the program was started.
Drop-in. A small extra file systemd reads beside a service's definition, used here to add one Environment= line without editing the service itself.
Name lookup (DNS). The step before most calls, in which a program asks for the address behind a name such as ollama.com; a sandbox that logs lookups sees a call's destination even when the call itself never leaves.
SNI. Server Name Indication: the server name a program states in the first, unencrypted message of an encrypted connection, so that a listener can log which host a call was for without reading anything else.
1DS. Microsoft's cross-platform telemetry library, which ONNX Runtime builds in on Linux, macOS, Android and iOS to upload its events.
ETW. Event Tracing for Windows: the operating system's own event channel, which ONNX Runtime uses on Windows instead of its own uploader, so the register's switch does not apply there.
DSN. Data Source Name: the key an error tracker such as Sentry gives a program so that crash reports reach the right project; it is built into the program, and the register never prints one.
OpenTelemetry. An open standard for sending traces and metrics from a program to a collector; a program using it sends to whatever collector it is configured with, which may be the maker's own.
Telemetry. A program's reports about its own use, sent to its maker; the word covers usage statistics, crash reports and diagnostics, and the register says which kind each row is.
Sandbox / network namespace. A way of running a program so that it has its own, separate network, here one with no route out, so that every call it tries can be counted and none can arrive.
strace. A Linux tool that records every system call a program makes, including each attempt to look up a name or open a connection; the measured rows' per-event files come from it.
Positive control. A planted program that calls out on purpose during a run; if the instrument does not see it, the run is void.
Linehaul. The name of the user-agent format pip and uv send to a package index, which carries the installer, the Python version, the operating system and its release and the processor, among other fields each row lists.