Every extension you have installedin one list you can act on

One command lists every extension across your browsers, checks each one against the extenshi.io catalog, and helps you clear out the rest.

$ npx @extenshi/guard

macOS, Windows, LinuxNode 20+No card to list what you have

npx @extenshi/guard scan — example output
Report 2026-07-214 extensions2 profiles
  • REMOVECoupon Sidekick91risk

    vivaldi · installed in 2 profiles: Personal, Work

  • DISABLEScreen Recorder Pro74risk

    vivaldi · Personal

  • The other 1 looks fine — leave as is.
Ticked as a suggestion. Nothing is applied until you answer y.
How it works

See, check, clean up

One real session, in four parts. Nothing changes until you confirm it.

  1. See what is installed

    Every browser, every profile, including the ones you forgot about. No account, and nothing leaves your machine.

    npx @extenshi/guard list
    npx @extenshi/guard list
    $ npx @extenshi/guard list
    
    ━━ Vivaldi ━━
    
      ▸ Personal  (3)
      ● Coupon Sidekick v3.2.0 [web store] kkfhdpnlmbkcbmndocjbdmpbcgpcmdjm
      ● Screen Recorder Pro v4.2.1 [web store] mdjbcgpcmdjmkkfhdpnlmbkcbmndocjb
      ● Tab Tidy v1.4.2 [web store] ocjbdmpbcgpcmdjmkkfhdpnlmbkcbmnd
    
      ▸ Work  (1)
      ● Coupon Sidekick v3.2.0 [web store] kkfhdpnlmbkcbmndocjbdmpbcgpcmdjm
    
    4 extensions across 2 profiles across 1 browser
    

    Watch the recordingopens the screen capture in a new tab

  2. Check it against the catalog

    It shows exactly what it is about to send and waits for a yes. Then you get a verdict per extension, in plain language.

    npx @extenshi/guard scan
    npx @extenshi/guard scan
    $ npx @extenshi/guard scan
    
    About to send to extenshi.io for analysis:
      4 extensions across 2 browser profile(s)
      Fields per extension: store id, store, version, enabled, install origin, install time, update URL.
      Never sent: extension names, descriptions, local paths, or your browsing data.
    
    Agree and share your extension list with extenshi.io? [y/N] y
    
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                           Extenshi.io Report 2026-07-21
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    
      [REMOVE] Coupon Sidekick · vivaldi · in 2 profiles: Personal, Work · risk 91
          extenshi.io risk assessment: CRITICAL (risk score 91/100). Removal recommended.
    
      [DISABLE] Screen Recorder Pro · vivaldi · Personal · risk 74
          extenshi.io risk assessment: HIGH (risk score 74/100). Disable until you have verified you trust it.
    
    ✓ The other 1 looks fine — leave as is.
    
    Cancelled — nothing was applied.
    

    Watch the recordingopens the screen capture in a new tab

  3. Clean up what you choose

    The suggestions arrive pre-ticked, and you edit the list before anything happens. Nothing is applied until you confirm.

    npx @extenshi/guard scan — the picker
    npx @extenshi/guard scan — the picker
    $ npx @extenshi/guard scan
    
    Select what to clean up (browser policy — reversible with `undo`):
    ❯ [x] [REMOVE] Coupon Sidekick (vivaldi · 2 profiles)
      [x] [DISABLE] Screen Recorder Pro (vivaldi · Personal)
    (↑/↓ move · space toggle · a all · n none · enter confirm · esc/ctrl-c cancel)
    
    This will write browser enterprise policies to remove 1 and disable 1 extension(s). Continue? [y/N] y
    
    ✓ Applied 2 policy change(s).
        [vivaldi] kkfhdpnlmbkcbmndocjbdmpbcgpcmdjm → removed
        [vivaldi] mdjbcgpcmdjmkkfhdpnlmbkcbmndocjb → blocked
    
    Note: a browser policy applies to ALL profiles of that browser, not just one.
    
    Restart vivaldi for the change to take effect.
    

    Watch the recordingopens the screen capture in a new tab

  4. Change your mind

    Changes go through the browser’s own policy settings, so one command puts every one of them back.

    npx @extenshi/guard status / undo
    npx @extenshi/guard status / undo
    $ npx @extenshi/guard status
    @extenshi/guard has enforced 2 policy change(s):
      remove [vivaldi] kkfhdpnlmbkcbmndocjbdmpbcgpcmdjm
      disable [vivaldi] mdjbcgpcmdjmkkfhdpnlmbkcbmndocjb
    
    Run `npx @extenshi/guard undo` to revert all of the above.
    
    $ npx @extenshi/guard undo
    @extenshi/guard has enforced 2 policy change(s):
      remove [vivaldi] kkfhdpnlmbkcbmndocjbdmpbcgpcmdjm
      disable [vivaldi] mdjbcgpcmdjmkkfhdpnlmbkcbmndocjb
    
    Run `npx @extenshi/guard undo` to revert all of the above.
    Revert all of the above? [y/N] y
    
    ✓ Reverted 2 enforcement(s) across 2 target(s).
    
    Restart vivaldi for the change to take effect.
    

    Watch the recordingopens the screen capture in a new tab

What you get

Made for the browsers you already use

Across your browsers

Nine browsers and every profile inside them — including the second profile you set up once and forgot.

  • Chrome
  • Edge
  • Firefox
  • Brave
  • Vivaldi
  • Opera
  • Arc
  • Yandex
  • Chromium

Undo built in

Removals and disables are written as browser policy, not as edits to your profile, so one command puts every one of them back exactly as it was.

$ npx @extenshi/guard undo

Look before you share

npx @extenshi/guard list prints the local inventory with no account and no network calls at all.

Reasons in plain language

Each flag says what the extension can reach and why that stood out — no jargon, no scores to decode.

You choose, item by item

Remove, disable or leave alone. The checklist is a suggestion, never a decision.

Nothing to install

It runs with npx on macOS, Windows and Linux. No app, no daemon, and no browser extension of its own.

Privacy

What leaves your computer, and what does not

Guard asks before it sends anything, and it prints the full field list first. This is that list.

  • Asked once, in writing

    The first check shows the notice and waits for a yes. Declining stops there — the local inventory still works.

  • Revocable at any time

    Your saved inventory lives in your account. Review it or delete it from your dojo whenever you want.

  • Assessed by a published method

    How an extension earns its risk score is written up in full. Read the methodology →

Sent, after you agree

Per extension, enough to identify the build:

  • store id
  • store
  • version
  • enabled
  • install origin
  • install time
  • update URL

Never sent

Not read, not uploaded, not at any point:

  • extension names
  • descriptions
  • local file paths
  • browsing history
  • bookmarks
  • passwords
  • page content
Pricing

Free to start, then pay per analysis

Listing what is installed is always free and needs no account. Checking that list against the catalog is what costs — your first one is on us.

Free

$0to start

No card. Every account includes one analysis to try it on your own machine.

  • local listings
  • 1 analysis
Create a free account

Need more? Prepaid packs, no subscription — credits never expire.

$1010 analyses$1.00 each
Best value$80100 analyses$0.80 each
$5001,000 analyses$0.50 each

One analysis checks every extension on your machine at once — not one per extension.

FAQ

Questions people ask first

Do I need to install anything?
No. It runs through npx, which comes with Node.js. There is no app to install and no extension to add to your browser.
Does it cost anything?
Listing what is installed on your machine is free and works without an account. Checking that list against the catalog is what costs, and every account includes one free analysis. Beyond that you buy prepaid packs — no subscription, and the credits never expire.
What is sent to extenshi.io?
Only the extension id, version, browser and enabled state of each installed extension, and only after you agree. Browsing history, bookmarks, passwords and page content are never read.
Which browsers are supported?
Chrome, Edge, Brave, Vivaldi, Opera, Arc, Yandex, Chromium and Firefox, including separate profiles within each browser.
Can I undo a cleanup?
Yes. Changes are applied through the browser’s own policy settings, and the undo command reverts everything guard applied.
Will it delete an extension I still use?
Nothing is changed until you tick it in the checklist and confirm. The suggestions are a starting point you edit before anything is applied.

You installed them over years. Sort them out in one sitting.

See what is there, find out what each one can reach, and clear out what you no longer use.

$ npx @extenshi/guard

Free to start · macOS, Windows and Linux · no credit card