For consultants & agencies

Client dashboards, under NDA, on your own machine.

If your screenshots hold other people's data, most of this category is off-limits to you. This one was built for that constraint first.

The question your client's security review will ask

You screenshot a billing screen, an internal admin tool, a staging environment with real customer records in it. Then you need to find one of those again next month.

Every cloud screenshot tool solves that by uploading the images. That is not a trade you're permitted to make, and "their privacy policy says it's fine" is not an answer that survives a security questionnaire.

Screenshot Inbox makes no network calls in its capture, recognition and search loop at all. Not fewer, not encrypted, not anonymised — none. You can prove that from outside the app with Little Snitch in about five minutes, which is a much better answer than a policy document.

timeoutesc
$ swift build -c release
Compiling ScreenshotInboxCore (48 sources)
error: connection timeout after 30000ms
at PackageResolver.resolve(_:) line 212
host: github.com attempt 3 of 3
** BUILD FAILED **
Terminal — build failureTerminal9 Augerror: connection timeout after 30000ms
OCRQualityTool — batch run
thermal state: nominal
low power pause triggered 0 times
no timeout observed
queue drained, newest first
Xcode — Vision throughputXcode22 Julthermal state: nominal, no timeout observed
$ swift build -c release
Compiling ScreenshotInboxCore (48 sources)
error: connection timeout after 30000ms
at PackageResolver.resolve(_:) line 212
host: github.com attempt 3 of 3
** BUILD FAILED **
Copy TextCopy ImageCopy Both
↑↓ move copy text⌘↵ copy image On this Mac only
The overlay opens over whatever app you're in. Type a fragment you half-remember, and the match is highlighted on the image itself — because the text inside the screenshot is real, indexed text.

What you get

Nothing leaves the machineApple Vision on-device, a plain SQLite index on your disk, no cloud OCR and no cloud fallback when recognition is imperfect. A local miss stays local.
Verifiable, not assertedThe only two network operations anywhere in the app are Check for Updates and licence activation, both triggered by a button, both on one settings screen.
Redaction with secret detectionAPI-key-shaped strings and email addresses are flagged automatically and can seed redaction regions in one click. Redaction writes a separate file — the original is never modified.
Encryptable indexOptional AES-GCM over the recognized text and word boxes, keyed to your Mac's Keychain. Off by default, and the settings screen explains exactly what it does and doesn't cover.
Per-client collectionsTag by engagement and save it as a live smart collection. When a project ends, you can find and export everything from it in one action.
Clean exitExport the whole library — images, recognized text and metadata — as ordinary files, and uninstall by dragging the app to the Trash. No lock-in to argue about later.

"How do I know the next version won't start uploading things?"

Fair, and the honest answer isn't a promise — it's that the commit gate rejects any change adding a network call to the core module, and rejects adding a third dependency. It fails the build rather than relying on anyone remembering. You can also simply not update: updates are user-initiated, never automatic, and an activated licence is perpetual, so a version you've audited keeps working indefinitely.

Before you evaluate anything else

Install the trial with a network monitor running and watch it do nothing. That takes five minutes and settles the only question that matters for your work — see Privacy for what to look for.

Try it on your own screenshots

Fourteen days, everything unlocked, no account and no card. Import the folder you already have on day one — that's what makes the trial a fair test rather than a demo.