FerretDB collects anonymous usage data and sends them to our telemetry service (FerretDB Beacon), which helps us understand its usage, and how we can further increase compatibility and enhance our product. It also enables us to provide you information about available updates.
Your privacy is important to us, and we understand how sensitive data collection can be, which is why we are not collecting any personally-identifying information or share any of the data with third parties.
The following data will be collected:
- FerretDB version
- Random instance UUID
- Autonomous system number, cloud provider region, or country derived from IP address (but the IP address itself)
- Backend (PostgreSQL or Tigris) version
- Build configuration and installation type (Docker, package, self-built)
- Query errors: error code, command name, and query operator name (but not the query itself or its values)
When a FerretDB update is available, the telemetry service sends periodic reports containing information about the latest FerretDB version.
This information is logged in the server logs,
serverStatus command output.
While you may not upgrade to the latest release immediately, ensure that you update early to take advantage of recent bug fixes, new features, and performance improvements.
The telemetry service has three state settings:
When the state setting is
undecided, users have a delay period of one hour after startup before telemetry data is reported.
We urge you not to disable this service, as its insights will help us enhance our software.
While we are grateful for these usage insights, we understand that not everyone is comfortable with sending them.
If you disable telemetry, automated version checks and information on updates will not be available.
Telemetry can be disabled using any of the following options:
Pass the command-line flag
--telemetryto the FerretDB executable with value:
Set the environment variable
DO_NOT_TRACKenvironment variable with any of the following values:
Rename FerretDB executable to include a
If telemetry is disabled using this option, you cannot use the
--telemetryflag or environment variables until the
donottrackstring is removed.
db.disableFreeMonitoring()command on runtime.
If the telemetry is set via a command-line flag, an environment variable or a filename, it's not possible to modify its state via command.
If telemetry is disabled, enable telemetry with the command-line flag
--telemetry and assign any of these values to it:
You can also use
FERRETDB_TELEMETRY environment variable with same values.
If telemetry is disabled with a
donottrack string in the executable,
donottrack string to use the command-line flag and values again.
It's also possible to enable telemetry on runtime via