Catch security issues and store rejection risks before you submit. Your extension, checked from the terminal you already use.
npx @extenshi/cli@latest review ./dist.zipNode 20+ · Review is free without an account
$
Review-risk runs locallyRun policy and browser compatibility checks locally. Use your API key to submit a build for security scanning.


npx @extenshi/cli review ./dist.zipFree · runs locally
Flags rejections, slow-review triggers, and auto-disable risks before you submit.
Diffs against your last published manifest with --extension-id.


npx @extenshi/cli advise ./dist.zipFree · runs locally
Finds code that recent Chrome, Edge and Firefox releases break or change, with the file and line.
Every change it checks is listed on cli.extenshi.io/changes.


npx @extenshi/cli scan ./dist.zipThe deep scan
Uploads the packaged build to Extenshi for server-side analysis.
Live per-scanner progress, then an HTML report opens in your browser.
Every extenshi scan opens an HTML report in your browser by default — or pass --json / --format stdout for pipelines and the terminal.

See the verdict, finding counts and estimated safety score together. This sample scores 54/100.
Actual CLI output with sample data for a fictional extension.


The same engine behind our public catalog runs against your artifact — findings by severity.


Run a scan in GitHub Actions and use jq to fail the job when the report contains a critical finding.
- name: Scan and gate
env:
EXTENSHI_API_KEY: ${{ secrets.EXTENSHI_API_KEY }}
run: |
npx -y @extenshi/cli@latest scan ./dist.zip --json > scan.json
jq -e 'all(.scanners[].findings[]?; (.severity | ascii_upcase) != "CRITICAL")' scan.json
--json for machine outputParse findings in your pipeline and gate on severity counts.
A fast probe detects short CI outbound timeouts before the real scan.
If a scan dies mid-stream, the credit is refunded within a minute.
3 free scans, one-time on any build. review is always free. Need more? Buy prepaid credit packs that never expire.
Buy credit packsOne API key works across the CLI and MCP. No subscription — top up scans and reads whenever you need them.






The cross-store catalog and scanner, inside your AI tools.


Build an MV3 manifest with live store-policy checks.


Illustrated steps that get your extension pinned to the toolbar.


A hosted exit survey — find out why users leave.


A store-ready privacy policy from your permissions.


Draw with your agent, verify in real toolbar mockups.


A paywall inside your extension, paid out to your own Stripe account.


Start with a local policy review. Add a security scan when your build is ready.
npx @extenshi/cli@latest review ./dist.zip