# CallHome

*Some programs that run AI models on your own computer also send information out of it: a usage report, an update check, a list of recommended models, a crash report. [CallHome](https://callhome.strata2signal.com/) is a register of the local AI programs we have run, benchmarked or read, and the system software around them: what each sends out by default, and the switch that stops each call. It is a sibling site of this hub with its own address. This page says what the register is, why we keep it, how to read a row, what it leaves out, and how to dispute a row.*

*Published 2026-10-12 (UTC) · A small (human) team and a fleet of AI agents.*

**the short version:** CallHome is one sortable table, one line per product and version, for the local AI programs we have run or read and the system software around them. Each line says whether the program makes a call out with nothing configured, what kind of call it is (a report, a check, a fetch, or a cloud feature you chose), when and to what kind of place, the switch that stops it, and whether we proved that the switch works. Every call on a line carries a grade, measured, witnessed, read or inferred, which caps what it may claim, and a receipt a reader can check. A product's name opens its own page; the whole register is downloadable as files. It describes; it does not rank.

892 words · about 4 minutes (at 220 words/min) · 0 tables · data kit: no

https://research.strata2signal.com/phone-home-register/

---

## 1 · What CallHome is {#what-callhome-is}

"Local AI" means a program that runs an AI model on a machine you own: a chat-model server, an image generator, a speech model, and the libraries under them. "Phoning home" is the everyday name for a program contacting its maker's servers on its own. Update checks and crash reports work this way; that is not, by itself, a sign of anything wrong.

[CallHome](https://callhome.strata2signal.com/) is a register of those calls. At its first release it holds 32 products in 60 rows (one row per call, per build), read or run between 2026-09-28 and 2026-10-11 (UTC), in four groups: servers and apps you run; libraries other tools install for you; research engines and model repositories we read; and Ubuntu and the network software around them. The live counts are on the register's own front page, which dates its own updates; phonehome.strata2signal.com leads to the same pages.

## 2 · Why it exists {#why-it-exists}

We run local AI ourselves: the voices of [the Beat Lab](https://studio.strata2signal.com), our music app, and [the long table](https://longtable.strata2signal.com), our dinner-party exhibit, speak through kokoro-onnx, which runs on ONNX Runtime. On 2026-09-28 (UTC) we published a sealed-container measurement of [ONNX Runtime's telemetry on Linux](https://research.strata2signal.com/onnx-runtime-telemetry-on-linux/); the next question was what else on these machines does that. The register is the answer: we check our own tools first.

A call out is not an accusation: beside what we found, most rows print the maker's own stated reason, in the maker's words. Some of these calls keep you safe or up to date; the register says how to turn each one off, not that you should.

## 3 · How to read a row {#how-to-read-a-row}

**The columns**, in the order a reader asks: the product and version; its group; whether it **sends by default**, with the depth of the look inside the cell; the **kind of call**, one row per call, counted per kind and never summed; **the switch**; and the receipt.

**The four grades** cap what a row may say: *measured*, *witnessed*, *read* and *inferred*. At the first release 3 rows are measured, 1 witnessed, 55 read and 1 inferred.

**The switch, and whether we proved it.** A switch reads "proven on" a version only when our logs saw the call with the switch unset and silence with it set, in every run we planned and wrote down before the first one, and the cell names any step of the method not met. At the first release one switch reads proven: ONNX Runtime's `ORT_DISABLE_TELEMETRY=1` on 1.30.0, from launch to 120 seconds, in 3 of 3 runs, two of seven steps not met and named. Most of the others say plainly that no test of ours stands behind them, and where the switch was found: in the documentation or in the code.

**The product pages** open cold: the one-sentence answer, each call with its receipt, the switch, and a dated history. Beside the table: [turn them off](https://callhome.strata2signal.com/turn-them-off/); [how we measure](https://callhome.strata2signal.com/how-we-measure/); [updates](https://callhome.strata2signal.com/updates/); [about](https://callhome.strata2signal.com/about/); and a [glossary](https://callhome.strata2signal.com/glossary/).

**The data files** are at [callhome.strata2signal.com/data/](https://callhome.strata2signal.com/data/), under CC BY 4.0. This hub keeps no copy, so the register's own files are the one source.

## 4 · What it does not cover {#what-it-does-not-cover}

The register covers the programs we looked at and names the ones we have not, with no finding either way, on its [about](https://callhome.strata2signal.com/about/) page (text-generation-webui, LocalAI, Jan, GPT4All, AnythingLLM, KoboldCpp and whisper.cpp among them, and builds for macOS, Windows and Linux on ARM). A measured row watched a program for its window and no longer; a read row was never run; every row we ran or saw running was on Linux on x86-64, and each row names the builds it covers. Nothing on it is a security finding: it lists calls out and documented defaults, not every risk a program carries. Research notes, not security advice.

## 5 · How to dispute a row {#how-to-dispute-a-row}

Corrections welcome: hello@strata2signal.com. A correction with a receipt (a maker's document, a release note, a commit, a run you can repeat) is acknowledged within 7 days and acted on within 14; until the row changes, it carries a visible line saying what was disputed and by whom. A maker's public statement is quoted beside its row, in its own words. A fix to our own error is headed "Correction" and keeps the old wording visible. Every change is dated on [updates](https://callhome.strata2signal.com/updates/); rows are re-read at least every 90 days.

The register keeps this hub's laws, no score, no ranking and no verdict word among them, and our practice. When we find a security problem in someone else's software, we tell its maintainers privately first, and we write about it only after they have published a fix or an advisory.

**[Open the register →](https://callhome.strata2signal.com/)**

## The rest of the seminar {#the-rest-of-the-seminar}

- [ONNX Runtime's telemetry on Linux, measured](https://research.strata2signal.com/onnx-runtime-telemetry-on-linux/): the sealed test the register's measured rows come from, and the page that started it.

## Who ran this, and thanks {#who-ran-this-and-thanks}

Every count on this page is read from the register's own data file at its first release; the receipt behind each row is on the register, by grade. A small (human) team runs the machines and decided what to switch off; a fleet of AI agents read the source, ran the sandboxes, audited them, and read these pages as a stranger would.

<!-- derived 2026-10-12 (UTC) by tools/derive_md.py from the pour source.
     source html sha256: 260772843fdaf0433eb2f1ff5ee36e7f27b9589b79364aa1390e0a669cb93e57
     derivation sha256:  2a7cbaee6fdeb735a5dcd429b54115fdf61671a7d9a3f5e7a172dfcbc87b3dab
     the {#id} on each heading is the anchor that heading carries on the page. -->
