Trust surface

Usage analytics

A quiet public pulse for installs running Kunai — not a growth dashboard. Analytics is optional; enable or disable it in Settings.

Public pulse not published yet
The aggregate snapshot is missing or unreachable. That usually means the ingest cron has not run, the metrics URL is wrong, or the deployment is still warming up.

What Kunai promises

  • No watch history leaves the machine

    Titles, queries, providers, stream URLs, and file paths are never transmitted.

  • Install ids are hashed before storage

    The ingest keeps HMAC hashes of the install id with your platform, architecture, and version — never a raw UUID.

  • You are told before anything sends

    Setup asks up front, or a one-time notice appears on first launch. That first run always sends nothing. DO_NOT_TRACK and CI hard-block sends even if the setting says on.

Exact wire payload
Nothing else is accepted. Extra keys (titles, queries, URLs) are rejected.
{
  "installId": "<uuid>",
  "version": "<semver>",
  "os": "<platform>",
  "arch": "<arch>",
  "ts": 0
}

Preview locally with /analytics show

opt-in

Control it in the CLI

/analytics
Show status and toggle consent
/analytics show
Print the exact JSON that would be sent
DO_NOT_TRACK=1
Hard-blocks sends even if enabled