Skip to content

Usage Statistics

Sublarr can send anonymous, opt-in usage statistics to help prioritise development, gauge compatibility, watch fleet health, and show real-world adoption. It is off by default and sends nothing until you explicitly enable it.

The processing rests on your consent (Art. 6(1)(a) GDPR). Consent is opt-in, default off, and withdrawable at any time — there are no consequences for leaving it off or turning it back off later. Withdrawing your consent also erases the data already collected from your install (see Right to erasure).

A single anonymous ping, roughly once every 24 hours. Every field is an enum, a boolean, or a coarse bucket — never a raw count and never free text.

FieldExampleWhy
install_idrandom opaque idDe-duplicate installs and count active ones; generated locally, not derived from anything identifying
version1.11.2Which versions are in use
archamd64 / arm64Platform split (e.g. Raspberry Pi adoption)
db_backendsqlite / postgresDeployment shape
providers_enabled["addic7ed"]Which providers are popular
library_size_bucket1k-10kRough deployment size (a bucket, never an exact count)
reported_atISO-8601When the ping was sent
FieldExampleValues
translation_enabledtrueboolean
translation_backendollamaollama / openai / none (type only — never a model name or URL)
media_server_typeembyjellyfin / emby / plex / kodi / none
sonarr_connectedtrueboolean
radarr_connectedfalseboolean
standalone_modefalseboolean
redis_usedtrueboolean
FieldExampleValues
interface_languagedelow-cardinality locale code
auth_typeproxynone / ui / proxy
update_channelstablestable / rc / beta (derived from the version suffix)

Each value is a bucket on the same scale as library_size_bucket (e.g. <100, 100-1k, 1k-10k), never an exact count.

FieldExample
series_bucket100-1k
movies_bucket<100
downloads_bucket1k-10k
translation_jobs_bucket<100

providers_enabled in the core cannot distinguish a deliberate choice from the default: an empty allow-list means “all registered”, so an install that picked nothing looks exactly like one that hand-picked every provider. This group separates the two, and adds which providers actually produce results.

FieldExampleWhy
curatedtrueWhether you restricted providers at all, or left the default
enabled["subdl"]Your explicit list — empty when curated is false
delivering["subdl"]Providers that produced at least one subtitle in the last 30 days

Provider names only. There is no per-provider count: a tally of how many subtitles each one produced would be a rough fingerprint of library size, and the payload rule is enum, boolean or bucket throughout.

FieldExampleWhy
auto_disabled_count0Anonymous fleet-health signal — how many providers auto-disabled, never which ones

No IP address, no hostname, no filesystem path, no series/movie title, no API key, no exact counts, and no per-user or per-library-content data. The /v1/ping endpoint does not store the client IP. Which provider credentials an install has configured is deliberately not collected.

  • Installs: an install’s row is kept only while it stays active. If it stops pinging, it is deleted 180 days after its last activity (last_seen).
  • Aggregate snapshots: the public trend charts are built from daily snapshots that hold only anonymous aggregate counts (no install_id). Because they are anonymous, they are kept for 24 months.

Because your install stores its own install_id locally, you can delete your data without knowing any server-side identifier. Turning the toggle off withdraws consent and fires POST /v1/forget {install_id}, which deletes your install’s row on the server. You never need to email anyone to be forgotten — though you still can (see the privacy policy).

  • New installs: you are asked once during onboarding.
  • Existing installs: you are asked once in the “What’s New” dialog after updating.
  • Any time: Settings → About → Anonymous usage statistics.

The public aggregate is shown at sublarr.de/stats.