Documentation

Security

Built to respect your privacy. Local-first, no telemetry, and fully open source so you can verify every line.

Local-First Architecture

By default, everything you capture stays on your Mac. Screenshots and recordings are saved to a local directory you control.

  • No cloud account required to use any feature.
  • No data leaves your machine unless you explicitly upload it.
  • History and metadata are stored in a local database, not synced anywhere.

No Telemetry or Analytics

Snapzy does not collect usage data, crash reports, or analytics by default. We do not track what you capture, when you capture it, or how you use the app.

  • No Google Analytics, Mixpanel, or similar trackers.
  • No silent network pings on launch.
  • No unique device identifiers collected.

Open Source

Snapzy is fully open source under the BSD 3-Clause license. You can inspect the code, build it yourself, and verify that it does exactly what it claims.

  • Source code: github.com/duongductrong/Snapzy
  • Build reproducible with Xcode and standard macOS SDKs.
  • Community contributions and security audits are welcome.

Permission Model

Snapzy requests the minimum set of macOS permissions required for its features:

  • Screen Recording — required for all capture modes. macOS shows a yellow indicator in the menu bar when recording is active.
  • Microphone — optional, only if you enable audio in screen recordings.
  • Accessibility — optional, improves window detection accuracy.

You can revoke any permission at any time in System Settings → Privacy & Security .

App Sandbox

Snapzy runs inside the macOS App Sandbox with minimal entitlements. It cannot access files outside the areas you explicitly grant, and it cannot make arbitrary network connections.

  • Screen Recording — the only entitlement that broadens sandbox scope, and it is required for the app to function.
  • Secure file-access bookmarks — used to remember your chosen save folder across launches without requesting full disk access.

Network Requests

Snapzy makes only two kinds of network connections:

  • Sparkle update checks — a lightweight HTTPS call to check whether a newer version is available. No usage data is sent.
  • User-initiated cloud uploads — only when you manually upload to your own S3 or R2 bucket. No data is ever sent to third-party servers.

Command Line Tool

The optional snapzy command lets scripts and AI agents capture the screen through Snapzy. It is guarded so that Snapzy's Screen Recording permission does not become available to every local process:

  • Local only — it talks to Snapzy over a private Unix socket in ~/Library/Application Support/Snapzy/CLI/ that only your user account can open. There is no network listener.
  • Per-app approval — every command except status requires the calling app to be approved (Always Allow / Allow Once / Don't Allow). Unanswered prompts deny the request after 25 seconds.
  • Visible and revocable — the menu bar icon is tinted during every command line capture, and approvals can be removed in Settings → Command Line → Allowed apps. Turn Command line access off to disable it entirely.
  • No side effects — command line captures never touch the clipboard, Quick Access, or history.

Approval belongs to an app, so approving a terminal or AI agent approves everything it runs. See Command Line for details.

Cloud Credential Security

When you configure cloud upload, your credentials are stored exclusively in the macOS Keychain. Snapzy never writes them to plain files or syncs them to iCloud.

  • Optional password — you can add an extra password inside Snapzy. It is SHA-256 hashed and never stored in plaintext.
  • Encrypted export / import — transfer credentials to another Mac via a manual encrypted archive protected by a passphrase you choose.

Code Signing & Notarization

Official releases are code-signed, but they are not notarized by Apple yet. On first launch, macOS may block the app. After dragging Snapzy to /Applications, run sudo xattr -rd com.apple.quarantine /Applications/Snapzy.app to allow it. If you build from source, the app will be unsigned unless you use your own Apple Developer certificate.