The short version
- To sell and check licenses we keep your email, your key, a hash of the hardware ID, the model and the Perchy version of each Mac it is activated on (up to two), a Stripe customer ID, the Stripe checkout it came from and timestamps. For the free trial, only a hash of the Mac’s hardware ID, the trial’s dates and the Perchy version.
- Checkout is run by Link (Stripe) as the seller of record. We never see your card number.
- The app talks to our servers (license, trial, updates, prices and currency rates); directly from your Mac, to public market-data and exchange-rate services only as backup, a decentralised-exchange data service for DEX-only tokens, the streaming service’s artwork servers while Spotify plays, and a song-lyrics service when you show lyrics.
- Face Unlock data, your calendar, your clipboard, your music, your files and your settings stay on your Mac.
- Feedback goes to us only when you send it. Crash reports are off unless you turn them on. Both are deleted after 180 days.
- No analytics, no ads, no tracking cookies, in the app or on the site.
A summary to help you read. The sections below are the full text.
Who is responsible
#Perchy is made by 4Studios LLC, a Wyoming company in the United States (“we”, “us”), which is responsible for the personal data described here. Contact: support@getperchy.com.
This policy covers getperchy.com, checkout and the license lookup, and the Perchy app for macOS. It describes what the software actually does today.
When you buy
#Checkout is run by Link, Stripe’s checkout service, which sells Perchy Pro to you as the merchant of record. On its page Link collects your payment details, email address, name and billing address (to work out the tax), and sends your receipt. We never receive your card number. Link and Stripe handle that data under their own privacy policies.
After a successful payment, our server receives your email address from Stripe and stores:
| Data | Why | Where it lives |
|---|---|---|
| Email address | To issue your license, email you the key, and send it again if you lose it | Our database |
| Stripe customer ID, when Stripe creates one | To match your license to the payment, for support and refunds | Our database |
| Stripe checkout session ID | To issue exactly one key per purchase and show it to you right after checkout | Our database |
| Stripe payment ID | To revoke the key automatically when its payment is refunded in full or disputed, and to restore it if a dispute is decided in our favour | Our database |
| If the key is revoked: why (for example “refunded”), by whom (an administrator or our payment system) and when | For support, and a record of changes made to your license | Our database |
| License key and its status | To activate and check your license | Our database, and your Mac’s Keychain once activated |
| A one-way hash of the hardware identifier of each Mac the key is activated on, with the time of its first and latest check, the Mac’s model (for example “MacBook Air (M2, 2022)”) and the Perchy version it last reported (for example “1.0.1”) | To let one key work on up to two Macs, and to show you which Macs use it so you can free a seat. The version tells us which Perchy versions are in use, so we can plan updates | Our database |
| Timestamps (created, updated, expiry if any, and when your key was emailed) | To keep a correct record of the license, and to email your key only once | Our database |
Right after you pay, or when we issue you a key ourselves, we email your license key to that address, with how to activate it, through our email provider, Resend. We send it again only if you or our support ask. Resend receives the address and the email’s content (your key and the steps) to deliver it. The email has no tracking pixels or tracked links.
Your name and billing address stay with Link and Stripe; we can see them in our Stripe account but do not copy them into our database. Each checkout also carries a label for which buy button was used (for example “pricing”), which says nothing about you.
What the app sends
#The app connects to these services, and only for these reasons:
- Our license server (getperchy.com). When you activate, and then about every day and a half (not at every launch), it sends your license key, a one-way hash (salted SHA-256) of your Mac’s hardware UUID (the
IOPlatformUUIDmacOS assigns to the machine, never the UUID itself), your Mac’s model name, the Perchy version and build number, and a random one-time number. The server answers with a signed confirmation that the key is valid on this Mac. It stores the hash, the model and the Perchy version with your license, with the time of the first and the latest confirmation, for up to two Macs per key. In between, while Perchy runs with a license key, it checks about once an hour that the key is still good on this Mac (for example that it was not refunded): that check sends only your license key, the same hash of the hardware ID and the Perchy version and build number, nothing else. The server looks them up and records the version and build on that Mac’s record, with when it saw them, so we can see which Perchy versions are in use and plan updates; it records nothing else, and keeps only the latest version, not a history. Without a key (Free or the trial) there is no such check. When you choose “Deactivate this Mac”, the app sends the key and the same hash once more so the server can delete that Mac’s record; if you are offline it keeps that request in your Keychain and sends it the next time it can (it gives up after 90 days). On our website, after signing in with your purchase email, you can see the Macs that use your key (model and dates only) and free a seat. Like any web server, it also sees the IP address the request comes from. To stop abuse, it counts checks per IP address and per key in memory for at most an hour; that count is not written anywhere. - The free trial (getperchy.com), only while a Mac has no license and no trial yet: the app sends the same one-way hash of your Mac’s hardware UUID, the Perchy version and build number, and a random one-time number. The server stores the hash with the time the trial started and ends, so each Mac gets one trial, and the Perchy version of the latest request with when it came (which versions are in use, as above). No email, name or payment detail is involved.
- Perchy’s price service (px.getperchy.com) for prices, charts and the coin list of exchange-listed coins: one prices file, the same for every Mac and cached by our CDN provider, Cloudflare, so no coin list or identifier is sent. A chart names one coin and range (for example BTC over one week).
- Public market-data services, contacted directly from your Mac only as a backup when Perchy’s price service is unreachable or lacks a coin, for prices and charts of exchange-listed coins and the coin list for search. The requests name the trading pairs and chart range the app needs (for example BTC in USD over one week), nothing else. These services see those and your IP address, and their own privacy policies apply.
- A decentralised-exchange data service, contacted directly from your Mac, for tokens that trade only on decentralised exchanges and for coin search: it receives the search text you type and the addresses of the tokens you follow, and sees your IP address. Images of DEX-only tokens load from the address the DEX data service provides. Logos of coins listed on exchanges ship inside the app, so showing them sends no request at all.
- Currency rates, for the converter and prices in other currencies: daily rates from Perchy’s price service (px.getperchy.com), one file that is the same for every Mac and cached by Cloudflare. Only if that fails, the app asks exchange-rate reference services directly from your Mac, as a backup. The requests ask for a list of currencies, nothing about you; these services see your IP address. Rates are cached on your Mac.
- Update checks (getperchy.com), about once a day unless you turn automatic checks off in Settings: the app downloads the list of Perchy releases. The request carries the app’s name and version and, like any request, your IP address. When you install an update, it downloads from where we host our releases.
- App settings file (getperchy.com), a few seconds after launch and then every 6 hours: a small file, signed by us and the same for everyone, that tells the app which price and currency-rate services to use, how often it may ask them, and occasionally a notice for all users. The request carries the app’s name and version and, like any request, your IP address; no identifier, license key or cookie.
- Notices file (getperchy.com), at the same times: a short file of occasional messages, signed by us and the same for everyone; the app decides on your Mac which ones apply. Same request, no identifier.
- Feedback you send (getperchy.com), only when you press Send in Settings › About › Send Feedback or the menu bar’s Send Feedback…. See Feedback and crash reports.
- Crash reports (getperchy.com), only if you turn on “Share crash reports”. It is off by default. See Feedback and crash reports.
- The streaming service’s public artwork servers, only while Spotify is playing: the app downloads the cover art Spotify reports for the current track and, if that fails, looks the cover up by the track’s public link. The service sees which cover or track link is asked for and your IP address. Other music apps hand their artwork to macOS directly, with no request from Perchy.
- A song-lyrics service, only while you show lyrics on the music page (a Pro feature): the app asks for the current song’s lyrics with its title, artist, album and length, nothing else. The service sees those and your IP address. Lyrics are cached on your Mac.
Our own hosts by hostname, for a firewall such as Little Snitch or LuLu (also on Is this the real Perchy?). Apart from them, the app contacts only the third-party services described above, by category.
| Service | Hostnames | What for |
|---|---|---|
| Perchy (us) | getperchy.com | License activation, then a license check about once an hour while Perchy runs with a key (only the key and a hash of the Mac’s hardware ID), the free trial, the daily update check, a small settings file and a notices file every 6 hours (which price and rate sources to use, and occasional messages; nothing about you is sent), and feedback or crash reports only when you send them or turn them on. |
| Perchy releases | downloads.getperchy.com | Only when you install an update: the new version of Perchy, the same file as the download on getperchy.com. |
| Perchy price service | px.getperchy.com | Prices of exchange-listed coins, their charts and the coin list for search, and daily fiat exchange rates: files that are the same for every Mac and served from a cache, so no coin list or identifier is sent. |
There are no analytics, advertising or tracking SDKs in the app, and no third-party crash reporter. Its diagnostic logs use macOS’s own logging system and stay on your Mac, unless you choose to include them with feedback.
Feedback and crash reports
#Feedback is sent only when you press Send. It always contains the type you picked (bug, idea or other), your message, the reply email if you typed one (it is never filled in from your license), the app version, the macOS version and your Mac’s model identifier (for example “Mac15,3”). What you type is kept in the app’s memory until it is sent or Perchy quits, and is never saved to disk.
“Include diagnostics” is on by default, and you can switch it off for each message. The feedback window lists every value before you send. With it on, the message also carries the app build, your displays’ size and notch measurements, which Perchy features are switched on, whether Apple Intelligence is available, up to the last 200 lines of Perchy’s own log, and the same one-way hash of your Mac’s hardware identifier that the license check sends. The hash lets us match your message to your license when we answer. Log lines are already privacy-redacted by macOS. They never contain what you copy, your calendar, what you listen to, your files or your license key, and home folder paths are shortened so they do not show your account name.
Crash reports are off unless you turn on “Share crash reports” in Settings › About. With it on, Perchy sends the crash and hang reports Apple’s MetricKit gives it on the next launch. These contain where in the code the problem happened (program names and offsets), the type of error, the app and macOS version and the Mac model. If macOS wrote a crash log for Perchy (in ~/Library/Logs/DiagnosticReports), Perchy asks you first and then sends only a reduced copy: the error, the crashed thread’s steps and the names of the libraries involved. It never includes file paths with your user name or information about other apps. Reports that cannot be sent yet wait on your Mac (at most five, for at most seven days) and are deleted once sent or when you turn the setting off. To stop abuse, crash uploads also carry the device hash. The server uses it only to limit how many reports one Mac can send and does not store it.
We use feedback and crash reports only to fix problems and to answer you. We do not share them, and we use the email only to reply. Like any request, the server sees your IP address, and to stop abuse it counts reports per IP address and per device hash in memory. Feedback and crash reports are deleted 180 days after they arrive. Write to support@getperchy.com to have yours deleted sooner.
What stays on your Mac
#- Your license. The key and the server’s latest signed confirmation (which carries one-way hashes of the key and of your Mac’s hardware ID, and its validity dates) are kept in the macOS Keychain. The confirmation lets the app work offline until it runs out. The last status message and check time are kept in the app’s preferences. If you deactivate the Mac while offline, the removed key waits in the Keychain until its seat is freed (at most 90 days), then it is deleted.
- Face Unlock (off unless you turn it on). Camera frames are processed on the Mac with Apple’s Vision framework. The camera runs only while you set Face Unlock up, when you click the lock or double-tap Control, and for a few seconds (at most 20 per lock) when the lock screen appears or you come back to the lock screen. Your face template and Mac password are stored in your login Keychain and never leave the Mac.
- Everything else: what is playing, your calendar events, your clipboard history (kept in memory only) and what Apple Intelligence does with it, your Clock timers (read, never changed), battery, volume and brightness, the names and battery levels of Bluetooth headphones and speakers as they connect, files in the Files Tray and the copies Perchy converts from them (with Apple’s own frameworks), the names, sizes and previews of new files in your Downloads folder (for the “download finished” notification, which you can turn off), price alerts (shown as local notifications) and your settings are processed on the Mac and are not sent to us (feedback with diagnostics only says which features are switched on). Files you share with AirDrop go through Apple’s AirDrop to the device you pick.
The website
#- License lookup. Right after checkout, the page asks our server for your key; the server confirms the purchase with Stripe first, and shows the key only in the browser you paid in, for 24 hours. “Find your license” gives the same answer for every address. If the address you type bought Perchy, we email it a sign-in link through our email provider, Resend, and store the address, the time, the IP address that asked and a hash of the link (not the link itself); expired links are deleted the next time that address asks for one. To stop abuse, the server counts requests per IP address and per email address in memory for a few minutes; those counts are not written anywhere. If a request fails because of a server error, the error log records the request’s IP address, path and a request ID.
- Cookies. The site has no analytics or ad trackers. It sets only strictly necessary cookies: starting checkout sets one that lets this browser show your key afterwards (24 hours); opening a sign-in link sets one that keeps you signed in to see your license (30 minutes, or until you sign out); the admin console uses one for staff sign-in. The checkout page is Link’s site and sets its own cookies.
- Visitor numbers. We look at how the site is doing through totals only: Cloudflare’s own counts of visits and pages per day, by country and by page, and of app downloads per day and by country, read from Cloudflare by our server, and how many times checkout was started, the download link was used and the app checked for updates each day, kept as one number per day without your IP address, a cookie or anything else about you. There is no analytics script on the site, and nothing that follows you from page to page.
- Fonts are served from our own domain, so your browser does not contact a font service.
- Directory badges. The home page’s footer shows badges from app directories (TryMacApps, MacNative), loaded from their sites, so your browser fetches those images from them, as with any website, with your IP address.
- Hosting. getperchy.com and Perchy’s price service run on servers we rent from Hetzner, and reach you through Cloudflare, which caches them and protects them from attacks. Both handle requests, including IP addresses, on our behalf, and may keep standard server logs, such as IP addresses and request times, for security and operations.
Why we use it
#- To provide what you bought: issuing, activating and checking your license and showing it to you (performance of a contract).
- To prevent abuse and fraud: rate limits, and revoking keys whose payment is refunded in full or disputed (legitimate interests). A partial refund leaves the key working.
- To keep sales records that tax and accounting law requires (legal obligation).
- To answer feedback you send and fix the problems it and crash reports show (your request, and our legitimate interest in working software).
We do not sell personal data, use it for advertising, or build profiles.
How long we keep it
#We keep your email, license and device record for as long as your license exists, because the app needs them to check your key and you need them to look it up. If you ask us to delete them, we do, and the license stops working. A trial record (the Mac’s hash, the trial’s dates and the Perchy version it last reported) is kept so that each Mac gets one trial; it holds no email address or license key. Payment records are kept by Stripe and in our Stripe account for as long as tax and accounting law requires. Feedback and crash reports are deleted after 180 days.
Your rights
#You can ask to see the data we hold about you, correct it, delete it, receive a copy, or object to how we use it. Write to support@getperchy.com from the email address you bought with; we may need to confirm it is you. You can also release your license from a Mac yourself: “Deactivate this Mac” in Perchy’s Settings, or “Your Macs” on getperchy.com/dashboard after signing in with your purchase email, which deletes that Mac’s record.
You can also complain to the data protection authority where you live (in the UK, the ICO).
International transfers
#We and our providers may process data in the United States and other countries. These transfers rely on the EU–US Data Privacy Framework or standard contractual clauses.
Security
#The app keeps your key in the Keychain and talks to our server over HTTPS. The server binds a key to at most two Macs, each identified by a hash of its hardware UUID; the UUID itself is never stored. Its confirmations are signed, so the app ignores answers that did not come from our server. The license page shows a key only to the browser that completed checkout, masked until you reveal it. No system is perfectly secure; if you notice something wrong, tell us.
Children
#Perchy is not meant for children, and we do not knowingly collect data from them.
Changes to this policy
#When the software or this policy changes, we update this page and the date at the top. The Terms of Service and Refund Policy cover the rest.
Questions about this page? Write to support@getperchy.com.
