How MetricSnap handles data
Updated November 6, 2026 · Privacy Policy
Subscription and usage records
When paid plans are enabled, the server-side Supabase database stores an email-derived pseudonymous account identifier, plan, accepted terms version, orders, payment and cancellation states, paid periods and quota counters. Operation identifiers and fingerprints prevent duplicate consumption. Pseudonymisation is not anonymisation. Metadata supports access, payment reconciliation, support and disputes; contact the operator to request access or deletion. Mandatory accounting records may be retained under applicable requirements.
Payments through WayForPay
Card details are entered with WayForPay. MetricSnap sends the order reference, plan name, amount, currency and monthly renewal parameters and receives payment confirmation and subscription status. The app does not store a full card number, CVV or payment token; unnecessary provider callback fields are discarded. WayForPay processes payment data under its own terms.
Short-term result recovery
To prevent duplicate quota consumption, the server stores an encrypted successful recognition result that can be replayed for the same operation for 15 minutes. The server stops returning it after that time; physical cleanup runs as a separate maintenance procedure and may occur later. Original files are not written to this database. Minimal operation metadata remains for accounting and duplicate prevention.
Documents & Zero-day file storage
Files are opened in browser memory. PDF pages are converted to images, Excel and CSV to tables, and Word to text. For recognition, images and text are sent to the configured AI provider: OpenAI directly, through Vercel AI Gateway, or Google Gemini. The app does not write original files to its own permanent storage (zero-day file storage policy).
AI processing
OpenAI / Vercel AI Gateway requests use the store: false parameter; Google Gemini requests are processed under Google’s rules. This does not mean the provider performs no technical storage. Processing terms and retention periods are determined by the relevant service. For existing tables, the model receives headers and a sample of up to 30 rows to determine context; the model does not rewrite cell values.
Google account and reports
Sign-in uses Google OAuth. The app requests profile, email and access to Google Sheets. Tokens are stored in an encrypted HttpOnly session cookie and are not returned in public profile data. Reports are created in the spreadsheet you choose and contain reviewed data, source names, notes and checksums.
Your own API keys
In your account, you can save up to five named OpenAI, Vercel AI Gateway and Google Gemini keys and choose an active key. Keys are stored encrypted in an HttpOnly cookie in this browser for up to 30 days after the last successful settings change. Each key is bound to your Google account and decrypted by the server to manage connections and make requests to the selected provider. Settings show the name, provider and only the last four characters of the key. Keys do not sync between devices. Removing a key removes it from this browser; you can revoke it across devices at the provider. Testing a key makes a short request charged at the provider’s rates. Keys are not included in drafts or reports.
Access request
The request form fields remain in this page’s browser state. Opening an email passes the prepared text to your email app; copying places it on the clipboard. The app does not send the request automatically: you review and send the email yourself. Please do not include documents, API keys, passwords or other sensitive information.
Drafts and exports on your device
Saving a draft downloads JSON containing reviewed data and the spreadsheet address. Export for other apps downloads a separate .msdata.json file with reviewed data, source names, notes and checksums; it does not include the Google spreadsheet address. These files contain neither access keys nor original documents. They are ordinary unencrypted files on your device; share them only with people allowed to read the data. Import into another app is subject to that app’s access and storage rules.
Removal and access
The “New batch” button removes the current documents from the workspace. Reports, downloaded drafts and exports remain in your Google Drive and on your device until you delete them. You can revoke MetricSnap access in your Google account’s connection settings.
Recognition limits
Unclear, obscured or ambiguous values need review. The app does not guarantee correct reading of every document. Before saving, check the original, period, currency, units and uncertain cells.
Operator and contact
Sole proprietor R. H. Semenchuk, Ukraine. For questions about data processing and access, contact privacy@thinkside.agency or metricsnap@thinkside.agency. Do not send API keys or passwords in your request.