Legal
Privacy Policy
Effective 2 August 2026 · Last updated 3 August 2026
The short version
- The Snapline app has no analytics, no telemetry, and no account. Nothing you capture is sent anywhere.
- Screenshots, recordings, recognized text, and translations are created and kept on your Mac, in files you control.
- The app connects to the internet for one thing on its own: checking whether a new version has been published.
- Your license key is verified by arithmetic on your own Mac. There is no activation server to phone.
- Buying is the one point where personal data exists at all: your email address and the license issued to it.
- This website counts its readers with our own cookieless counter. It never stores your IP address, and no third party receives any of it.
1. Who this policy is from
Snapline is a macOS application made by Ziad Ziadeh, an individual developer, who is the data controller for the small amount of personal data described here. This policy covers the Snapline app, the website at snap-line.app, and the purchase flow that issues license keys.
For anything in this policy, write to support@snap-line.app.
2. The app: what stays on your Mac
Snapline collects nothing from your Mac. There is no analytics SDK, no telemetry, no usage reporting, no crash reporting service, and no account to sign in to. Nothing you capture leaves your computer unless you send it somewhere yourself.
Everything the app produces is produced and kept locally:
- Screenshots, scrolling captures, recordings, and GIFs are ordinary files on your disk, in the location you choose in Settings.
- Recognized text (OCR) is produced on device by Apple's Vision framework and stored alongside your capture history so that searching works. It is never transmitted.
- Translations are produced on device using macOS language packs. The packs are downloaded and owned by macOS, not by Snapline: the first translation of a language pairing may raise a system download prompt, which is Apple's, and any resulting network activity is between macOS and Apple.
- Annotations, pins, and history are local application data.
- Your license key is stored locally and checked locally.
Snapline asks for one system permission: Screen Recording, which macOS requires before any app can read the contents of the screen. It is what capture is. Snapline does not request Accessibility, Full Disk Access, contacts, camera, microphone input for screen recording, or location.
3. The app: when it uses the network
Snapline makes exactly one kind of network request on its own behalf.
Update checks
The app uses Sparkle to check for new versions. It fetches an appcast file from raw.githubusercontent.com and, if you choose to install an update, downloads the disk image from GitHub Releases. As with any web request, GitHub receives your IP address and the request headers your system sends. Snapline does not attach a system profile, a unique identifier, or your license details to these requests, and receives no report about them itself.
These checks run automatically in the background, and the honest caveat is that the app has no switch to stop them today: a Mac kept offline, or an outbound firewall rule, is currently the only way to prevent them. If that matters to you, say so and it becomes a setting.
What it does not do
- No activation call. A license key is a signed blob verified against a public key built into the app. Activation works on a Mac that has never been online, and nothing is reported when it succeeds or fails.
- No install counting. Snapline does not know how many Macs you use it on, and has no mechanism to find out.
- No content upload. Captures, recognized text, and translations are never sent anywhere by the app.
Links inside the app (Buy, Renew, the GitHub repository) open in your browser when you click them, at which point that site's own policy applies.
Crash reports
Snapline embeds no crash reporting service, so a crash sends us nothing. macOS writes crash logs locally, as it does for every app, and Apple's own Share with App Developers setting may pass anonymized diagnostics to developers under Apple's terms. We use no such feed and receive no crash data from it. If you want to send us a crash log, you would have to attach it to an email yourself.
4. The website
The site sets no cookies and stores nothing in your browser. It counts its readers with a small counter we wrote ourselves, running on the site's own domain. Each page view sends an event to the site's /api/metrics endpoint, which records the event name, the page path, the country and region Cloudflare already attaches to every request, and a visitor number made by hashing the request's IP address and browser signature together with the current date. The hash cannot be reversed, the IP address itself is never stored, and the number changes every day — it can say that two page views on the same day were the same person, and nothing more. The site also counts, as bare totals, how many readers scroll to the bottom of the landing page and how many click the download and buy buttons. No third party receives any of it; there is no tracking pixel, no advertising network, and no visitor profiling.
Those counts live in Cloudflare's Workers Analytics Engine, in a dataset called snapline_site, and Cloudflare ages them out after 90 days. Requests whose browser identifies itself as a bot or a crawler are dropped before anything is written, so the numbers are readers rather than machines.
The site is hosted on Cloudflare Pages. Like any web host, Cloudflare processes the technical data a request necessarily carries — IP address, user agent, the URL requested, timestamps — to deliver the page and to protect the site from abuse. We keep no log of that raw traffic ourselves; the counter described above is the only record of a visit we hold, and it never contains the address.
The site's fonts, scripts, and styles are served from snap-line.app itself. One third-party resource is loaded, on the pages that show a price, and it sees your IP address and user agent because that is how the web works:
| Loaded from | Pages | What for |
|---|---|---|
| Paddle (cdn.paddle.com and its checkout) | Home, Buy, Renew | Displaying the price in your local currency, and running the checkout. Paddle sets its own cookies and local storage for the checkout and for fraud prevention, and infers your country from your IP address so the price shown is the price you would pay. |
On the home page Paddle's script only fetches the localized price; the checkout, and the storage that comes with it, exists on the Buy and Renew pages.
5. Buying a license, and what we keep
Paddle.com Market Ltd is the Merchant of Record for every Snapline purchase. That means Paddle, not us, sells you the license, takes the payment, and handles sales tax. Paddle collects and processes what a payment requires: your name, email address, billing address, country, payment card or wallet details, and the transaction record. Card numbers never reach us and are never stored by us.
Paddle is an independent controller of that payment data and handles it under its own policy, which is at paddle.com/legal/privacy.
What reaches us, after a completed payment, is your email address and the transaction's identifiers. A small Cloudflare Worker uses them to mint your license key, store it so a lost key can be reissued and so a webhook retry never issues you a second one, and then send the key to you by email.
Everything we keep about a purchase lives in Cloudflare Workers KV, and this is all of it:
| Data | Why it exists | Kept |
|---|---|---|
| Your email address | To send the license key, to find your key again if you lose it, and to extend the right update window when you renew. | For as long as the license exists, since a perpetual license has to stay reissuable. |
| The license key issued to you, and its identifier | So that one purchase yields exactly one key, however many times the payment webhook is retried. | Same. |
| Purchase date, update-window end date, number of seats | The terms of the license itself, and what a renewal extends. | Same. |
| Paddle transaction and customer identifiers | To match a support request or a refund to the right license. | Same. |
| Support email you send us | To answer you, and to remember the answer if you write again. | Up to 3 years from the last message in the thread. |
That table and the page counter in section 4 are the whole of what we hold. There is no profile, no behavioral record, no list of what you captured, and nothing derived from your use of the app, because the app reports nothing. The counter and your purchase are never joined: nothing in the metrics dataset identifies a buyer, and nothing in the license record says anything about a visit.
Ask us to delete your license record and we will. Be aware of the trade-off, which we would rather state than bury: once the record is gone we can no longer prove the license was yours or reissue the key, so keep your own copy of it first. Your existing installation is unaffected either way — the key keeps verifying offline.
6. Who else handles it
| Service | Role | Sees |
|---|---|---|
| Paddle.com Market Ltd | Merchant of Record, independent controller | Name, email, billing address, payment details, tax location. |
| Cloudflare, Inc. | Processor — site hosting, the license-issuing Worker, the KV store, and the metrics dataset | Site request metadata, the page counts from section 4, and the license records above. |
| Amazon Web Services, Inc. (Amazon SES) | Processor — email delivery | Your email address and the license email itself. |
| GitHub, Inc. (Microsoft) | Distribution of the app and its update feed | The IP address and headers of a download or update check. |
| Google LLC | Font delivery for the website | The IP address and headers of the font request. |
We do not sell personal information, we do not share it for advertising or cross-context behavioral advertising, and there is no other recipient. If that ever changes, this list changes with it before it happens.
7. Why we are allowed to hold it
For readers in the EU, the UK, and anywhere with a comparable law, the legal bases under the GDPR and UK GDPR are:
- Performance of a contract — issuing your license key, emailing it to you, reissuing it, and extending it on renewal. Without your email address there is nowhere to send what you bought.
- Legitimate interests — answering support requests, and keeping the purchase flow from issuing duplicate or fraudulent licenses. The interest is narrow and the data is the minimum the job takes.
- Legal obligation — tax and invoicing records, which are kept by Paddle as the Merchant of Record rather than by us.
We do not rely on consent for anything described here, because nothing described here is optional to the purchase. There is no marketing list; we do not email you unless you bought something or wrote to us.
8. Your rights
Depending on where you live you have some or all of these rights over the data described above: to know what is held, to get a copy, to have it corrected, to have it deleted, to restrict or object to how it is used, and to receive it in a portable form. California residents have the equivalent rights under the CCPA, including the right not to be discriminated against for exercising them.
Exercise any of them by emailing support@snap-line.app from the address you bought with, or telling us the address you bought with. We answer within 30 days, and there is no charge. We may ask you to confirm the request from that address, since it is the only thing tying a person to a record.
For payment data, the faster route is Paddle directly, since Paddle holds it. If you are in the EU or the UK and think we have handled your data badly, you can complain to your national data protection authority.
9. International transfers
Snapline is made and run by one person, and the services it relies on are global. Cloudflare, Amazon Web Services, and GitHub process data in the United States and elsewhere; Paddle operates from the United Kingdom with infrastructure in the EU and the US. Where personal data leaves the EEA or the UK, those providers rely on the European Commission's Standard Contractual Clauses and the UK Addendum, or on an adequacy decision, in their agreements with us.
10. Changes to this policy
If this policy changes, the date at the top changes with it, and the previous versions remain visible in the site's public history. If a change is material — a new recipient of data, a new category collected, a new purpose — we will say so plainly here rather than quietly amending a sentence. Nothing in an update applies retroactively to data already deleted.
11. Contact
Ziad Ziadeh, developer of Snapline.
Email: support@snap-line.app
A postal address for formal data requests is available on request to that address.