Skip to content

Telemetry

meetsu edited this page Jul 11, 2026 · 4 revisions

Telemetry

In short

  • Usage telemetry is opt-in. The first time you launch a telemetry-aware version, you are asked what you want; no usage event is sent before you answer.
  • There are two independent switches. You can turn on one, both, or neither.
  • Data goes to a server the project runs itself. No Google Analytics, no third party.
  • You can change your mind anytime in Settings > Privacy, and you can ask the server to forget your data.

The rest of this page goes into what each switch does and what happens behind the scenes.


accshift collects optional anonymous usage data to spot crashes and decide what to fix next. Telemetry is split into two independent modes.

The two modes

Mode A: anonymous counters

  • Generates a random local anonymous_id after opt-in. The server stores only an HMAC of it to avoid counting the same installation repeatedly; regular usage events keep a daily rotating hash.
  • Reports: app version, OS family and version, platform usage counters.
  • Default state at install: prompted during onboarding, on by default if accepted.
  • Toggle anytime in Settings > Privacy.

Mode B: install-scoped data

  • Generates a random install_id on opt-in. Tied to your install only, never to your account or hardware.
  • Lets accshift correlate events from the same install so a crash report can be matched to a usage pattern.
  • Default state at install: off, you must explicitly enable it during onboarding.
  • Disabling Mode B calls /forget on the server to delete data tied to the install_id, then clears the local id.

What gets counted

Every event carries the app version, OS family and version, and locale. The full list:

Event Extra fields Notes
ping none daily active-install counter
app_launched launch duration
platform_switch platform id, duration, success never the account
persona_switch platform count, success count never the persona name
account_added platform id never the account
streamer_mode_activated none streaming software was detected
deep_link_used none never the link itself (it contains account ids)
session_ended session duration
accounts_snapshot platform id, account count Mode B only

No event carries an account name, an account id, a persona name, or a URL.

Onboarding

On first launch after upgrading to a telemetry-aware version, the GUI shows a one-time onboarding dialog explaining both modes. You pick what you want; the choice is saved and the dialog never reappears unless the underlying config is reset.

The selected button also increments one aggregate refused, basic, or enhanced counter. This counter stores no installation or request identifier, including when you refuse usage telemetry.

Export my data

When Mode B is enabled, Settings > Privacy shows Export my data. This calls the server with your install_id and copies the returned JSON into your clipboard. Use it to audit what is stored about your install.

Send logs

Independent of Mode A / Mode B. Bundles your current and previous session logs into a zip, attaches an optional note (up to 1000 characters), and uploads them. The server returns a ticket id that gets copied to your clipboard so you can paste it into a bug report.

  • The note is optional. Use it to describe what went wrong.
  • No logs leave your machine unless you click the button.
  • Logs do not include account credentials. They do include redacted account IDs (first two characters plus ***) and platform-side error messages.

What the server stores

  • Mode A: daily pings keyed by an irreversible installation HMAC; ordinary usage events use a hash that rotates daily.
  • Onboarding: aggregate counts by date, app version and choice, with no identifier.
  • Mode B: events keyed by install_id. Erased on /forget.
  • Send logs: zipped log files plus the note, keyed by ticket id.

The Cloudflare Worker source is open. See the repository for the deployment.

Disabling everything

Settings > Privacy:

  • Toggle Mode A off.
  • Toggle Mode B off (triggers /forget).
  • Do not click Send logs.

No telemetry pings, no log uploads.

Clone this wiki locally