Privacy Policy — Fan
Last updated: October 8, 2026
1. Who We Are
Fan is developed and operated by Marouane Achkra, registered auto-entrepreneur in France.
Contact: marouane.achkra@gmail.com
For the purposes of the GDPR, Marouane Achkra is the data controller.
2. Our Commitment to Privacy
Fan is built on a privacy-first principle: your personal preferences and questionnaire answers stay on your device. We do not show ads and do not track you across other apps or websites.
We operate one server of our own, ingest.yasmar.app, which receives anonymous product analytics (see Section 3.8). We also use three third-party processors strictly to operate the app:
- RevenueCat — operates in-app subscriptions and the Lifetime purchase (see Section 3.4).
- PostHog — collects fully anonymous product analytics (which screens you open, which buttons you tap) to help us understand how the app is used and improve it (see Section 3.7). No name, email, account, or persistent personal identifier is ever sent.
- OVH — hosts our own analytics server (see Section 3.8).
3. Data We Process
3.1 Preferences
Purpose: To remember your chosen fan sound, music selection, companion choices, volume levels, fade settings, background playback preference, and sleep timer configuration between sessions.
How it is stored: Locally on your device using Apple's UserDefaults and SwiftData frameworks. This data never leaves your device.
How it is used: Solely to restore your last-used settings when you reopen the app.
3.2 Now Playing Information
Purpose: To display the currently playing sound on the iOS Lock Screen and Control Center, and to allow AirPlay streaming to external speakers.
How it works: The app uses Apple's AVFoundation and MediaPlayer frameworks to set Now Playing metadata (sound name, app name) on-device. This information is handled entirely by iOS and is never transmitted to our servers.
3.3 App Review Prompt
Purpose: To ask eligible users to rate the app on the App Store.
How it works: We use Apple's SKStoreReviewController API, which is governed entirely by Apple's own logic and privacy policy. We do not receive any information about whether you submitted a review.
3.4 Subscription & Purchase Data (RevenueCat)
Purpose: To process Pro subscriptions and the Lifetime purchase, unlock paid features, restore purchases across your devices, and validate App Store receipts to prevent fraudulent entitlements.
What is processed:
- An anonymous, randomly-generated App User ID (not linked to your name, email, or Apple ID).
- Your App Store purchase receipt and current subscription/entitlement status.
- Basic technical metadata: app version, iOS version, country, device model.
Processor: RevenueCat, Inc. (United States), acting as our data processor under a Data Processing Addendum and EU Standard Contractual Clauses for international transfers. See revenuecat.com/privacy.
Linked to identity: Yes (via the anonymous App User ID, which persists across your devices to enable Restore Purchases).
Used for tracking (Apple ATT sense): No. We do not share this data with advertising networks or data brokers, and no advertising identifier (IDFA) is collected.
3.5 Local Notifications
Purpose: To remind you before a free trial ends, so you can decide whether to continue or cancel before being charged.
How it works: The notification is scheduled entirely on-device using Apple's UNUserNotificationCenter. No data is transmitted to us or to any third party. Granting notification permission is optional — you can decline, and you can revoke it at any time in iOS Settings.
3.6 Onboarding Questionnaire
Purpose: A short questionnaire shown when you first open the app, to personalize your initial setup and recommendations.
How it is stored: Locally on your device using SwiftData. Your answers are never transmitted off the device. A summary of certain non-identifying choices (such as which sleep goal you selected, how many pain points you ticked, which fan sound you picked) is sent to PostHog and to our own analytics server as part of anonymous analytics events — see Sections 3.7 and 3.8. Your individual free-text inputs, if any, are never transmitted.
3.7 Product Analytics (PostHog)
Purpose: To understand how the app is used at an aggregate, anonymous level — which screens are viewed, which buttons are tapped, where users drop off in onboarding, and how the paywall performs — so we can improve the product and its conversion flow.
What is processed:
- An anonymous, randomly-generated device identifier (UUID) created by the PostHog SDK on first launch. This identifier is not linked to your name, email, Apple ID, or RevenueCat App User ID.
- The anonymous install identifier described in Section 3.8, so that the two analytics systems can be compared.
- Event names and properties describing in-app actions, for example: which onboarding step you viewed, which fan sound you selected, when a paywall was shown, dismissed, or led to a purchase.
- Basic technical metadata automatically captured by the SDK: app version, iOS version, device model, locale, and timezone.
What is NOT processed:
- No name, email, phone number, postal address, or Apple ID.
- No precise or coarse location. We have disabled IP-address collection at the PostHog level.
- No screen recordings. PostHog's Session Replay feature is disabled.
- No advertising identifier (IDFA).
- No microphone, camera, contacts, photos, or any system-level personal data.
Processor: PostHog Inc. (United States). Data is sent to PostHog Cloud (US region). PostHog acts as our data processor; see posthog.com/privacy and posthog.com/dpa for their privacy policy and Data Processing Addendum, which includes EU Standard Contractual Clauses for international transfers.
Linked to identity: No. We have configured PostHog to never create a "person profile" for anonymous users, and we never call PostHog's identify function. All events remain attached to the anonymous device identifier only.
Used for tracking (Apple ATT sense): No. PostHog data stays in our own PostHog project. It is never shared with advertising networks or data brokers, and is never used to target you with ads in other apps or websites.
3.8 Product Analytics (our own server)
Purpose: The same as Section 3.7 — to understand how the app is used at an aggregate, anonymous level and improve it. We run this analytics service ourselves, alongside PostHog.
What is processed:
- An anonymous, randomly-generated install identifier (UUID) created by the app on first launch. This identifier is not linked to your name, email, Apple ID, or RevenueCat App User ID.
- Event names and properties describing in-app actions — the same events described in Section 3.7.
- Basic technical metadata: app version and build number, iOS version, the region set on your device (for example "FR"), and the language you chose in the app.
What is NOT processed:
- No name, email, phone number, postal address, or Apple ID.
- No precise location. Your IP address is necessarily seen by the server when the app connects, but it is not stored or logged.
- No advertising identifier (IDFA), device model, or any system-level personal data.
Where: Data is sent over HTTPS to ingest.yasmar.app, a server we operate ourselves. It is hosted by OVH (OVH US LLC, data centre in Virginia, United States), which acts as our hosting processor and has no access to the data for its own purposes. See ovhcloud.com/en/personal-data-protection.
Linked to identity: No. Events are attached only to the anonymous install identifier.
Used for tracking (Apple ATT sense): No. This data stays on our own server and is never shared with advertising networks, data brokers, or anyone else.
4. Data We Do NOT Collect
- No account, login, or registration is required or possible.
- No advertising identifiers (IDFA), advertising SDKs, or behavioural tracking.
- No third-party SDKs other than RevenueCat (see Section 3.4) and PostHog (see Section 3.7). Our own analytics (Section 3.8) is our own code, not a third-party SDK.
- No microphone access — the app plays audio, it does not record.
5. Data Sharing
We do not sell or rent any data. We share the minimum necessary data with only the following parties, strictly to operate the App:
- Apple Inc. — as the App Store provider and iOS platform operator. Apple's own privacy policy applies to any data Apple collects through the App Store or iOS (see apple.com/privacy).
- RevenueCat, Inc. — as our subscription-management processor (see Section 3.4). Data shared is limited to the anonymous App User ID, App Store receipt, and basic device metadata, and is used solely to operate your subscription. See revenuecat.com/privacy.
- PostHog Inc. — as our product-analytics processor (see Section 3.7). Data shared is limited to an anonymous device identifier and event metadata describing in-app actions, used solely to measure aggregate product usage. See posthog.com/privacy.
- OVH — as the hosting provider of our own analytics server (see Section 3.8). OVH stores the server but does not use the data. See ovhcloud.com/en/personal-data-protection.
We do not share data with any advertising networks or data brokers.
6. Data Retention
- On-device data (preferences, questionnaire answers, music/companion choices) is stored exclusively on your device and is retained until you delete the app. Deleting the app removes all associated on-device data.
- Subscription data held by RevenueCat is retained per RevenueCat's own retention policy and may persist after you delete the app, since it is tied to your Apple ID's App Store purchase history (which Apple itself retains). This is what allows Restore Purchases to work on a new device. You may request deletion of your RevenueCat record by emailing us — note this will permanently disconnect your existing entitlements from any anonymous App User ID we hold.
- Analytics data held by PostHog is retained per PostHog's own retention policy (currently 7 years for event data on the standard plan, see PostHog's privacy policy for the current term). Because PostHog data is keyed only to an anonymous device identifier that we cannot link to you, we cannot delete your events on request — but reinstalling the app generates a new anonymous identifier, so historical events are no longer associated with your current install.
- Analytics data held on our own server is keyed only to the anonymous install identifier, which we cannot link to you. For the same reason, we cannot single out your events on request; reinstalling the app generates a new install identifier.
7. Your Rights (GDPR)
If you are located in the European Economic Area, you have the following rights:
| Right | How to exercise it |
|---|---|
| Access — obtain a copy of data we hold about you | Contact us by email — note that your preferences reside only on your device, and the analytics we hold are anonymous and cannot be linked to you |
| Rectification — correct inaccurate data | Directly within the app settings |
| Erasure — delete your data | Delete the app, or contact us |
| Restriction — limit processing | Contact us |
| Portability — receive your data in a portable format | Contact us |
| Objection — object to processing | Contact us |
To exercise any of these rights, contact: marouane.achkra@gmail.com
You also have the right to lodge a complaint with the French data protection authority:
CNIL — cnil.fr — 3 Place de Fontenoy, 75007 Paris, France.
8. Children's Privacy
Fan does not knowingly collect personal data from any user, including children. The App contains in-app purchases (a Pro subscription and a Lifetime purchase). Parents and guardians should use Apple's Screen Time / Ask to Buy controls to manage purchases made by minors.
9. Changes to This Policy
We may update this policy from time to time. When we do, we will update the "Last updated" date at the top of this document. Continued use of the app after changes constitutes acceptance of the updated policy.
10. Contact
For any privacy-related questions or requests:
Marouane Achkra
Email: marouane.achkra@gmail.com