Browser extensions · Firefox · Chrome · Edge

I build browser extensions that pass review the first time.

Manifest V3, shipped and reviewed. Three add-ons live on Mozilla Add-ons, each requesting the narrowest set of permissions the feature actually needs.

queuemark / extension / manifest.json as published
"manifest_version": 3,
"permissions": ["bookmarks", "menus", "storage", "activeTab"],
"host_permissions": [],
"browser_specific_settings": {
  "gecko": {
    "data_collection_permissions": { "required": ["none"] }
  }
}

No host permissions. No content scripts. Nothing leaves the browser. That install prompt is the difference between a user clicking Add and clicking away.

Three shipped, publicly verifiable

Every number below is read straight from the published manifest. Check them.

Add-on Permissions Host access Data collected
QueueMark Read-later queue, stored as bookmarks 4 none none
OpenAsGuest Checks a share link opens without sign-in 2 5 named hosts page content
Backstop Recovers text lost from a form or editor 1 all sites none

Backstop needs every site, because a draft can be lost on any of them — so it asks, plainly, and stores nothing off-device. Scope is a decision to argue for, not a box to tick. I would rather tell you which permission is unavoidable than pretend none is.

What I can take off your hands

Fixed scope where it's knowable, hourly where it isn't.

Manifest V3 migration

Background pages to service workers, blocking webRequest to declarativeNetRequest, and the state bugs that appear only after a worker is evicted.

Review rescue

Rejected, or stuck in the queue? Usually it's undeclared data collection, a bundler with no source submission, or a permission you can't justify in writing.

A new extension, shipped

Built, tested, listed, and through review — including the privacy policy and reviewer notes most teams don't know are expected.

Permission & privacy audit

What your extension actually asks for, what it could ask for instead, and what that changes about the install prompt users see.

How I work

Get in touch

Tell me what you're building or what got rejected, and I'll tell you honestly whether I'm the right person for it. Short questions are welcome and free.

rolf@eriksenlabs.com