Skip to main content

Telemetry

BFFless sends a small amount of anonymous install telemetry so the project can see roughly how many instances are running and which versions are in use. This helps prioritize releases and is the only way the project can tell that self-hosted installs exist at all.

It is opt-out: telemetry is on by default and can be disabled at any time.

What is sent

A single anonymous ping shortly after startup, then once a week:

FieldExampleNotes
Install IDrandom UUIDGenerated once per instance; not tied to you or your data
Version0.1.72The CE version you're running
OS / architecturelinux / x64From the Node.js runtime
Node versionv20.11.1
Storage providers3Which storage backend is configured
Project / deployment / user counts2-5Bucketed ranges, never exact numbers

What is never sent

  • Your domains or URLs
  • Any deployed content, assets, or file names
  • User emails, names, or any personal data
  • Project names, API keys, or secrets

Counts are reported as coarse buckets (e.g. 2-5, 6-20) specifically so they can't be used to identify a particular instance.

How to turn it off

During setup: uncheck "Send anonymous usage data" on the final step of the setup wizard.

Anytime, from the admin UI: Settings → General → Anonymous Usage Data → toggle off.

Via environment variable (always wins, even over the UI setting):

TELEMETRY=off

Then restart: ./stop.sh, then ./start.sh.

Self-hosting the collector

Telemetry is sent to https://bffless.app/api/telemetry by default. If you'd rather point it somewhere you control (or a black hole), set:

TELEMETRY_ENDPOINT=https://telemetry.example.com/ingest

The request is a fire-and-forget POST with a short timeout — if the endpoint is unreachable, BFFless ignores the error and continues normally.