-
Notifications
You must be signed in to change notification settings - Fork 0
Telemetry
- 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.
- Generates a random local
anonymous_idafter 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.
- Generates a random
install_idon 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
/forgeton the server to delete data tied to the install_id, then clears the local id.
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.
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.
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.
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.
- 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.
Settings > Privacy:
- Toggle Mode A off.
- Toggle Mode B off (triggers
/forget). - Do not click Send logs.
No telemetry pings, no log uploads.