Privacy & Telemetry

What fuku collects and how to opt out.

Official release binaries include Sentry error tracking to help identify and fix bugs. This is completely transparent and can be disabled.

What Is Collected

  • Error types and stack traces (no file paths with usernames)
  • Performance traces for startup phases, tier sequencing, and shutdown
  • fuku process CPU and RSS memory samples (process-level only, no service names or machine identity)
  • Anonymous random ID for unique-user counting (stored locally, not linked to any real identity)
  • Environment metadata: OS, architecture, Go version, fuku version
  • Command and profile names, service/tier counts

What Is NOT Collected

  • Hostnames, IP addresses, or usernames
  • Service names, fuku.yaml contents, or log output
  • Environment variable values or file paths
  • Any personally identifiable information

How to Opt Out

Set an environment variable

Disables all telemetry regardless of DSN:

terminal
export FUKU_TELEMETRY_DISABLED=1

Build from source

When you build from source, no Sentry DSN is compiled in and telemetry is disabled by default.

terminal
git clone https://github.com/tab/fuku.git
cd fuku
go build -o cmd/fuku cmd/main.go

Reset anonymous identity

Delete the telemetry ID file to reset your anonymous identity. A new random ID is generated on next run.

terminal
# macOS
rm ~/Library/Application\ Support/fuku/telemetry.id

# Linux
rm ~/.config/fuku/telemetry.id

Update Notifications

On TUI startup, fuku queries the public GitHub releases API to see whether a newer release is available. When one is, the version footer renders an inline hint (e.g. v0.19.1 - ↑ v0.20.0). The request carries no payload from fuku beyond a standard HTTPS GET; GitHub may log the requesting IP per its own policies.

The result is cached for 24 hours in the user config directory (~/Library/Application Support/fuku/version.json on macOS, ~/.config/fuku/version.json on Linux), so subsequent runs do not hit the network. Network failures are silent.

Disable the check

Skips the GitHub request entirely:

terminal
export FUKU_UPDATER_DISABLED=1