DemoVoice Privacy Policy
Effective:
This policy covers DemoVoice, the browser extension for Chrome, Edge and Firefox that finds the demo of a FACEIT CS2 match, reads the players out of it and gives you the console commands to hear their voice comms. It is published by ZeroUtil. The policy for the zeroutil.com website itself is a separate document: zeroutil.com Privacy Policy.
The short version
DemoVoice has no account and no server of its own, and it never sends your demos, your match data or anything that identifies you. It does send anonymous usage counts to Google Analytics so we can see whether downloads work: which steps were used, whether a download or its player list succeeded, the error type when one failed, the extension version and the browser. On Chrome and Edge this is on until you switch it off in settings; on Firefox it is off until you allow it. Everything else it keeps stays in your browser on your computer.
What happens on FACEIT
On a FACEIT CS2 match room, DemoVoice adds a button under the match. When you press it, the extension asks faceit.com for the demo of that match: first the match details, which list the demo files, then a download link for the demo you picked. These are ordinary requests from your browser to faceit.com, made with the session you are already logged in with, the same way the FACEIT page itself would make them. The extension does not read your password, your cookies or your account details. From FACEIT's answers it uses only the list of demo files, the download link (used once, at the moment you press the button, and never saved), and the map name and match time it shows on the button.
Downloading and reading the demo
The demo archive is downloaded straight from FACEIT's file storage
(*.backblazeb2.com or *.faceit-cdn.net). It is decompressed and
read on your device, inside the extension. The only things read out of it
are the map name, for each player their in-game name, Steam ID, team and player slot,
and the voice chat the demo recorded, with when each line was spoken, so the extension
can save each player's voice as an audio file and show who talked when. The demo is
never uploaded anywhere.
While it downloads, the demo is staged in the extension's private browser storage and removed once it has been handed over. The finished file is saved either to your browser's downloads folder or, on Chrome and Edge, to the CS2 folder you chose (see below).
What is stored, and where
All of it is stored locally in your browser. None of it is sent to us.
- Demo library (
chrome.storage.local): for up to 30 recent demos, the match id, the file name, its size, when it was downloaded, the map, and the player list read from it (names, Steam IDs, teams and slot numbers). - Voice chat (the extension's private file storage): the voice read from your 10 most recent demos, so the audio files and the who-talked-when list can be made after the demo itself is gone. Older demos keep their player list without the voice, and removing a demo from the library removes its voice.
- Your roster ticks (
chrome.storage.local): which player slots you ticked, and any names you edited. - Preferences (
chrome.storage.local): whether players open in the popup or the side panel, and whether usage counts are on. - Usage count bookkeeping (
chrome.storage.local): the random install id described below, and small counters that stop the same count being sent over and over. - Your CS2 folder (Chrome and Edge only, IndexedDB): if you choose a folder in settings, the browser's handle to that one folder, so demos can be saved straight into it. The browser grants access to that folder only, and you can switch back to the downloads folder at any time.
- Temporary download file (the extension's private file storage): the demo while it downloads. It is deleted when the job ends, and any leftover from an interrupted download is cleared at the start of the next one.
You can remove a demo from the library in the extension, and uninstalling DemoVoice deletes everything listed above. Demo files already saved to your downloads or CS2 folder are yours and stay where they are.
Permissions and why each one is needed
- storage - keeps the library, your ticks and your preferences, as described above.
- offscreen (Chrome and Edge only) - runs the download, decompression and demo reading in a hidden extension page, because the extension's background service worker cannot create files and is not allowed to run a job that long.
- downloads (Chrome and Edge only) - saves the finished demo to your downloads folder under a readable name. Firefox saves it without this permission.
- sidePanel (Chrome and Edge only) - lets you show the players in the browser's side panel instead of the popup.
- Host access to
www.faceit.com,*.backblazeb2.comand*.faceit-cdn.net- to add the button to FACEIT match rooms, ask FACEIT for the demo, and download it from FACEIT's storage. No other sites. - notifications (optional) - not granted at install. The browser asks only if you turn notifications on in settings, so DemoVoice can tell you a demo is ready while you are in another window. Turning them off removes the permission.
The extension's content security policy allows wasm-unsafe-eval. That token
permits WebAssembly only, which the demo reader uses to decompress data inside the demo.
It does not allow running arbitrary script, and it is not unsafe-eval.
Anonymous usage counts
Store install numbers say how many people have DemoVoice, not whether it works for them.
To find out, the extension sends short event counts to Google Analytics
(www.google-analytics.com), which processes them for us. They are sent
directly by the extension; no script is loaded from Google.
What is sent:
- which step happened: the button appeared on a match room, a download started, finished, failed or was cancelled, the player list was opened (and whether in the popup or the side panel), which of the commands was copied, a CS2 folder was connected, the extension was installed or updated;
- when something failed, a fixed error type such as "link expired", "network" or "player list could not be read", never the error message itself;
- when one of DemoVoice's own pages hits an unexpected error, only the kind of error (such as "TypeError"), never its message;
- whether the demo was saved to your CS2 folder or your downloads, whether its player list could be read, and a rough size range;
- the extension version and the browser (Chrome, Edge or Firefox);
- a random id created when DemoVoice is installed, so counts from one install can be grouped, and once a day a "still installed" signal marked with whether DemoVoice was used that day.
The random id is not linked to your name, your FACEIT or Steam account or anything else about you, but it is a pseudonymous id: it tells one install's counts apart from another's. As with any request on the internet, Google also receives your IP address, which Google Analytics uses to estimate a rough location (country and region) and does not store or show us.
What is never sent: FACEIT match ids or links, player names or Steam IDs, file names, the demo or anything read from it, error messages, or the pages you visit.
Your choice: on Chrome and Edge the counts are on until you untick
"Send anonymous usage stats" in DemoVoice's settings. On Firefox they are off until you
allow them, either on the install prompt or with the same setting; the extension declares
them as the optional technicalAndInteraction category of Firefox's
data_collection_permissions and requires nothing. Google Analytics keeps this
event data for two months.
What DemoVoice does not do
- No account and no sign-in of its own.
- No remote code: everything it runs ships inside the extension package.
- No selling, renting or sharing of data. The usage counts are used only to see whether DemoVoice works.
- No ads.
Links that leave the extension
DemoVoice contains a few links. Nothing is sent when they are displayed; you only visit a site if you click one, and that site's own privacy policy then applies:
- the "Sponsored by zeroutil.com" line and the contact link, which open zeroutil.com (these links carry
utm_tags so we can count visits from the extension); - "Rate DemoVoice", which opens the extension's review page in the store you installed it from;
- "Donate", which opens a Stripe payment page;
- on the welcome page, links to FACEIT, to the CS2 Voice Comms Calculator on zeroutil.com, and an email link to our support address.
Children
DemoVoice is not directed at children under 13 and collects no personal information from anyone.
Changes
If this policy changes, the effective date at the top changes with it. A change that would send any data off your device would be stated here before it shipped.
Contact
Questions about this policy or about DemoVoice: the contact form (DemoVoice is preselected), or email [email protected].