Privacy Policy
ScreenVeil processes your screen on your Mac. This page covers the small amount of data we do handle: your trial email, sign-in and purchases, anonymous usage counts from the app, and visit and ad measurement on this website.
What ScreenVeil never collects
- No screen frames or screenshots are uploaded.
- No text read from your screen is sent anywhere.
- No window titles, app names, or notification content is collected.
Trial email
Starting the free trial asks for an email address and saves it in local preferences. It isn't sent to us or to our billing provider. The trial does not require a verified billing account. Your trial email is not proof of purchase and does not unlock Pro. A local Keychain record retains trial usage and whether the setup introduction has been used. Changing email, signing out, or reinstalling does not refill the trial while that record remains on this Mac. This record contains no email or hardware identifier and is not uploaded.
Email a Mac download link
If you ask us to email a download link, Postmark processes the address you enter to send that one message. This does not create an account or subscribe you to marketing. For a one-time link without a reminder, we do not save that address in our website database. If you request the optional reminder, we retain it encrypted as described below. Your address is never sent to website analytics. To limit unwanted emails, we keep purpose-specific, expiring hashes and request counts derived from the address and request source. These contain no plaintext email address or IP address and are removed on subsequent requests after their rate-limit window expires.
Sign-in and purchases
Buying or restoring Pro requires email verification. Supabase handles authentication, and Postmark delivers the sign-in code. The Mac app stores its account refresh credential in the Mac's login Keychain. The website keeps its sign-in session in memory for the checkout flow.
Purchases are processed by RevenueCat (Web Billing) and its payment processor. RevenueCat stores your purchase and entitlement status; the payment processor stores your payment details. A customer ID based on your verified account's random identifier connects your purchase to the app. Your verified email is supplied to checkout. Screen content is never sent to these billing or sign-in providers.
In build 34 and later, the app checks purchases through our Supabase billing service, which verifies your account and checks RevenueCat. Each request includes account authentication, a random installation identifier and a one-use request value. The installation identifier is not a hardware fingerprint. The service returns a digitally signed record of access for that account and installation.
The app saves that signed record, its account binding, the installation identifier and the latest observed time in the login Keychain. This allows up to 72 hours of offline Pro access after a successful online check during connection or service outages. The saved time helps detect clock changes; an outage does not extend the record's expiration. Signing out clears the saved access record while retaining the installation identifier and time history. An account change, invalid sign-in or purchase response, or a confirmed end to paid access also clears the record.
Earlier builds may check a device customer ID saved in Keychain. Build 34 and later preserve that older record for recovery, but it no longer unlocks Pro on its own. If you bought before verified accounts were available, contact support with your original receipt so we can verify purchase ownership.
Anonymous usage data
Starting with build 31, the Mac app sends anonymous usage counts to TelemetryDeck. They show how many people finish setup, allow Screen Recording, start a protected session, use up the free sessions, open checkout, and turn on Pro, plus one count each time the app launches. Starting with build 32, it also sends one count on each new day the app stays open, since many people never quit it.
Each count includes the app and macOS versions, the Mac model and architecture, display size, time zone, language and region settings, and appearance and accessibility settings. Devices are counted with a random ID the app creates, which is hashed before it leaves your Mac. Counts never include your email, app names, window titles, notification text, or screen content.
Usage data is on by default. You can turn it off under Usage data in the General section of Settings. Counts from while it's off are never sent later. ScreenVeil has no crash reporting.
Updates
Once a day, ScreenVeil checks for a new version by downloading a small update file from GitHub, where releases are hosted. That request includes your app version and macOS version. It includes nothing about your screen, and ScreenVeil does not send a system profile. You can turn automatic checks off in Settings.
Website visit counts
screenveil.io uses Vercel Web Analytics to count page views without cookies. Each view records the page, the referring site, campaign tags, your approximate location (country, region, and city), and your browser, operating system, and device type. Visitors are counted with a hash of the request that is discarded after 24 hours. Sign-in and checkout details are removed from page addresses before they're recorded.
HeyCatch website analytics
When website measurement is enabled, HeyCatch records visits to public pages, navigation and clicks so we can understand which parts of the site help people get started. Events include public page addresses, referring sites, approved campaign tags, clicked public controls, browser and device information, and random browser and session identifiers. The identifiers are stored in your browser only after measurement is enabled. HeyCatch also receives ordinary connection information when your browser contacts its service.
HeyCatch follows the measurement choice and regional defaults described below. Global Privacy Control and Do Not Track turn collection off. We exclude sign-in, checkout, purchase-return and internal dashboard pages, remove private query parameters, and do not send your email, verification code, billing identity or payment details to HeyCatch. Session recording is disabled. It does not record your screen or what you type. You can turn collection off through Cookie settings in the footer. Learn more about HeyCatch.
Website advertising measurement
screenveil.io loads the Google Ads tag to measure visits, clicks on the Mac app download button, and completed purchases. Google may receive page and referral information, ad click identifiers, browser and device information, and your IP address, and may store advertising measurement cookies. A download click does not confirm an installation or purchase. A purchase is counted once, on the page you see after checkout. Google learns that a purchase happened, but not your account, email, or payment details.
In the United States, measurement is on by default. Elsewhere, the Google Ads tag is blocked until you choose Allow measurement. We treat a Global Privacy Control signal from your browser as a choice to turn measurement off. Turning it off does not affect downloads or purchases. We store your choice in your browser, and you can change it any time through Cookie settings in the footer. We do not enable personalized advertising or send your sign-in email, payment details, or screen content as conversion data. Learn more about how Google uses information from partner sites.
Website journeys and page experiments
When enabled, our website journey measurement follows your Allow measurement choice and the regional defaults above. Global Privacy Control and Do Not Track disable journey collection. We record a random identifier for a browser-tab session, public page categories, approved campaign identifiers, broad device and viewport categories, page version, sections visible for at least one second, and download or navigation clicks. An optional question on the download page records only the predefined reason you choose. We may compare two versions of a public page to understand which makes the download process clearer.
These records are stored in Supabase and are available only to our authorized operators. Journey records are scheduled for deletion after 30 days; the daily cleanup can take up to an additional day. The random session identifier is stored in your tab's session storage and expires after 30 minutes of inactivity. We do not store your IP address in these journey records, record your screen or page contents, capture typed text, or link a journey to your email, billing account, or Mac app identity. Hosting providers still process ordinary request information to deliver the website. Declining measurement stops new journey events and clears unsent events and the tab identifier. Events from before consent are not collected for later upload. Checkout, account-return, and internal dashboard pages are excluded from journey collection.
Send to my Mac and one optional reminder
You can share, copy or email a download link without signing up. When website journey measurement is allowed, a random link identifier lets us count the handoff action, a receiving Mac visit and an installer click. Both browsers must allow measurement. These handoff records are separate from browser-tab journeys and are not connected to an app, billing account or purchase. They contain no email address or screen content. Records expire after 30 days and are removed by the next successful daily cleanup.
The identifier travels in the link fragment, which our handoff page removes before continuing to the download page. That page does not run website analytics. The receiving tab may retain the functional link identifier in session storage for up to seven days, or until you click the installer link. It grants no account access. Sharing or copying a link does not confirm that it arrived on a Mac, and an installer click does not prove a completed download or installation.
Email links are sent through Postmark. If you check Remind me once, we store your email encrypted and attempt one reminder 24–48 hours later, only if no installer click from that link has been observed. Clicking the installer link cancels the reminder even if general measurement is off. Requests blocked by your browser cannot be observed, so a reminder can still arrive after a download. You can stop the reminder using the link in your email. There is no marketing signup or email sequence. The functional link and encrypted address expire after seven days and cannot be used to send after that point; they are removed by the next successful daily cleanup. The encrypted address is cleared sooner on cancellation or a reminder attempt. A separate purpose-specific keyed hash of the email address enforces a limit of one reminder per address in 30 days; it is not included in analytics and expires after that limit window. Postmark email open and link tracking are off.
Contact
Questions about privacy? Reach us via the support options inside the app.