A manifest that passes reviewon the first try

Guided MV3 for Chrome, Firefox and Edge. Store-policy checks fire as you type.

Chrome · Firefox · EdgeLive store-policy checksNothing leaves your browser
Three steps

Tick, check, export

1

Pick your stores

Chrome, Firefox, Edge — or all three. One form, three manifests.

2

Tick the permissions

Each one in plain English. Sensitive ones are marked.

3

Export when it is green

Blockers stop the download. Warnings tell you what reviewers will ask.

What you get

The generator, not a sketch of one

Exactly what the tool renders — findings, the install dialog, the file you download.

Findings 1 failing

What we can verify from your manifest.json — blockers and advisories to fix, plus the rules we can already confirm are satisfied.

Chrome

Privacy policy URL is missingblocker

Extension uses sensitive permissions/broad hosts but no privacyPolicyUrl is set on the listing.

Fix: Publish a privacy policy and set the Privacy practices URL in the dashboard.

Be transparent about handling user data; post a privacy policy and disclose collection.
Broad host permissions slow down reviewhigh

host_permissions includes https://*/* — stores require in-depth review and a privacy policy for broad host access.

Fix: List only the origins you actually need (e.g. https://example.com/*), or request hosts at runtime via optional_host_permissions.

Be transparent about handling user data; post a privacy policy and disclose collection.
Consider activeTab instead of tabsmedium

"tabs" exposes URL/title of every open tab and triggers the privacy-policy requirement. If you only act on the page the user invoked you on, "activeTab" is enough.

Fix: Replace "tabs" with "activeTab" unless you genuinely enumerate other tabs.

Be transparent about handling user data; post a privacy policy and disclose collection.

The rejection, before you submit

Same findings the generator prints. A missing privacy policy blocks export — not a week later in a CWS email.

The sentence they read at install

The Chrome and Firefox permission dialog, from the same preview the tool uses. Broad host access reads as “all your data on the websites you visit.”

Findings No blockers

No blockers or advisories from the checks we can run on this manifest.

manifest.json — Chrome

{
	"manifest_version": 3,
	"name": "Study Timer",
	"version": "1.2.0",
	"description": "A focused timer for deep work.",
	"icons": {
		"16": "icons/16.png",
		"32": "icons/32.png",
		"48": "icons/48.png",
		"128": "icons/128.png"
	},
	"permissions": [
		"storage",
		"alarms",
		"notifications"
	],
	"action": {
		"default_popup": "popup.html",
		"default_title": "Study Timer",
		"default_icon": {
			"16": "icons/16.png",
			"32": "icons/32.png"
		}
	},
	"background": {
		"service_worker": "background.js"
	}
}

One form. Three manifests.

Chrome gets a service worker. Firefox gets an event page and a gecko id. Download each, or all as a zip.

Also in the box

Built to clear the review queue

Three browsers, one form

Chrome, Firefox and Edge. Download each, or all as a zip.

Permissions in plain English

20+ sensitive permissions, each with a “what this exposes” label.

Live store-policy checks

Failures block export. Warnings link to the real policy text.

Minimal-permission hints

Use activeTab instead of tabs — the restraint reviewers approve faster.

Content scripts builder

Match patterns, run timing, MAIN or ISOLATED world.

Nothing leaves your browser

Generation and validation run on the page. The file never leaves.

A missing privacy policy is the #1 export blocker. Generate one in two minutes →

Stop reverse-engineering store policy from rejection emails.

Build the manifest. See every objection. Export when it is green.

Free · runs in your browser · Chrome, Firefox and Edge.