Privacy policy
Effective 25 October 2026
Turnout has no account, no advertising and no crash reporting, and nothing in it looks at what you do with your tunnels. What the app sends is its check for updates and, with each check, one anonymous report that counts the installation. One switch turns both off. Once you have bought a license, the app also checks it with Polar, which sells Turnout, about once a week. No license check runs during the trial.
What leaves your Mac
- The update check. Turnout asks GitHub for a small file in its latest release when you open the menu or a window, at most once an hour, and whenever you choose Check for Updates…. The request carries nothing about you or your tunnels. GitHub sees the request and your IP address, as described in the GitHub General Privacy Statement. Installing an update downloads the installer from the same place.
- An anonymous report with each check. Each check also sends one event to Google Analytics, at google-analytics.com, so the developer can tell how many installations are in use and on which versions. It contains a random installation ID that Turnout makes up the first time it is used and keeps in its preferences (it is not derived from your Mac's hardware), the Turnout version and build, the macOS version, the processor architecture, the system language, and the time Turnout was started, which Google Analytics uses to group the report into a session. Nothing about your tunnels, servers, keys or networks is ever sent, and there is no account or user ID. Google sees the request and your IP address; its use of the data is described in the Google Privacy Policy.
- The license. Once you have bought one, activating a Mac, a check about once a week and removing a Mac go to Polar, which sells Turnout, and the license is kept in your iCloud account so your other Macs find it. Nothing goes to Polar during the trial. What each step sends is listed under The license.
- Your tunnels. Traffic you send through a tunnel goes to the server in its config, and is between you and whoever runs that server. Hooks do what you wrote in them.
To stop both the check and the report, switch off Check for updates automatically in General (Turnout › Settings…). Turnout then checks only when you choose Check for Updates…, and sends no report at all. That switch does not change the license check, which only runs once you have bought a license.
Nothing else leaves your Mac: no crash reporting of its own, no advertising, no tracking, no third-party SDKs.
The license
Polar (polar.sh) sells Turnout as the seller of record: it takes the payment, handles tax, issues the receipt and keeps your order. Nothing is sent to Polar during the trial; the update check and its report run as they always do and know nothing about the trial. Once you have bought a license, this is what is sent about it, and when:
- Buying. What you type into Polar's checkout: your email address, your name, your card (handled by Stripe) and your billing country. Polar keeps it under the Polar Privacy Policy.
- Activating a Mac, when you enter your key or use it on another Mac: the license key; the name you give the Mac (its computer name, unless you change it before activating); the Mac's model identifier; the macOS and Turnout versions; and a one-way hash of the Mac's hardware identifier. This goes to Polar's license service at api.polar.sh, which sees your IP address, as with any request.
- Checking the license, about once a week when you open Turnout's menu or window, and whenever you choose Check Now: the license key, this Mac's activation ID and the same hash, to api.polar.sh.
- Removing a Mac from the license: the key and that Mac's activation ID, to api.polar.sh.
- Your other Macs. So that your other Macs find the license, the key, the email address you bought with, and for each Mac using it its name, model, macOS and Turnout versions, activation ID and the same hash are kept as records in Turnout's area of your iCloud account (CloudKit). Turnout reads them when it starts and when you open its menu or window, during the trial too, to find a license bought on another of your Macs; it writes them only after an activation, a check or a removal. They are stored with Apple's standard iCloud protection, not end-to-end encrypted, and the developer cannot read them. None of this happens while the Mac is not signed in to iCloud.
Nothing about your tunnels, servers, tunnel keys or networks is ever part of it. The hash cannot be turned back into the hardware identifier; it is there so the license can tell your Macs apart. A Mac that cannot reach Polar keeps working: nothing in Turnout stops because a check failed. The License pane in Turnout's window shows what Turnout keeps about your license.
Location and Wi-Fi rules
macOS counts the name of the Wi-Fi network you are on as location. Turnout asks for Location access only when you set up a rule that connects a tunnel on certain Wi-Fi networks, and uses it only to read the network's name, never where you are. The network names you list are stored in that tunnel's config file on your Mac and are not sent anywhere. You can take access back in System Settings › Privacy & Security › Location Services.
What stays on your Mac
- Your tunnels, private keys included, in
/Library/Application Support/cc.ctsite.turnout/tunnels, which only root can read. - The app's preferences, under
cc.ctsite.turnout: things like the colour each network interface is shown in, when a schedule last acted, and the random installation ID. - The license item in this Mac's keychain,
cc.ctsite.turnout.license: when the trial started and, once you have bought, the key, the email address you bought with, this Mac's activation and when the license was last checked. It never leaves this Mac. - Logs:
/Library/Logs/from the background service,cc.ctsite.turnout.daemon.log /Library/Logs/when an update is installed, and the app's messages in the macOS system log.cc.ctsite.turnout.update.log
Uninstalling Turnout deletes the app, its logs and every user's Turnout preferences, the installation ID with them, and the saved tunnels too if you choose. A new installation makes up a new ID. The license item stays in the keychain, so installing again does not start a new trial. Uninstall Turnout… in the app also takes this Mac off your license and removes its record from your iCloud account, unless you choose otherwise in the confirmation; the installer and the Terminal script cannot, so after those, remove the Mac in the License pane on another Mac or in Polar's customer portal. The key your other Macs use stays in your iCloud account. How to uninstall
Analytics on this website
This website uses Google Analytics only if you choose Accept in the bar at the bottom of the page. Until you do, and if you choose Decline, no analytics code is loaded, nothing is sent to Google and no cookie is set.
Once you accept, Google Analytics records the pages you view, your approximate location, worked out from your IP address (Google Analytics does not keep the address itself), your browser and device type, and the site that sent you here. It sets cookies on this site, named _ga, to recognise a return visit.
This is separate from the app's report above: your choice here does not change what the app sends, and the switch in the app does not change this website.
Your choice is kept in your browser's storage for this site. To change it, use the button below, or clear this site's data in your browser, which also removes the Google Analytics cookies. Google's use of the data is described in the Google Privacy Policy.
This website
This site has no analytics, no cookies and no scripts, and loads nothing from other sites.
This site loads nothing from other sites except Google Analytics, and that only after you accept it, as described above. It sets no cookies of its own.
It is hosted on GitHub Pages, and GitHub may log visits as described in the GitHub General Privacy Statement.
Contact
Questions and problems go to the issue tracker at github.com/tasict/Turnout/issues. Issues are public: leave out private keys, preshared keys, server addresses and whole config files.
Questions about a purchase, a refund or what is kept about your license go to [email protected].
Changes
If this policy changes, the new version will be posted on this page with a new effective date. It is available in English, 繁體中文, 日本語, Español and 한국어; if they differ, the English version applies.