Telemetry
FerrFlow collects anonymous usage telemetry to help improve the tool. This page explains exactly what is sent, how it is anonymized, and how to disable it.
What is collected
Section titled “What is collected”Each time you run a command, FerrFlow may send a single event containing:
| Field | Description |
|---|---|
event_type | The action performed: check, release, version_bump, or init |
commits_count | Number of commits since the last release |
repo_hash | A SHA-256 hash of your git remote URL (see below) |
Only fields relevant to the command are included. Empty fields are omitted.
How data is anonymized
Section titled “How data is anonymized”Your repository URL is never sent in plain text. FerrFlow computes a SHA-256 hash of the git remote URL and sends only the resulting hex digest. This lets us count unique repositories without knowing which repositories they are.
No source code, file names, commit messages, branch names, package names, version numbers, IP addresses, or personal information are ever collected or stored.
Where data is sent
Section titled “Where data is sent”Events are sent as a POST request to https://api.ferrflow.com/events. The request is asynchronous and non-blocking — it never slows down your workflow. If the request fails, it is silently discarded.
How to opt out
Section titled “How to opt out”You can disable telemetry entirely using either an environment variable or your config file.
Environment variable
Section titled “Environment variable”export FERRFLOW_ANONYMOUS_TELEMETRY=false$env:FERRFLOW_ANONYMOUS_TELEMETRY = "false"Accepted values to disable: false, 0, off, no (case-insensitive).
Config file
Section titled “Config file”{ "workspace": { "telemetry": false }}[workspace]telemetry = falseEither method is sufficient to disable telemetry. If the config file disables it, the environment variable cannot re-enable it, and vice versa.