Skip to main content

Summary

  • The Flox CLI sends Flox usage telemetry and error reports. Both carry a random device ID, which Flox links to your FloxHub account when you sign in.
  • FloxHub logs the requests the CLI sends it, such as package searches and installs, with your IP address.
  • Flox doesn’t upload your source files, except in packages you publish. When you push an environment, FloxHub stores its manifest and lockfile.
  • FLOX_DISABLE_METRICS=true turns off telemetry and error reports. It doesn’t stop the requests that features such as search and install need.

What Flox collects

CLI telemetry

The CLI records an event for each command you run. Events contain the command name, whether it succeeded and how long it took, and your Flox version, operating system, CPU architecture and shell. They also contain the search terms, package names and environment names you use, and a label for the tool that started Flox, such as CI or an AI coding agent. In a shell where you activated an environment, Flox also records events at each prompt. Flox saves events on your machine and sends them in the background from time to time. Events don’t contain your hostname, error messages, the commands you run inside an environment, or your manifest’s variables and scripts. Each event carries a random device ID that Flox creates the first time you run it. When you’re signed in, Flox also records your FloxHub account ID with your events. Flox links your device ID to your account, so events the device sent before you signed in are linked too. The install script also reports each install, with your operating system, CPU architecture and whether the install succeeded.

Error reports

If you installed Flox with Flox’s installers or Homebrew, or use the flox/flox container images, Flox sends error reports and performance traces to Sentry. They contain error messages, recent log messages, and the timing of each step with the values it worked on, such as search terms, package names, environment names and file paths. They carry your device ID and your computer’s hostname.

Requests to the catalog and FloxHub

Searching for, installing and upgrading packages, flox run, publishing, and using FloxHub environments all send requests to the catalog and FloxHub. Each request contains what the feature needs, such as a search term or an environment’s package list. FloxHub records each request with your IP address, and with your FloxHub handle when you’re signed in. When telemetry is on, requests also carry your device ID. flox activate also starts a background check for package upgrades. When you’re signed in, the check sends the environment’s package list to the catalog from time to time.

Environments you push

When you push an environment, FloxHub stores its manifest.toml and manifest.lock for every generation, including [vars] values and hook scripts. Each push also records your login name, hostname and the flox command you ran. FloxHub makes environments you push public by default, so keep secrets out of a manifest you push.

Your account and the FloxHub website

Your FloxHub account stores your email address and the profile your sign-in provider returns. Flox shares account details with the services it uses for analytics, marketing, support and billing. The FloxHub website and sign-in pages use analytics and advertising tools, which Flox CLI settings don’t affect. The privacy policy describes them.

Retention

Flox keeps telemetry and FloxHub’s records of catalog requests indefinitely. Flox keeps the manifests and lockfiles you push indefinitely, also after you delete the environment. Error reports expire automatically.

Turn off telemetry

Add this line to your shell profile:
This turns off telemetry, error reports and the device ID. Set it before you run Flox for the first time, so that Flox never creates a device ID. Turning telemetry off later doesn’t delete a device ID or unsent events that Flox already saved on your machine. If you turn telemetry back on, Flox sends them. The variable accepts only true or false. Any other value, such as 1, makes Flox commands exit with an error. To save the setting in your user configuration instead, run flox config --set disable_metrics true. Other places to set it:
  • Every user on a machine: add disable_metrics = true to /etc/flox.toml, and export FLOX_DISABLE_METRICS=true from a system-wide shell profile.
  • CI: set FLOX_DISABLE_METRICS=true in the job’s environment.
  • Imageless Kubernetes: see Imageless Kubernetes configuration.
  • The install script: it reads only the environment variable.

Confirm telemetry is off

flox config prints the value Flox uses:

Enforce it

A user can override these settings, so Flox can’t enforce them. To enforce them, block these endpoints at your network edge:
  • api.flox.dev/events, which shares a hostname with the catalog API, so blocking it needs a proxy that filters by path
  • z7qixlmjr3.execute-api.eu-north-1.amazonaws.com
  • *.ingest.us.sentry.io

What turning it off doesn’t stop

  • Requests that features need, and FloxHub’s records of them with your IP address
  • The background upgrade check, which sends the package list to the catalog when you’re signed in
  • The login name, hostname and flox command that each push records
  • Analytics on the FloxHub website

Self-hosted FloxHub

The CLI sends telemetry and error reports to Flox even when you point it at a self-hosted FloxHub. Turn telemetry off on every machine that uses your FloxHub. Serve /.well-known/oauth-protected-resource from your FloxHub, or flox auth login signs in through Flox’s hosted sign-in. With its default configuration, the self-hosted FloxHub server sends no telemetry or error reports to Flox.

Data requests and deletion

To ask for a copy of your data or to delete your account, email privacy@flox.dev. Before you ask, delete the FloxHub environments you no longer want and revoke your personal access tokens. Deleting your account doesn’t delete telemetry, logs or backups Flox already has, packages you published, the manifests and lockfiles you pushed, or copies that other services hold.

Privacy policy and compliance