Privacy Policy for FeelClear
Effective: May 26, 2026 (last updated 11 October 2026: AI providers, service providers, and guide memory)
1) Who we are
Data controller: Marco Martinelli, freelancer, VAT PT 310502470 (Portugal). Contact: hello@feelclear.me.
This policy covers the FeelClear mobile app, the FeelClear website, and related support communications.
2) Wellness disclaimer
FeelClear provides wellness guidance for relaxation, mindfulness, breathing, focus, sleep preparation, and stress management. FeelClear is not a medical device, is not medical or mental health advice, does not diagnose, treat, cure, or prevent any disease or condition, and is not therapy, counseling, crisis support, or a substitute for a qualified professional.
Do not use FeelClear for emergencies. If you are in danger, may harm yourself or others, or need urgent help, call your local emergency number or a crisis support service immediately. For medical or mental health advice, diagnosis, or treatment, consult a qualified professional.
3) Data you provide
- Account data: email address and basic profile data from the sign-in provider you choose. FeelClear supports Sign in with Apple on iOS and Google sign-in on Android. You may also use the app with an anonymous account tied to a random identifier.
- Preferences: preferred name, gender/language choices, tone/persona, voice choice, session duration, guidance density, silence profile, notification settings, and other practice settings.
- Voice recordings: when you choose to record a request, the app sends the audio through our Supabase Edge Function proxy to OpenAI for speech-to-text transcription. FeelClear does not store voice recordings on our servers. The app deletes the local recording file after the transcription attempt completes.
- Guide interview (typed mode): your conversation text, answers recorded so far, language, and session context are sent through Supabase to Anthropic Claude to conduct the interview. The proxy keeps no conversation history between requests.
- Guide interview (voice mode): if you choose to talk with your guide when you first set up the app, the conversation audio streams live to ElevenLabs over its LiveKit/WebRTC connection. ElevenLabs sends the conversation text and interview context to an Anthropic Claude model to conduct the interview. The assistant is configured not to record audio and to delete transcripts as soon as ElevenLabs allows. FeelClear does not store the audio or the transcript. Typing or tapping your answers does not use ElevenLabs.
- Guide memory: the details saved from the interview include your preferred name, form of address, goals, usual practice time and habit anchor, guidance style, experience, things to avoid, practice obstacles, guidance preferences, and short notes. Sensitive notes are saved only with your explicit consent. This memory is stored on your device and in the Supabase
guide_memorytable under your user ID, with access restricted to your own row. It also records field sources, confidence, recent changes, and sensitive-note consent times. Answers recorded during the typed interview and relevant saved details for meditation scripts are sent to Anthropic. You can correct what the guide remembers and delete it on the device and in the cloud with "Reset All Data" in Settings; account deletion removes the cloud copy. - Inferred practice preferences: fixed rules use your interview answers to choose a tone persona and practice settings, such as guidance density, silence, and duration. We save these preferences with the rule and time that produced them. Interview notes stay out of analytics and reminders. A limited analytics event includes the derived persona label, rule, and trigger; local reminders can use your preferred name and tone preference.
- Transcripts and text input: voice transcripts and typed requests are used to create your session and may be stored in local session history. If your data is synced, they may also be stored in your private FeelClear account record.
- Generated sessions: generated meditation scripts, session title, duration, technique metadata, voice choice, completion status, streak/progress data, and feedback about a session.
- Support messages: any information you include when you email us for support, privacy, or deletion requests.
4) Data collected automatically
- App diagnostics: app version, OS version, device/platform details, crash reports, performance data, and error context through Sentry and internal logs.
- Product analytics: limited in-app events for app quality, helper/onboarding funnels, notification delivery, and feature health. Some optional event streams are sent through Supabase Edge Functions.
- Website analytics: Vercel Analytics and Plausible may collect aggregate site metrics. Google Analytics 4 uses your analytics-cookie choice. The Google tag loads with analytics and advertising storage denied before consent; analytics storage is enabled when you accept analytics cookies in the website banner.
- Website cookies/local storage: a short-lived rate-limit cookie, analytics consent choice, and theme/display preferences.
5) How we use data
- Authenticate you and keep your account working.
- Create personalized wellness practices and spoken audio guidance.
- Remember preferences, progress, session history, and streaks.
- Provide optional reminders and support requests.
- Process purchases and subscription status.
- Protect the service, enforce quotas, debug crashes, and improve reliability.
- Understand aggregate product usage without selling your personal data.
6) AI features and consent
AI features require your explicit in-app consent. You can turn AI features off in Settings > Privacy > AI Features. If you turn them off, voice transcription and personalized AI-generated sessions will be unavailable.
Text AI, transcription, and voice-synthesis requests are routed through Supabase Edge Functions so provider credentials stay server-side and authentication, quota, and abuse checks can be enforced. The live voice interview connects directly to ElevenLabs using a short-lived conversation token issued through Supabase.
Verified AI pipeline
- Transcription: OpenAI speech-to-text converts your voice recording to text through the
whisper-proxyEdge Function. - Request analysis: Anthropic Claude analyzes your spoken or typed request through
anthropic-analyzer-proxy. Older app versions without the October 2026 update use a simpler analysis on the device where supported; provider failures can also use this local analysis. - Session generation: Anthropic Claude writes the meditation script through
anthropic-chat-proxy, using your request, session context, selected preferences, and relevant guide memory. - Typed guide interview: Anthropic Claude receives the conversation text and answers recorded so far through
guide-chatto ask questions and confirm what the guide remembers. - Voice guide interview: ElevenLabs receives live audio and interview context, and passes the conversation text to its configured Anthropic Claude model. The agent is configured not to record audio and to keep transcripts for the shortest period ElevenLabs allows.
- Voice synthesis: generated scripts are converted to audio with ElevenLabs by default. Some voice/fallback paths may use OpenAI text-to-speech. A device speech path uses the system speech service through
expo-speech. The app keeps the same TTS provider and voice through a started playback session. - Audio cache: generated TTS segments may be cached in memory and in private Supabase Storage under your authenticated user ID to reduce repeat provider calls. Cache keys are derived from text/voice settings; cache audio is not sold or used for advertising.
We send only what each step needs, such as audio for transcription, transcript/text input, session context, selected preferences, generated script text, and voice settings.
7) Third-party processors
- Supabase: receives account identifiers and sign-in data, synced preferences, guide memory, session records and feedback, subscription events, product analytics and diagnostic logs. Its Edge Functions also process AI request text, temporary transcription audio, generated speech text/audio, Google Calendar tokens and event requests, and network request metadata. We use its authentication, database, private Storage, and proxies for account access, synchronization, audio caching, quotas, security, remote app configuration, and account deletion. Website signup forms, where enabled, send email, optional name, selected needs/times, consent, language, IP address, and browser information to Supabase for signup storage and confirmation requests.
- Anthropic: receives spoken-request transcripts or typed requests, session context, preferences, preferred name and form of address where set, and relevant guide memory to analyze requests and write meditation scripts with Claude. It receives typed guide conversation text and answers recorded so far to conduct that interview. For the voice interview, ElevenLabs passes conversation text and interview context to its configured Anthropic Claude model.
- OpenAI: receives optional voice recordings for speech-to-text transcription, and generated script text and voice settings for selected or fallback text-to-speech. Its role in the current app is speech processing.
- ElevenLabs: receives generated script text, voice selection, language, and synthesis settings to produce spoken meditations. For the optional voice guide interview, it receives live microphone audio, conversation text, interview prompts and context, language, voice selection, and connection metadata through its LiveKit/WebRTC infrastructure. It uses Anthropic Claude for the conversation and returns spoken replies and structured answers. The agent's configuration disables audio recording and requests the shortest transcript retention ElevenLabs allows.
- Sentry: receives crash reports, error messages and stack traces, app/device/OS details, diagnostic breadcrumbs, network request context, and sampled performance data to detect failures and improve app reliability.
- RevenueCat: receives its anonymous app user ID, or your Supabase user ID after account sign-in, purchase receipts and transaction information, subscription/entitlement status, and SDK device/app metadata to manage purchases, restore access, and send subscription updates to Supabase.
- Apple: processes Apple account and authorization data for Sign in with Apple on iOS, and store account, payment, transaction, and device information for App Store purchases and subscriptions. It provides the sign-in identifier and authorized profile/email details, plus purchase receipts and status, to the app and its authentication/purchase services. The app also uses Apple's local notification and system speech facilities on iOS.
- Google: processes Google account and authorization data for Android sign-in, and store account, payment, transaction, and device information for Google Play purchases and subscriptions. Optional Calendar reminders send OAuth tokens, account-email requests, and FeelClear reminder event details to Google. The website's GA4 tag receives website/network metadata and consent status; accepting analytics cookies enables analytics storage and a page-view event with the page URL, title, and path. Network connectivity checks may contact Google's reachability endpoint when the device cannot supply a native connectivity result. Android also uses system notification and speech facilities.
- Expo: receives network request metadata, platform/runtime version, and installed/embedded update identifiers when the app checks for and downloads EAS Update over-the-air updates. Expo tooling also handles source code, build artifacts, and release metadata for builds and distribution. The app uses
expo-notificationsfor local scheduling through the device's notification infrastructure; this path keeps reminder content and scheduling on the device. - Vercel: receives website requests, IP addresses, browser/request metadata, requested URLs, and submitted form data to host and run the website and its signup endpoint. Vercel Analytics receives page-view and browser/device information for aggregate website usage metrics.
- Plausible: when configured, receives page-view events, page URLs, referrers, browser/device information, and network metadata to produce aggregate website usage statistics.
These providers process data under their own privacy and security terms. We do not sell personal information and do not allow third-party advertising tracking in the app.
8) Purchases
Purchases and subscriptions are processed by Apple, Google Play, and RevenueCat. FeelClear receives purchase identifiers, entitlement/subscription status, renewal/expiration state, and related diagnostics. We do not receive your full payment card details.
9) Notifications
If you enable notifications, FeelClear stores notification preferences such as enabled/paused state, preferred time, prompt history, scheduled notification IDs, recent session timing, and delivery/interaction analytics. The current app schedules reminders locally on your device. Reminder wording can use your preferred name and tone preference. Interview notes are excluded from reminder text.
10) Optional Google Calendar reminders
This section applies only if you choose to connect Google Calendar.
- FeelClear requests Google OAuth access for
calendar.eventsanduserinfo.email. The email scope is used to show which Google account is connected. - The app stores Google OAuth tokens in the device secure keystore (
expo-secure-store) and reminder settings in local app storage. Tokens are sent to our Supabase Google Calendar proxy only when needed to exchange, refresh, revoke, create, list, or delete reminder events. - FeelClear creates private reminder events in your primary Google Calendar for the next rolling schedule window. Each event contains a FeelClear title, app/web launch links, timing, and a private tag that identifies it as FeelClear-created.
- To maintain reminders, FeelClear lists and deletes Google Calendar events with the FeelClear private tag. We do not use Calendar data for advertising, analytics, AI model training, or unrelated profiling.
- You can disconnect Calendar reminders in the app. Disconnecting removes stored tokens and attempts to delete FeelClear-created reminder events. You can also delete events manually or revoke access from your Google Account.
11) What we do not collect
- No precise location.
- No contacts.
- No advertising identifiers for cross-app tracking.
- No photos or media library access.
- No HealthKit, Health Connect, clinical health records, or wearable health data.
12) Retention
- Voice recordings: not retained by FeelClear after transcription; local files are deleted after the transcription attempt completes.
- Guide voice interview: not stored by FeelClear; the ElevenLabs assistant is set not to record audio and to keep transcripts for the shortest period ElevenLabs allows.
- Guide memory: kept on your device and in your account record until you change it, use "Reset All Data" in Settings, or delete your account.
- Session history, transcripts, scripts, preferences, and progress: stored locally until you clear local data or delete the app; synced account records are kept until deletion is requested or the account becomes inactive for 24 months.
- Generated audio cache: kept in memory briefly for playback and may be stored in private Supabase Storage to improve reliability and reduce repeated TTS calls.
- Diagnostics and analytics: retained only as long as needed for debugging, security, product health, and aggregate reporting.
- Purchase records: retained as needed for subscription management, tax, accounting, and legal obligations.
13) Your choices
- Turn AI features on or off in Settings.
- Clear local data in Settings.
- Disable notifications or change reminder preferences.
- Disconnect Google Calendar reminders.
- Delete the app to remove local app data from your device.
- Email us to request access, correction, deletion, portability, restriction, objection, or consent withdrawal for synced or support data.
14) Legal bases
- Contract: providing the app, account, purchases, sessions, and support you request.
- Consent: AI features, microphone recording, optional analytics cookies, marketing emails, notifications, and Google Calendar connection.
- Legitimate interests: security, fraud/abuse prevention, diagnostics, reliability, and aggregate product metrics.
- Legal obligation: purchase, tax, accounting, and compliance records.
15) International transfers
Some processors are located outside the EU/EEA, including in the United States. Where required, transfers rely on Standard Contractual Clauses, the EU-US Data Privacy Framework where applicable, or other lawful safeguards.
16) Children
FeelClear is not intended for children under 16, or under 13 in the United States. If we learn that we collected personal data from a child, we will delete it.
17) Apple App Store privacy summary
- Data linked to you: account identifiers, preferences, session history, user content such as voice/text when AI is enabled, purchase/subscription status, diagnostics, and support requests when applicable.
- Data not linked to you: aggregate usage and website analytics where configured.
- Tracking: FeelClear does not track you across other companies' apps or websites for advertising.
18) Changes
We may update this policy as FeelClear changes. We will post updates on this page and change the effective date.