Legal

Privacy Policy

SnapAction is built to be clear about what stays local and what is sent for analysis. This page reflects the current app and backend architecture in the SnapAction repository.

Data Handling

Photo Library Access

SnapAction asks iOS for Photos access so it can find screenshot assets with PhotoKit. The app tracks which screenshot asset IDs have been scanned and shows screenshot thumbnails in the local gallery.

AI Screenshot Analysis

When you scan a screenshot, the image data is sent to SnapAction's Convex backend for AI analysis through OpenRouter. If a resource name is visible but its URL is missing, the backend can use Serper search and URL verification to find the canonical link. Do not treat scanned screenshots as fully offline processing.

Local Resource Library

The resulting resource records are stored in SwiftData on your device. Those records include fields such as title, URL, type, tags, description, metadata, linked screenshot asset IDs, read state, and favorite state.

Accounts and Subscriptions

SnapAction uses Clerk for account identity, StoreKit 2 for App Store purchases, and Convex to verify entitlements and monthly scan quotas. Convex stores account, subscription, usage, scan event, feedback, and log upload records needed to run the service.

What You Control

Feedback and Diagnostics

SnapAction can upload bug reports, scan reports, client logs, and internal TestFlight diagnostics to Convex for debugging. Diagnostic records may include app version, build, iOS version, device model, launch or foreground state, and crash information. Feedback attachments are only sent when you submit them.

The backend schema is for accounts, quotas, scan events, feedback, usage, logs, and subscription verification. It is not a cloud photo library for your screenshots.

Ready to scan selected screenshots?

Start with screenshots you are comfortable sending for AI analysis. The resulting resource cards are stored locally with SwiftData.