Permissions

Chrome Web Store justifications

Vim+ requests only permissions required for keyboard navigation, omnibar completion, tab/window control, and optional privacy tools. Below is a reviewer-oriented summary; keep the live manifest.json as the source of truth.

Typical capabilities

Permission / hostWhy
StorageSave settings, maps, highlighter data, exclusions
Tabs / windowsSwitch, mute, pin, dock, session restore, command targets
HistoryOmnibar ranking and user-initiated history clear / shred
BookmarksOmnibar bookmark mode / toggle commands
SessionsRestore closed tabs/windows
Search / omniboxOptional default-search integration; omnibox keyword v
ClipboardCopy URL/title/markdown/article commands
Scripting / content scriptsInject keyboard UI on ordinary web pages
Side panelCommand center UI
DownloadsOpen downloads UI / last download helpers
Reading listLater mode in side panel
FaviconOmnibar icons where available
Host accessContent scripts and completion on https/http pages the user visits

Exact optional vs required split is defined in the manifest and Options permission UI.

User-initiated sensitive actions

Clearing history, cookies, or cache for a site runs only when the user invokes a command (palette / UI). Vim+ does not schedule silent wipes.

Incognito

Requires the user to enable “Allow in incognito” on the extension details page.

Side panel

Opened by user gesture (icon, shortcut, command). Not used for background ads or unrelated UX.

Content scripts

Run on normal web pages to provide hints, scroll, find, and page enhance. They do not run on most chrome:// URLs by browser policy.

Store single purpose

Keyboard-first browser navigation and productivity. Features like Reader View and window dock support that purpose; they are not unrelated product bundles.

For the long form used in store submission, see docs/permissions.md in the repository.