Rather than streaming events as they happen, the extension batches usage counts locally and sends a single compact payload periodically. Here's an example of what gets transmitted:
That's it. The entire payload. No page URLs, no chat content, no keystrokes, no click coordinates, no device fingerprint.
- extension_id
- Which extension sent this - needed so we can route counts to the right project.
- v
- The extension version, so we can spot regressions in specific releases.
- bm
- Build mode (production / staging / development) - separates real usage from testing.
- t
- Local timestamp of when the batch was flushed.
- u
- A random installation ID created on your device. It is not tied to any account or name. It lets us count installations rather than submissions, and it is the ID your country is stored against (see "Storage, retention & security").
- fk / fv
- Only present while an A/B test is running: which test this installation is in and which variant it sees, so results can be compared per variant.
- e
- An object mapping short event keys to integer counts. Every possible key is listed below.
This is the complete, exhaustive list. The extension cannot send anything that isn't on this page - if it's not here, it isn't being collected.
Things explicitly not collected
- Personal identifiable information (PII)
- Telegram messages or media content
- Login credentials or authentication tokens
- Browsing history outside of Telegram Web
This extension runs two distinct data flows. Both are anonymous, and both are listed here in full.
Lets us see which features are used, spot regressions after a release, and decide what to build next. Every field is on the "What a single submission actually looks like" sample below.
- Installation UUID (random, not tied to any account)
- Extension version and build mode
- Integer counts for each event listed below
- Local timestamp of the flush
- Your country (a two-letter code from our network provider - your IP address is never stored)
Two small background requests that run whether or not Anonymous Analytics is on. A heartbeat every 5 minutes lets us count how many installations are active and on which version. An hourly check fetches announcements, update notices and remote feature switches (used to turn off a broken feature quickly). Neither carries usage counts, page content or anything about what you do on the site.
- Installation UUID (the same random ID analytics uses, not tied to any account)
- Extension version and build mode
- When this installation was first and last seen (one row, overwritten on each check-in - no history)
- A one-way hash of a random secret created on your device, so no one else can reuse your installation ID
This is a small indie project with no users table, no sign-ups, and no way to "ask" anyone what they think. Anonymous counts are the only feedback loop we have - and they directly shape what gets built next.
In short: opting in is the single most useful thing you can do to shape the extension - and it costs you nothing but a handful of integers per week.
- Local settings: Your preferences stay on your device in Chrome's local storage. They never leave your browser.
- Transport: All traffic to our backend goes over HTTPS.
- Where it lives: Data is stored in a password-protected, managed database. Only our own analytics server reads or writes it - the extension never talks to the database directly.
- Retention varies per system: See each system's detail card above for its retention rule. In short: anonymous counts roll up for up to 12 months; the service check-in row is overwritten on each check-in and kept until you ask for it to be deleted.
- Country: When analytics is on, our network provider works out which country a submission comes from, and we store that two-letter code once against your installation ID. Your IP address is never stored. We use the country only to see roughly where the extension is used - for example, to decide which languages to support. It is kept while analytics stays on and deleted shortly after you turn analytics off.
- Feedback form: If you choose to submit feedback via the popup button, that's a separate web form - it may ask for an optional email, and that data is handled under the same no-sharing rules. The extension itself never collects or transmits feedback data.
- Opt out of analytics instantly: Flip the "Anonymous Analytics" toggle in the popup. Collection stops at that moment.
- Service check-ins: The heartbeat and update check run even with analytics off and carry no usage data. Turn "Update Notifications" off in the popup to stop the hourly check; uninstalling stops both.
- Turning analytics off deletes your country: Usage counts are tied only to a random installation ID, never to an account or name. The one location detail, your country, is deleted from our server shortly after you turn analytics off.
- Uninstall: Removing the extension clears all locally-stored settings and preferences from your device.
These are the exact data-usage declarations made on the Chrome Web Store listing page for this extension. The listing's "Privacy practices" tab and this report should always agree - if they don't, the report is wrong and we want to know. Where a category is ticked below, the link under it points to the exact section on this page that backs the declaration.
Data the extension collects
Certifications
- I do not sell or transfer user data to third parties, apart from the approved use cases.
- I do not use or transfer user data for purposes that are unrelated to my item's single purpose.
- I do not use or transfer user data to determine creditworthiness or for lending purposes.
Our entire analytics stack is intentionally minimal. We don't use Google Analytics, Mixpanel, Sentry, or any consumer tracking SDK. Data is processed only on our own analytics backend - it is never shared with, resold to, or syndicated through advertising networks or data brokers. Requests reach that backend through our network provider, which also supplies the country described under "Storage, retention & security".
If we change what is collected - for example, to add a new event when a new feature ships - this page is updated and the "last updated" date at the top will reflect the change. The same page is the single source of truth: if it isn't listed here, it isn't being collected.
If something here is unclear or you want more detail on any event, the fastest way to reach us is the feedback button in the extension popup. That opens a simple form - no account required.