Skip to content

Privacy disclosures

The Chrome Web Store privacy-practices tab asks what user data your extension collects, category by category. This page maps the kit’s actual collection footprint to those categories, with template answers you can paste.

data where it goes notes
Auth profile (email, name, avatar, uid) Firebase Authentication only when the user signs in; anonymous-first mode creates an account without personal info
Billing state (plan, subscription status, Stripe customer ID) Stripe + Firestore customers/{uid} only when the user purchases; card data never touches your code (Stripe Checkout hosts it)
Usage counters (feature/action counts, keyed by uid) Firestore usage/{uid} gate events; no page URLs or content
Crash reports (error message, stack, surface name, extension version) Firestore errors consent-gated (“Share crash reports” toggle), keyed by a random install ID, never a uid; content scripts report only errors whose stack points at the kit’s own bundle

What the kit does not collect, by construction: no analytics, no browsing history, no host-page content, no keystrokes, no location. Support logs never upload (they live in storage.session and export only when the user explicitly copies them).

CWS asks “Which of the following types of user data do you collect?”. The answers for the unmodified kit:

CWS category collect? why
Personally identifiable information Yes email address and name via sign-in (Firebase Auth)
Health information No n/a
Financial and payment information No purchases happen on Stripe-hosted Checkout pages; the extension never sees payment details. Disclose subscription status under PII/authentication if in doubt
Authentication information Yes Firebase auth credentials/tokens (background-only; never synced or exposed to pages)
Personal communications No n/a
Location No no location APIs, no IP collection by the extension
Web history No no page URLs are ever collected
User activity Yes, minimal in-extension feature-usage counters and, with consent, crash reports. No network monitoring, no clicks/keystrokes on pages
Website content No content scripts read the page only to render local features; nothing page-derived is transmitted

Template free-text justification (adapt the product name):

We collect an account profile (email, name) through Firebase Authentication when the user signs in, subscription status through Stripe when the user purchases, and in-extension feature-usage counts tied to the account. Crash reports (error message and stack trace only, no browsing data) are collected only if the user opts in from Settings. We do not collect browsing history, page content, or any data from the websites the user visits.

You must certify all three; the unmodified kit satisfies them:

  1. “I do not sell or transfer user data to third parties, apart from the approved use cases”: data goes only to your own Firebase project and Stripe (a service provider processing payments).
  2. “I do not use or transfer user data for purposes that are unrelated to my item’s single purpose”: auth, billing, usage gating, and opt-in crash reporting all serve the extension’s function.
  3. “I do not use or transfer user data to determine creditworthiness or for lending purposes”: trivially true.
  • Privacy policy is live at the URL in site.config.ts → urls.privacy and describes the four data types in the table above.
  • “Share crash reports” default matches your policy copy (the kit ships it as a consent toggle in Settings; flip the default in apps/extension/utils/settings.ts if your policy is strictly opt-in).
  • You haven’t added an analytics or error SDK without updating this mapping (a script-injecting SDK is also a remote-code rejection).
  • If you dropped modules, drop the corresponding disclosures: no billing → no Stripe/billing rows; no error-reporting → no crash report rows; no auth-requiring features in use → reconsider the PII rows.
  • Firefox/Edge: reuse this content in AMO’s data-collection section and Partner Center’s privacy fields; the facts are identical.