Software built ·

What browser extension review actually checks

On this page
  1. It is a permissions review, not a code review
  2. The privacy disclosures are a separate piece of work
  3. The three stores are not the same review
  4. What actually costs the weeks
  5. The part worth knowing before you commission one
What browser extension review actually checks — a JSK Insights article filed under Software built

We have published six extensions of our own across Chrome, Edge and Firefox. The building is rarely the hard part. The store review is where projects lose weeks, and almost always for reasons that have nothing to do with whether the code works.

If you are planning an extension, this is what the review is actually looking at.

It is a permissions review, not a code review

No human reads your source line by line. What gets scrutinised is the gap between what you asked for and what you visibly need.

Every permission in your manifest is a claim. <all_urls> says your extension needs to read and change every page the user visits. tabs says you need to see what they have open. storage is unremarkable; webRequest is not. If a reviewer cannot look at your listing screenshots and understand in one sentence why a permission is necessary, that is where the rejection comes from.

The practical consequence is that permissions are a design decision, not an implementation detail. An extension that works on one domain and asks for one host permission clears review quickly. The same functionality built to run everywhere, “in case we expand later,” invites a conversation you did not budget for.

Ask for what today’s version needs. Widening scope later is a new review; starting wide is a review you may not pass at all.

The privacy disclosures are a separate piece of work

Chrome requires you to declare what data your extension collects, tick a set of certifications about how it is used, and — this is the part that surprises people — have a privacy policy at a public URL if you handle anything at all.

The failure mode is not lying. It is a mismatch: the form says the extension collects nothing, and the code sends an analytics ping. Or the privacy policy is generic boilerplate that mentions data types the extension never touches. Either way it reads as carelessness, and it holds the listing.

Budget real time for this. Writing an accurate privacy policy for an extension is a couple of hours, and it has to be true, because the reviewer can read your code and compare.

The three stores are not the same review

They are close enough to lull you and different enough to cost you.

  • Chrome is the strictest on permissions justification and the most consequential, because

Edge and most Chromium browsers take a Chrome-format package.

  • Edge accepts the same package but runs its own certification pass, on its own timetable.

Passing Chrome does not mean passing Edge on the same day.

  • Firefox is a different manifest lineage and a different signing process, and it asks for

something the others do not: if your submitted code is minified or bundled, you must supply the source and build instructions so a reviewer can reproduce your package. A build pipeline nobody can run from a clean checkout is a rejection.

Plan for three submissions with three timelines, not one submission published three times.

What actually costs the weeks

In our experience, almost nothing that stalls a listing is a bug:

1. A permission nobody can justify in a sentence 2. A privacy disclosure that does not match the code 3. Screenshots and a description that promise more than the extension does 4. A Firefox build a reviewer cannot reproduce

All four are decisions made before a line is written, which is why we scope extensions with the manifest first and the features second.

The part worth knowing before you commission one

An extension is a small piece of software with an unusually large amount of process around it. The build might be two to four weeks; the store path is its own project, and it does not compress by adding people.

If someone quotes you a build with no line for review, submission and disclosure, they are quoting half the job.

We scope the manifest before the features, and store submission is inside our Browser Extension Build, not an extra. Six of our own are published and running — you can install them from JSKAPPS and see what you would be buying.

Start small

Three doors. The first one is free.

You should be able to find out whether we are any good without signing anything.

Free

A 20-minute call

Tell us what is not working. No deck, no discovery phase, no invoice.

Book the call
Fixed price

One first engagement

A published band, a fixed scope and a date.

See the price bands
Monthly

We run it for you

Outbound, a care plan, or an ongoing build team.

Get a quote