type: service
status: active
timestamp: 2026-06-20
tags: [services, extension-store, chrome, distribution, primary]

Chrome Web Store

Browser-extension distribution channel — $5 one-time dev fee, CI auto-publish

Chrome Web Store

Role

Primary distribution channel for every browser extension in the oriz-*-ext family. Covers Chrome plus every Chromium browser that trusts the Chrome Web Store as a source — Edge (via cross-browser install), Brave, Opera, Vivaldi, Arc, Zen. The Edge variant is also published natively to Edge Add-ons, but the Chrome listing is what most Chromium users land on first. Per decisions/architecture/distribution-and-queues-locked.md, every browser extension publishes to all three stores: Chrome, Firefox, Edge.

Free tier

Card / subscription required?

NO for ongoing usage. The $5 registration is a one-time sunk cost — paid once at developer-account creation, never billed again. This is not a subscription and does not create a card-on-file relationship — the family’s rules/no-card-on-file.md and monetisation/no-subscriptions-anywhere.md both still hold. (One-time fees for permanent capabilities are the documented exception class — same shape as a domain registration.)

CI auto-publish

Each extension repo’s .github/workflows/publish.yml pushes the packaged .zip to the Chrome Web Store via the chrome-webstore-upload flow:

- name: Upload to Chrome Web Store
  uses: mnao305/chrome-extension-upload@v5
  with:
    file-path: dist/extension.zip
    extension-id: ${{ secrets.CHROME_EXTENSION_ID }}
    client-id: ${{ secrets.CHROME_CLIENT_ID }}
    client-secret: ${{ secrets.CHROME_CLIENT_SECRET }}
    refresh-token: ${{ secrets.CHROME_REFRESH_TOKEN }}
    publish: true

Credentials originate in Doppler and mirror to GitHub Secrets per security/secrets-management-doppler.md. The action wraps Google’s chromewebstore.googleapis.com upload + publish endpoints — same surface used by the chrome-webstore-upload-cli package on npm.

Alternatives

Swap cost

Low — the publish workflow is per-store; dropping Chrome would only remove the chrome-extension-upload step. Manifest authoring, build, signing, and the artifact itself are unchanged.

Why this is our pick

The Chrome Web Store is non-negotiable: the addressable Chromium user base dwarfs every other store combined, and skipping it would defeat any extension’s reach. The one-time $5 fee is a sunk cost the family already pays.

Cross-refs


Edit on GitHub · Back to index