Privacy

A screenshot extension that never uploads your pages

Most screenshot extensions send your capture somewhere to store it, share it, or sync it. OpenCapture doesn’t do any of that. Capture, crop, annotate, blur and export all run inside your browser.

What "local" actually means here

It is a specific, checkable claim, not a slogan:

  • The content of any page you capture is rendered and stored on your device, never uploaded.
  • No browsing history, no list of URLs you visited, no record of which sites you used it on.
  • No analytics, telemetry, crash reporting or usage tracking of any kind.
  • No keystrokes, form data or passwords — the extension does not read what you type.
  • No advertising identifiers. There are no ads and no ad-tracking code.

Your capture history (the last 50 screenshots) and your save preferences live in your browser's own extension storage. Uninstalling removes them with it.

Blur is baked into the export, not layered over it — the values are gone from the file you share.

Why you don't have to take our word for it

The extension is open source under AGPL-3.0-or-later, so the network code is there to be read — you can see exactly which requests it makes and when. Read the source.

This is the real difference between OpenCapture and a closed-source alternative. It isn't that other tools are unsafe — it's that with a closed extension you are trusting a claim, and here you can verify one.

The one time anything leaves your device

Watermarking is a paid feature. If — and only if — you choose to buy it, you sign in and the extension talks to our account server to check your credit balance. No page content and no screenshot is ever part of those requests. Everything else works signed out, forever.

Signing in is never required to capture, crop, annotate, blur, undo or export. See the full privacy policy for exactly what each request contains.

What happens between the click and the file

“Processed locally” is easier to trust when you can see where the work happens. The whole sequence is:

  1. You click the toolbar button. Only at that moment does the extension gain access to the tab.
  2. A short script runs in the page to measure it, hide sticky elements and scroll it, capturing one viewport at a time.
  3. The slices are handed to a Rust/WebAssembly core running inside your browser, which stitches them into one image.
  4. Cropping, annotation and blur are applied to those pixels, in the same place.
  5. The result is encoded as a PNG or PDF and written to your downloads folder.

There is no step in that list where an image, a URL or a page’s contents crosses a network boundary. Not because we promise not to look — because there is no request to make. The stitching that other tools do on a server happens here in WebAssembly, which is the entire reason the local version is fast enough to be the default.

Permissions: four, and not the broad one

A screenshot extension has to be able to see the page it is capturing. There are two ways to be granted that, and the difference is the whole story:

PermissionWhat it is forScope
activeTabSee the page you asked to captureOnly the current tab, only after you click, only until you navigate away
scriptingInject the measure-and-scroll routineOnly where access has already been granted
downloadsSave the finished image or PDFFiles the extension creates
storageRemember your settings and recent capturesLocal to the extension

That is the complete list. There is no <all_urls> host permission — the one that produces “read and change all your data on all websites” — and no tabs permission, so the extension cannot see what else you have open. The only host permissions in the manifest are optional, limited to two OpenCapture domains, and requested only if you choose to buy watermark credits.

Most screenshot extensions do ask for the broad one. It is not necessarily sinister — it is simply easier to build against. But it is granted once, at install, and updates ship silently, so it is capability you are handing over for as long as the extension is installed. More on what each permission allows. If a screenshot tool asks for permissions it cannot explain, that is the thing to worry about.

How to check any of this yourself

  1. Open the extension’s manifest in the public repository. The permission list is at the top and is four lines long.
  2. Open DevTools on the extension’s own page, switch to Network, and take a capture. You will see no requests.
  3. Compare against the permission list shown on the Chrome Web Store listing — it is the same four entries.

None of these require taking anyone’s word for anything, which is the point of shipping the source.

Common questions

Are my screenshots uploaded anywhere?

No. Capture, stitching, cropping, annotation, blur and export all run inside your browser in a Rust/WebAssembly core. No page content or image is part of any network request.

Does OpenCapture need an account?

No. Everything except optional watermark credits works signed out, permanently.

Why do screenshot extensions ask to read data on all websites?

Because a broad host permission is easier to build against than activeTab. OpenCapture uses activeTab, so access is granted by your click and dropped when you navigate away.

Is there any telemetry or analytics in the extension?

None — no analytics, telemetry, crash reporting, usage tracking or advertising identifiers. The source is public under AGPL-3.0, so this is checkable rather than promised.

Add to Chrome Firefox Edge

Free. No account required. Nothing is uploaded.