Install Telemetry (transparent and optional)
We collect a tiny amount of anonymous telemetry during installation to answer basic questions:
- How many installs started/completed?
- Do we have regressions causing installer failures by OS/arch?
This helps us prioritize fixes and track the health of releases. We designed it to be anonymous, minimal, and easy to opt out of.
What is sent
The install scripts emit at most one of each of these events per run:
install_start
install_complete
install_failed
Alongside the event name, we send the following keys:
os
: operating system (e.g.,windows
,linux
,darwin
)arch
: architecture (e.g.,x86_64
,arm64
)platform
: specific release target (e.g.,windows-x86_64
,macos-aarch64
)release
: release tag being installed (e.g.,v0.1.2
), orunknown
on fallbackmethod
: installer type (powershell
orshell
)cid
: a random, anonymous client id (see below)
Example payload (PowerShell):
{
"event_label": "install_start",
"os": "windows",
"arch": "AMD64",
"platform": "windows-x86_64",
"release": "v0.1.2",
"method": "powershell",
"cid": "9b7f0ee2-0a5a-4bda-8f1a-3a9d53f1b3e7"
}
Anonymous client id
Both installers generate a random GUID the first time they run and save it to a local file:
- Windows:
%USERPROFILE%/.runmat/telemetry_id
- Linux/macOS:
$HOME/.runmat/telemetry_id
This id lets us count starts/completions without using personal or device identifiers. You can delete the file at any time; a new random id will be generated if telemetry is enabled later.
Where telemetry goes
The installers post to https://runmat.org/api/telemetry
(source code for that handler is here). That endpoint:
- Forwards the event to Google Analytics (Measurement API) with the anonymous
cid
- Stores nothing server‑side beyond standard, short‑lived service logs
If forwarding fails, the installer continues and your installation isn’t affected.
How to opt out
Set one of these environment variables before running the installer to disable telemetry:
RUNMAT_NO_TELEMETRY=1
RUNMAT_TELEMETRY=0
Alternatively, you can remove the local telemetry_id
file afterwards (see paths above). Future runs will remain opted out while those environment variables are set.
Scope
Telemetry is emitted only by the installers. The runtime (runmat
CLI) does not send telemetry.
Source
- Windows installer:
website/public/install.ps1
- Linux/macOS installer:
website/public/install.sh
- API proxy:
website/app/api/telemetry/route.ts
We welcome feedback. If you have questions or concerns, please open an issue or contact the maintainers.