MetroCode

MetroCode.app

Less friction. More done.

Legal

Privacy Policy

Project Shopping List (“the Extension”) is a Chrome extension by MetroCode.app. Shopping-list data stays only on your device. Some Premium and support activity involves limited data on our servers, as described below.

Last updated: 2 November 2026

1. Data we store on your device

Project names, link titles and URLs, optional notes, price, and quantity, purchased state, sort order, created dates, and settings (theme, language, currency, premium unlock flag, and — after a successful unlock — a copy of your unlock code used only to re-check that it has not been revoked). List data is stored in the browser’s IndexedDB for this extension. Settings use Chrome’s chrome.storage.local API. Short-lived UI state (for example undo or a pending add) may use chrome.storage.session.

2. Data the Extension does not collect

The Extension does not send your lists, browsing history, or settings to our servers. This build includes no analytics, advertising SDK, or account system. Unlock and license checks send only the unlock code (not your list data).

3. Premium / Stripe — data on our servers

Optional Premium is unlocked with a personal code emailed after paying via Stripe Checkout or a Stripe Payment Link on this site (Stripe’s privacy policy applies to payment processing and card details). Card numbers are never entered into or stored by the Extension or by MetroCode.app databases.

When you pay, Stripe provides us with the email address you enter at checkout. We use that address to email your unlock code. We store that email address in our database together with a hashed form of your unlock code and related payment metadata (for example Stripe session / payment identifiers). We keep this so we can deliver the code, answer support requests, handle refunds, and revoke unlock codes when a payment is refunded.

The Extension may send the unlock code to our verify endpoint (https://www.metrocode.app/api/verify) to redeem it, and later to our license status endpoint (https://www.metrocode.app/api/license/status) to confirm it has not been revoked. Those requests send the unlock code only — not your email and not your list data. The Extension stores a local unlock flag and a copy of the code on your profile for that check. If the status check cannot reach our servers, Premium stays unlocked on that profile.

4. Support and feedback forms

If you use our support, bug report, or feature request forms, we receive the message you submit, the extension you select, and any optional fields you fill in (for example steps to reproduce, version details, or a reply email). We use that information to respond and improve the product. Form submissions are emailed to our support inboxes; we do not store form submissions in the Premium unlock database. Our email provider (Resend) may process and retain message content under their own terms.

5. Permissions

Permissions are used only to provide the feature: storage (settings and related flags), sidePanel (UI), contextMenus (right-click add), activeTab / tabs (read the page you choose to add; open unpurchased tabs; optional Manager tab), and commands (keyboard shortcut).

6. Backups

If you export JSON or CSV, those files are created by you and stored where you save them. Import replaces Extension data on that profile.

7. Contact

If you have questions about this policy or the personal data we hold (for example your checkout email on a Premium purchase), contact us at the address above.

← Back to MetroCode.app