PUBLISHING RANKLENS ON THE CHROME WEB STORE — do these in order
===============================================================

BEFORE YOU START
  [ ] You have a Google account you want to keep forever (the extension owner cannot be moved easily).
  [ ] You have a real email address to put in the listing (Google verifies it).
  [ ] You have a credit/debit card for the one-off $5 developer fee.

PART 1 — GET A PUBLIC PRIVACY POLICY URL (10 minutes, free)
  1. Open https://app.netlify.com/drop in Chrome.
  2. Drag the file  privacy-policy.html  onto that page.
  3. Wait for the "Your site is deployed" box, then copy the URL it shows
     (looks like https://random-name-123.netlify.app).
  4. Keep that URL — it is the privacy policy link the Store asks for.

PART 2 — REGISTER AS A DEVELOPER (5 minutes, $5 once)
  5. Go to  https://chrome.google.com/webstore/devconsole
  6. Sign in with your Google account.
  7. Accept the developer agreement and pay the $5 registration fee.
  8. Complete the publisher profile: publisher name (e.g. "ClimbSheet") and your contact email.
     Verify the email if Google asks.

PART 3 — CREATE THE ITEM AND UPLOAD THE PACKAGE
  9. In the dev console click  + New item.
  10. Upload  ClimbSheet-Temu-Rankings-Chrome-Extension.zip  (do NOT unzip it, and do not
      upload the Web Store Assets zip here).
  11. If it says the manifest is invalid, you uploaded the wrong file — it must be the
      extension zip, whose top folder contains manifest.json.

PART 4 — FILL THE STORE LISTING TAB
  12. Copy the fields from  listing.md  (open it in any text editor):
        - Name
        - Short description (132 characters max)
        - Detailed description
        - Category: Productivity  /  secondary: Shopping
        - Language: English
  13. Replace every  jjjarvis00@gmail.com  with your real email.
  14. Upload these images (from the store-assets folder):
        screenshot-01-board.png
        screenshot-02-grid.png
        screenshot-4-popup.png
        screenshot-04-compare.png
        screenshot-06-help.png
        promo-440x280.png      (the small promo tile)
        icon128.png            (store icon)
  15. Store icon should already come from the package; upload icon128.png if it asks.

PART 5 — PRIVACY TAB (this is where most first submissions fail)
  16. Single purpose, paste exactly:
        Records the ranking on Temu's public Best-Selling Items page and shows it as a
        dated board the user can compare over time and export.
  17. Permission justifications, paste each one:
        storage   -> Stores the ranking snapshots the user captures, plus their trial and
                     licence state, locally in the browser. No data leaves the device.
        scripting -> Reads the product ranking from the Temu page the user is currently
                     viewing, only after the user presses the Capture button.
        tabs      -> Opens the extension's own rankings board and the Stripe checkout page
                     in a tab.
        host      -> The extension's only function is reading Temu's public Best-Selling
                     Items page. It has no purpose on other sites.
        downloads -> Only used when the user presses "Download source images" to save the
                     product images from the page into their Downloads folder.
        cookies   -> Checks whether the user is signed in to Temu so the interface can show
                     that. Only cookie names are tested; no values are read, stored or sent.
  18. Data usage: tick "Does not collect user data". Answer NO to selling/sharing.
  19. Privacy policy URL: paste the Netlify URL from step 3.

PART 6 — DISTRIBUTION TAB
  20. Visibility: Public. Regions: all.
  21. Pricing: the extension itself is free to install; $4.99/month is charged through
      Stripe after the 3-day trial. Do not pick any Google payment option (Google no
      longer processes extension payments).

PART 7 — SUBMIT AND WAIT
  22. Click  Submit for review.
  23. Review usually takes 1-3 business days for a new developer. You will get an email.
  24. If rejected, the email names the policy; fix that one thing and resubmit.
  25. While you wait, the extension keeps working in your own Chrome the way it does now.

AFTER IT IS LIVE
  [ ] Copy the store link and put it in your Stripe payment link description.
  [ ] For updates: bump "version" in manifest.json (e.g. 1.0.1), rebuild, upload a new zip.
  [ ] Watch for Temu markup changes — if Capture stops finding products, the extension
      needs an update; the DOM fallback in popup.js is the part that breaks first.

NEED HELP MID-WAY?
  Tell me which step number you are on and what the screen says, and I will tell you the
  exact next click. Do not paste Stripe keys or the private-key.pem file into any chat.
