The essentials
- No account, no login: You don’t have to sign up anywhere.
- No ads, no tracking: Sailforce contains no advertising, tracking or analytics software and does not ask for your device’s advertising ID.
- On your device: The app’s settings and usage data stay local on your device.
- Purchases: Apple handles purchase and payment. So that Sailforce shows current prices and knows whether you have Pro or a trip pass, I use the RevenueCat service. For this, the app connects to RevenueCat at every launch – even if you buy nothing – and uses a random, pseudonymous identifier – not your name and not your email address.
1. Controller
The controller is Philipp Masztakowski, PositiveLifeApps, Zonser Str. 23, 50733 Köln (Cologne), Germany, email: support@positivelifeapps.io. You can find further details in the legal notice.
2. Data that stays on your device only
Sailforce stores your settings (for example display options and language), a cache of your purchase status (so that Pro stays unlocked even without an internet connection) and counters of how often the app has been launched and how many manoeuvres you have sailed, and the app version last used (all for the rating prompt, see section 5) exclusively locally on your device. This data is not transmitted to me (for purchase verification, see section 4). It is removed when you delete the app and may be part of your device backup with Apple if you have enabled it. The simulation itself runs entirely on your device and also works without an internet connection.
3. Purchases via the App Store
You buy the trip pass and the Pro subscriptions through the App Store. Apple handles purchase, payment, subscription management and refunds as an independent controller; Apple’s privacy policy applies. I receive no names, email addresses or payment details from Apple, only aggregated sales reports from which I cannot identify individuals.
4. Verifying your purchases with RevenueCat
So that Sailforce shows you the current offers and prices and reliably recognises whether you have Pro or a valid trip pass – also after a reinstall or on another device – I use the RevenueCat service of RevenueCat, Inc., 1032 E Brandon Blvd #3003, Brandon, FL 33511, USA (“RevenueCat”).
What data: On first launch, the app generates a random identifier (app user ID). It contains neither your name nor your email address, but it is not anonymous – it is a pseudonymous identifier, because it stays linked to your device permanently. The app stores it on your device. At every launch – even if you buy nothing – the app retrieves the current offers and your purchase status from RevenueCat and transmits this identifier along with technical information such as app version, operating system version, device type, language and App Store country. When you buy something or restore a purchase, the purchase receipts from Apple are added (which product, when purchased, how long valid, subscription status). In sum, the app therefore transmits the identifier, where applicable purchase receipts, and technical information such as app version, operating system version, device type, language and App Store country. For technical reasons, your device’s IP address is also transmitted during the connection. RevenueCat receives no name, no email address, no payment details and no advertising ID. I do not set any additional user attributes at RevenueCat and do not link it to any analytics or advertising services; RevenueCat’s automatic collection of device identifiers is turned off. Sailforce does not ask for permission to track you (App Tracking Transparency) and does not read any advertising ID. A note in all openness: during purchase checks and syncing, the RevenueCat SDK technically reads the state of the tracking setting on your device and transmits this status to RevenueCat. Since Sailforce never asks for tracking, it is practically always “not determined” – or “denied” if you have turned off tracking requests in iOS altogether. I do not use this status, and it cannot be switched off in the SDK.
The purpose is to display the current offers and prices, to unlock and manage the features you have purchased, and an aggregated overview of purchases and subscriptions in my RevenueCat account. The legal basis, where you buy something, restore a purchase or have already purchased, is Art. 6(1)(b) GDPR (performance of the contract on your purchase). For the retrieval at launch without a purchase, the legal basis is Art. 6(1)(f) GDPR; my legitimate interest is to show you correct, current prices in the app and to recognise existing purchases – for example from another device or after a reinstall – without any action on your part. The storage of the pseudonymous identifier and the purchase-status cache on your device is based on Section 25(2) No. 2 TDDDG, because it is strictly necessary for the app’s in-app purchase function.
Objection: You can object to the retrieval without a purchase at any time under Art. 21 GDPR. Since the free 2D view works entirely without internet, you can also prevent the retrieval yourself: in iOS Settings under “Sailforce” or “Mobile Data”, turn off mobile data for Sailforce and use the app without Wi-Fi (or in Airplane Mode). Purchases are then not possible.
RevenueCat processes the data as my processor (Art. 28 GDPR) on the basis of its data processing agreement (Data Processing Addendum). Because RevenueCat is based in the USA, data is transferred to the USA; the basis for this is the Standard Contractual Clauses (Art. 46(2)(c) GDPR), which are part of this agreement; you can find a copy in RevenueCat’s data processing agreement or receive it from me by email on request. Details: RevenueCat’s privacy policy.
Retention: The data stored for your identifier remains at RevenueCat for as long as I offer Sailforce, so that purchased features can be restored at any time; at the latest when Sailforce is discontinued, I delete my RevenueCat project and with it all data stored there. The pseudonymous identifier and the cache on your device disappear when you delete the app. On request, I will provide information about the data stored for your pseudonymous identifier or have it deleted. For this I need the identifier: you copy it in Sailforce under Settings → “Copy support ID” and send it to me. Without this identifier I cannot assign the data to you (Art. 11 GDPR).
Without this verification, Sailforce cannot reliably unlock purchases.
5. Rating prompt
After some use, Sailforce may show Apple’s standard prompt for rating the app in the App Store. For this, the app counts locally how often it has been launched and how many manoeuvres you have sailed; these numbers never leave your device. Whether the prompt actually appears is decided by iOS. A rating goes directly to Apple.
6. Statistics and crash reports from Apple
If you have agreed in the iOS settings to share analytics data with app developers, Apple provides me with crash reports and aggregated usage statistics (for example the number of installations). These contain nothing that would allow me to identify you. You can withdraw your consent at any time in the iOS settings under “Privacy & Security → Analytics & Improvements”.
7. Support and contact
If you write to me via the contact form or by email, the website’s privacy policy, section “Contact form and email”, applies.
8. Your rights
You have the right of access (Art. 15 GDPR), rectification (Art. 16), erasure (Art. 17), restriction of processing (Art. 18), data portability (Art. 20) and to object to processing based on legitimate interests (Art. 21). You can also lodge a complaint with a data protection supervisory authority; the one responsible for me is the State Commissioner for Data Protection and Freedom of Information of North Rhine-Westphalia (Landesbeauftragte für Datenschutz und Informationsfreiheit Nordrhein-Westfalen). An informal email to support@positivelifeapps.io is enough. You are not obliged to provide me with data; however, without the purchase verification (section 4), purchased features cannot be unlocked. There is no automated decision-making or profiling.
9. Changes
I will update this policy if Sailforce or the legal situation changes. The version published here at any given time applies. Last updated: 1 October 2026.