Store policy and privacy
Extension analytics is a compliance question before it is a product question. This page is what to tell each store, and why an integration here is straightforward to get approved.
Chrome Web Store
Two policies matter.
No remote code. Manifest V3 requires that all executable code ship inside the extension package. A conventional analytics snippet fetches its own script at runtime, which is remote code and grounds for rejection. This SDK is a bundled dependency. Nothing is fetched and executed; the only network traffic is data, sent to a documented endpoint.
The User Data Policy requires you to disclose what you collect, use it only as disclosed, and keep it to what the advertised function needs. What an integration here collects:
| Collected | How to disclose it |
|---|---|
| A random identifier generated on first run, kept in your extension's own storage | Not personally identifiable, and not derived from the device or the person |
| The event names and properties you choose to send | Whatever you actually send, which is up to you |
| A country, resolved from the request address, which is then discarded | Coarse location |
None of that is personally identifiable unless you make it so by attaching your own user data to event properties. The naming guide asks you not to, and this is why: your disclosure describes what the SDK collects, and it stops being accurate the moment you put an email address in a property.
In the listing's data-collection section, an integration following this guidance typically declares no personally identifiable information, no health data, no financial data, no authentication information, no personal communications, no location beyond coarse country, and no web history.
Mozilla Add-ons
Mozilla reviews by hand, and a person reads your source. That works in your favour here: a bundled dependency making one documented request is quick to assess, where an obfuscated snippet fetching remote script is exactly what gets an add-on held for weeks.
Two things to have ready.
A privacy policy URL, required for any add-on that transmits data. It has to say what is collected and where it goes.
Source for review. If you ship a bundled or minified build, Mozilla may ask for the original source and build instructions. Nothing in this SDK obstructs that. There is no obfuscation and no runtime code loading.
Data residency
Data is stored in Canada. For customers who need it somewhere specific, or inside their own network, see self-hosting.
What this never does
- No cookies.
- No fingerprinting, canvas or otherwise.
- No cross-extension or cross-site identity. The identifier is scoped to the one extension or site that generated it, so the same person using two of your products is two unconnected identifiers. That is a property of the construction, not a promise about policy.
- No storage of network addresses. One is used transiently to resolve a country, then discarded.
- No selling or sharing of data with anyone.