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
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
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
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
You can disable telemetry entirely using either an environment variable or your config file.
Environment variable
Linux / macOS
export FERRFLOW_ANONYMOUS_TELEMETRY=false
Windows
$env:FERRFLOW_ANONYMOUS_TELEMETRY = "false"
Accepted values to disable: false, 0, off, no (case-insensitive).
FerrFlow also honors the standard DO_NOT_TRACK environment variable — DO_NOT_TRACK=1 disables telemetry without any FerrFlow-specific configuration. FERRFLOW_TELEMETRY=false is kept as a fallback for backwards compatibility with v0/v1 configs.
The first time FerrFlow runs against a repo with telemetry enabled, it prints a one-line notice pointing here.
Config file
JSON
{
"workspace": {
"telemetry": false
}
}
TOML
[workspace]
telemetry = false
Either method is sufficient to disable telemetry. If the config file disables it, the environment variable cannot re-enable it, and vice versa.