Privacy Policy
1. Introduction
PATH Profit Zones ("the extension", "we", "our") is a Chrome extension that helps Amazon FBA sellers evaluate product profitability. It overlays profit zones on Keepa price history charts, calculates ROI at historical price points, and (for subscribers) provides a Buy Box price-spread widget across US metro areas and a Bulk ASIN Analyzer.
This policy explains what data the extension collects, stores, or transmits; why; who it is shared with; how long it is kept; and how you can exercise your rights over it. It is written in plain English so you can read the whole thing in a few minutes.
We take privacy seriously. The extension does all profit math on your device, stores nothing personal unless you provide it, and contacts only a small, disclosed list of external services.
2. Information We Collect
2.1 Data you provide
- Keepa API key. Required for the extension to function. You obtain it from your Keepa account and paste it into the extension's settings page. It is stored in
chrome.storage.sync(encrypted in transit by Google as part of Chrome Sync) and transmitted only toapi.keepa.comwhen the extension makes product-data requests. We never see or store your Keepa key on our servers. - License key (premium subscribers only). Issued by our license server after you purchase via Stripe. You paste it into the settings page. It is stored in
chrome.storage.syncand sent in request headers to our license server for validation and to gate premium features. - Email address (premium subscribers only). Collected by Stripe during checkout, not by the extension. Stripe forwards it to our license server via webhook; we store it in our licenses database so we can support your account (reissuing keys, responding to support requests, matching your subscription to your license).
- Support email you choose to send. The "Email Support" button in Settings opens a new message in your own mail client addressed to
support@pathprofitzones.com, pre-filled with the extension version and a masked copy of your license key. The extension does not transmit, receive, or store that message; your mail client sends it, and only when you choose to. Builds older than v0.24.0 had an in-extension "Send Feedback" form that posted your name, optional email, and message text to our license server; that form has been removed, and the server endpoint stays up only until those older installs update. - User settings. Profit target mode and value, default COGS costs, display mode, theme, velocity threshold, VAT/tax preferences, etc. These are stored in Chrome storage on your device and (for
sync-scoped settings) synced to your other Chrome installations by Google. We never receive these settings.
2.2 Data the extension generates
- Device ID (premium subscribers only). When you activate a premium license, the extension generates a random identifier. It is stored locally on that one device. We send it to our license server together with the license key so we can enforce a reasonable per-license device limit (currently 2 devices per license). The device ID is not a fingerprint: it does not identify your hardware, IP address, or any real-world identity. It is local-only and random.
- Cached product lookups. To save Keepa API tokens, the extension caches the product data it fetches (price history, fees, product title, weight, dimensions, offer counts) in
chrome.storage.localfor up to 1 hour. The cache is automatically purged when the extension version updates. Bulk ASIN Analyzer also uses an IndexedDB object store (keepaCache) on your device for the same purpose, for up to 24 hours per ASIN. This data never leaves your device. When the Keepa browser extension is installed, PATH Profit Zones reads product data from Keepa's local cache on your device by running a small read-only script inside the Keepa frame on the Amazon page you are viewing, reducing API token usage. This data stays on-device and follows the same caching rules described above. - Per-ASIN cost memory. When you enter a cost of goods (COGS) for a product, the extension remembers it for that ASIN in
chrome.storage.local(keyppzCogsByAsin, capped at the 2,000 most recent entries) so the field is pre-filled the next time you open that product. It stays on your device and is never transmitted to us. - Product thumbnail images. During bulk scanning, the extension reads product image URLs from the Amazon page DOM (publicly visible Amazon CDN URLs). These are displayed locally in the bulk analyzer cards and are not transmitted to any external server.
- Your fee library and per-product fee choices. The custom fee library you build in Settings, and the fee selections you attach to individual ASINs, are stored in
chrome.storage.local(keysppzFeeLibraryandppzFeeSelectionsByAsin) on your device only. They are used by the profit math that runs in your browser and are never transmitted to us or to anyone else. - Your answer to the terms prompt (premium subscribers only). When you agree to or decline updated Premium terms, your answer is stored in your browser's synced extension storage, alongside your license key, as the version label and the date you answered. It syncs across the Chrome profiles you are signed into so that agreeing on one computer does not mean being asked again on another. Clearing the extension's storage removes it locally; because the same answer is recorded on our license server, you will not be asked again simply because you cleared it.
- Session storage. The extension uses
chrome.storage.sessionto pass COGS (cost of goods) values between the bulk analyzer and product detail pages within a single browser session. This data is cleared automatically when the browser closes and is never transmitted externally.
2.3 Data the extension reads from Amazon pages
When you visit an Amazon product page in a supported marketplace (see manifest for the full list), the extension reads publicly visible product information from the page and from Keepa: ASIN, product title, price, fees, weight, dimensions, offer counts, sales velocity, hazmat/meltable flags, and product thumbnail image URLs. It also queries Seller Central (using your existing logged-in session) to determine whether you are approved to sell the ASIN. Seller Central responses are parsed locally to render the eligibility lock icon; no credentials are captured or transmitted by us.
Seller Central data. PATH Profit Zones can read your own Seller Central data, specifically your FBA inventory locations and your own listing price, directly in your browser using your existing logged-in Seller Central session. This is data you can already see in your own account. The extension reads it only after you authorize Seller Central access for the current browsing session, and you can pause that access at any time. All of this data is processed locally on your device and is shown only to you. PATH Profit Zones never transmits, aggregates, stores on our servers, or resells your Seller Central data.
Two optional Bulk ASIN Analyzer features use the same authorized session. Gated status on bulk cards checks your approval status for each scanned ASIN, exactly as the lock icon does on a single product page. FBA inventory export reads your own FBA inventory quantities (on hand, reserved, inbound, unfulfillable) for the ASINs in a scan and assembles a CSV file that is downloaded directly to your computer. Both run only when you click the button that starts them, and neither sends anything to us.
Offers Table (v1.1.0 and later). The panel includes an Offers Table that lists the sellers on the listing you are viewing, with their fulfillment type, price, public rating, and the stock movement the extension observed. When you open the table, the extension requests two kinds of publicly visible Amazon pages from your own browser session on the Amazon site you are already on: the listing's "All offers" panel and the public seller profile pages of the sellers on that listing. These are the same pages you could open yourself by clicking through the listing. The requests run only after you open the table, are throttled to a slow pace, and stop immediately if Amazon signals a rate limit. The responses are parsed locally and shown only to you; nothing from them is transmitted to us or to anyone else. Seller names in the table link to that seller's public page on keepa.com; that is an ordinary link, and nothing is sent to Keepa unless you click it. You can also export the table as a CSV file that is generated locally and downloaded directly to your computer.
2.4 Data our license server receives
All license server requests go to api.officialolsons.com over HTTPS (with automatic fallback to license.amzunlocked.com during the domain transition).
- License activation / validation / deactivation: license key, device ID.
- Stripe webhooks (server-to-server, not from the extension): Stripe customer ID, Stripe subscription ID, customer email, plan type, current period end. Stored in our licenses database (Supabase).
- Customer portal redirect: license key and device ID (used to fetch a temporary Stripe-hosted portal URL).
- GeoPrice price-spread proxy (premium): extension sends the target ASIN + license key header to our license server. Our server verifies the license and forwards the lookup to our upstream GeoPrice service. Your IP is not forwarded to the upstream; the upstream sees requests from our server IP.
- ASIN view logging (premium only): when a premium user views a product page, the extension sends the ASIN and public product metadata to our server to pre-warm the price-spread cache. Not called for free users.
- Promo banner configuration: the extension fetches a small static JSON file from our server that describes which promotional banner (if any) to show in the panel footer. This is an anonymous GET with no identifier attached.
- Promo banner performance: when a promotional banner in the extension footer is shown or clicked, the extension sends an anonymous event containing only a banner identifier, the event type (shown or clicked), and the extension version. It is aggregated into a simple per-banner counter so we can measure which banners are useful. No personal data, no browsing data, and no Amazon or Seller Central data is included, and it is not tied to your identity.
- Terms acceptance (premium subscribers only): when your license requires you to agree to updated Premium terms, the extension shows you the terms and asks you to choose. If you agree, it sends your license key, your device ID, and the version of the terms you agreed to. If you decline, it sends the same three items so that your other devices stop asking you. Nothing is sent while you have not answered, and the "Decide later" option sends nothing at all. The version is a plain label such as
2026-10-01; we do not send the terms text back to ourselves, and we do not record anything about how long you spent reading, whether you opened the full terms, or where you were browsing when you answered. - Live pricing scan counts (premium subscribers only): plans that include an allowance of live pricing scans need that allowance counted, so our license server records the number of regional price scans run under your license and the running totals it compares against your plan's daily and monthly limits. The panel shows you that meter, and shows how many scans are left, so the number is never a surprise. What is counted is the number of scans and the date, not what you looked at: the count is not stored against the ASINs you scanned, and it is not used to build a picture of what you research. Lifetime licenses are uncapped and are not metered at all.
- Scan top-up checkout (premium subscribers only, and only when you click it): if you run out of scans, the panel offers to add more. Choosing a pack sends your license key, your device ID, and the pack size to our license server, which returns a temporary Stripe-hosted checkout address that opens in a new tab. We never build the checkout address in the extension, and payment details are handled entirely by Stripe.
- Observed Sales reports (user-initiated only): the Stock Gap section of the panel shows a per-seller "Observed Sales" reading. If a reading looks wrong, you can click "Send to PPZ support", read a short confirmation of exactly what will be sent, and then click "Send". Only then does the extension send a report to our server. The report contains the ASIN, the Keepa marketplace id, the supply readings the extension computed for that listing (the observed sales bundle, the days-of-cover estimate and the stock figure it was based on, and the "bought in past month" figure shown on the Amazon page), the extension version, and the version of the reading rules that produced the result. The observed sales bundle includes Amazon merchant ids for the sellers on that public listing; these identify storefronts, not you. The report carries no license key, no email address, no device id, no user id, no Seller Central data, and no page URL. It is never sent automatically, and cancelling at the confirmation step sends nothing.
2.5 Data we do NOT collect
- We do not collect browsing history outside of Amazon product pages.
- We do not collect anything on non-Amazon sites. The extension has no content script on any page other than Amazon product detail pages. The only other place it runs code is inside the Keepa extension's own frame on that same Amazon page, to read Keepa's local cache as described in §2.2.
- We do not run third-party analytics or tracking SDKs (no Google Analytics, Segment, Mixpanel, Amplitude, Sentry, etc.). The only telemetry is the anonymous, aggregate banner impression/click counter described in §2.4, which contains no personal or browsing data and is not tied to your identity.
- We do not sell, rent, or share personal information with advertisers or data brokers.
- We do not read Amazon Seller Central dashboards, orders, customer messages, or any Seller Central data beyond the ASIN-approval status, your FBA inventory locations and quantities, and your own listing price described in §2.3, all of which are read locally on your device and never transmitted to us.
3. How We Use the Information
- Product analysis: your Keepa API key and product identifiers are sent to Keepa to fetch price history. All profit calculations happen locally in your browser.
- Sell eligibility: the extension checks your approval status for a product using your existing Seller Central session. No credentials are captured.
- License management: your license key and device ID are sent to our server to validate your subscription. Validation runs when you activate, when Chrome starts, and on a background alarm about every 6 hours (the extension also re-checks when its background worker wakes, but never more often than once every 15 minutes).
- Payment: email and payment method are collected by Stripe during checkout. We receive only your email and subscription status via webhook.
- Regional pricing (premium): product identifiers are sent through our server to fetch Buy Box prices across US markets.
- Cache warming (premium): product identifiers and public metadata are sent to our server when you view a product page.
- Support: when you click Email Support, your own mail client opens a message to
support@pathprofitzones.com; we use what you send us only to answer you. - Terms acceptance: we use your recorded agreement solely to establish that you were shown the current Premium terms and agreed to them, and to know which version you agreed to so we do not ask you again. We use a recorded decline solely to stop prompting you on your other devices and to switch off the Premium features the terms govern. Neither record is used for marketing, is shared with anyone, or is sold.
- Live pricing scan counts: we use them to enforce and display your scan allowance, and in aggregate to size the capacity we buy from our regional pricing provider. We do not use them to profile your sourcing activity.
- Observed Sales reports: when you choose to send one, we use it only to check and correct the supply and velocity readings behind the Stock Gap feature. Because the report is anonymous we cannot reply to it and cannot connect it to your account.
We do not use your data for advertising, profiling, model training, or any purpose beyond those listed here.
4. Third-Party Services
We contract with the following services to deliver the extension. Each has its own privacy policy; we have linked them for convenience.
- Keepa GmbH: product data provider. You provide your own Keepa API key; we never proxy Keepa traffic through our servers. Privacy policy
- Stripe, Inc.: payment processor for premium subscriptions. Stripe collects your email and payment method directly on its hosted checkout, both for subscriptions and for scan top-up packs; the extension never sees payment details. Privacy policy
- Supabase, Inc.: hosted PostgreSQL database for our licenses table (license key, Stripe customer/subscription IDs, email, plan, period-end). Privacy policy
- Official Olsons (
api.officialolsons.com, with fallback tolicense.amzunlocked.com): validates premium license keys, records your answer to the Premium terms prompt and counts your live pricing scans, proxies GeoPrice requests, logs premium ASIN views for cache warming, receives user-initiated Observed Sales reports, serves the promo banner configuration and records anonymous promo-banner performance counters, and (until older installs update) receives messages from the retired in-app feedback form. Hosted on a private VPS; database on Supabase (listed above).
We do not use any analytics or error-tracking third party (no Google Analytics, no Sentry, no Mixpanel, no Facebook pixel, nothing similar).
5. Data Retention
- On-device data (Keepa API key, license key, device ID, settings, per-ASIN cost memory, cached product data, bulk batch files): retained in Chrome storage / IndexedDB until you uninstall the extension, clear Chrome's site/extension data, or your browser's cache-clearing rules remove it. You can delete it at any time from
chrome://settings/cookiesor by uninstalling the extension. - Licenses database (Supabase): we keep the license record (email, Stripe customer ID, license key, plan, period-end, device activations) for as long as your subscription is active. After cancellation, we retain it for 12 months so we can handle refund disputes, tax/accounting, and reactivation. You can request earlier deletion by emailing us (see §7).
- ASIN view logs (premium only): retained for 90 days. Logs are not tied to an identifiable person; they are associated only with the license key that submitted them.
- Support email: lives in our support mailbox like any other correspondence. Messages sent through the retired in-app feedback form by older builds are retained on our license server. You can email us to request deletion of a specific message.
- Observed Sales reports: retained on our license server as engineering data for improving Stock Gap detection. They are not tied to a license key or to any identifiable person, so there is no per-user record to look up or delete; if you want one removed, email us the ASIN and the approximate date you sent it.
- Terms acceptance and decline records: retained for as long as your license exists, and then for as long afterwards as we may need to show which version of the terms applied to your account. This is the one record on this list we cannot delete on request while your license is active, because the record is the agreement; deleting it would leave us unable to show what you agreed to. Deleting your license removes it.
- Live pricing scan counts: retained as daily per-license totals. They are not tied to individual scans or to any ASIN, and they age out on our ordinary server-log retention schedule.
- Stripe payment records: retained by Stripe per its own policies; we recommend reviewing Stripe's privacy policy linked above.
6. Security
- All outbound traffic from the extension uses HTTPS/TLS.
- Internal services are not externally accessible.
- Stripe webhooks are verified by cryptographic signature before we trust any event; unsigned or invalidly signed requests are rejected.
- All Keepa calls use your personal API key, which is never stored on company servers (regenerate at
keepa.com/#!apiif exposed).
No system is perfectly secure. If we become aware of a breach that affects your data, we will notify you at the email associated with your license (if any) and post a notice at the extension's support page.
7. Your Rights
Depending on where you live, you may have the right to access, correct, export, or delete the personal data we hold about you, and to object to or restrict certain processing. In particular:
- Access / export: email us and we will send you a copy of every record keyed to your license or email.
- Correction: email us to update an email address or correct a record.
- Deletion: email us to delete your license record (this terminates any active subscription; cancel via the Stripe customer portal first if you want to end billing).
- Withdraw consent: uninstall the extension at any time; this stops all on-device collection and all transmission.
- Complaint: if you are in the EEA, UK, or California, you may lodge a complaint with your local data protection authority.
To exercise any right, email . We aim to respond within 30 days.
8. Children's Privacy
The extension is a professional tool for Amazon FBA sellers. It is not directed at children under 13, and we do not knowingly collect personal information from children under 13. If you believe a child has provided us with personal information, contact us and we will delete it.
9. International Users
The extension is developed in the United States. By using it, you agree that your data may be processed in the United States and in any country where our third-party providers operate (Supabase, Stripe are primarily US/EU-based). We rely on standard contractual clauses and provider-level safeguards where applicable.
10. Changes to This Policy
We will update this policy whenever the extension's data practices change materially (for example, when a new external service is added or the set of collected fields changes). The "Effective Date" at the top of this document always reflects the most recent update. Material changes will also be noted in the extension's "What's New" section in Settings and in the Chrome Web Store listing changelog. Continued use of the extension after an update constitutes acceptance of the revised policy.
11. Contact
Email:
In-app: Settings → Email Support (opens your mail client addressed to support@pathprofitzones.com; fastest route for support questions)
Website: https://www.officialolsons.com
If any section of this policy conflicts with what the extension actually does, treat it as a bug and email us. The code is the source of truth, and we want the policy to match the code exactly.