Legal

Privacy Policy

Last updated: 4 October 2026

This policy covers two separate things: the Sayelle app, and the Sayelle website (sayelle.app). They handle data very differently, so we describe each on its own.

1. Who controls your data

The data controller is DAVID HRDALO / ABN 56942727929, based in Brisbane, Queensland, Australia, trading as Sayelle. Contact: support@sayelle.app. This policy applies internationally where Sayelle is offered. Where local law gives you additional rights, those rights are not limited by this policy.

2. The Sayelle app

Sayelle performs speech and AI processing on your device:

• Speech you provide is processed on-device using WhisperKit (iPhone) or whisper.cpp (Android) for speech-to-text. Raw audio is processed transiently and is not retained or uploaded by Sayelle.
• Text-to-speech audio is generated on-device and is not stored after playback.
• AI language model files are downloaded to your device, may be updated, and run locally. Your conversation is not sent to a third-party AI provider for generation. Model-file hosts receive ordinary network request data, such as the requested file, IP address, and request time, when a download occurs.
• Microphone access is used solely to convert your speech to text, processed entirely on-device in real time.
• Explicit first-person self-harm or immediate-harm language is checked on-device before AI generation so Sayelle can show a fixed supportive response. Sayelle does not create, retain, or upload a separate risk label or safety score from this check.

Conversation text and account data: recognized speech is converted to text on-device. That text, text you type, tutor responses, and learning activity results are saved on your device. When you enable Cloud Sync, they are also synced to our backend so history and in-progress work can be resumed. When Cloud Sync is off, this learning data stays on your device and is not newly synced or restored. Raw microphone audio is not included in Cloud Sync.

Using your text to improve Sayelle: text that syncs to our backend when Cloud Sync is on (your typed and recognised messages, tutor replies, and learning-activity results) may be used to improve Sayelle, including to evaluate, fine-tune, or train AI models and safety filters and to improve lessons and content. This never includes raw microphone audio, which is not uploaded. We do not sell your text or give it to third parties for their own use. If you turn Cloud Sync off, your learning text stays on your device and is not newly available to us. You can delete a conversation or your whole account at any time; deleting stops any further use, but it cannot undo use that has already happened, such as training that was already completed. You can also object to this use by emailing support@sayelle.app. Please do not type real personal details into practice conversations.

The app uses a backend for account and subscription status and, when Cloud Sync is enabled, history and progress (Supabase) tied to an account identifier. That account is created automatically and anonymously on first use, so you can use Sayelle as a guest without signing in. An anonymous account may not be recoverable if its local credentials are lost.

Optional sign-in: you can sign in so your account can be recovered and used on another device. The methods are Sign in with Apple (iPhone), Sign in with Google (iPhone and Android), and a one-time six-digit code sent to your email address (iPhone and Android). Signing in links that method to your existing account. You can add or remove methods in Profile → Account Settings → Sign-in methods, but you cannot remove your last one. You can sign out at any time; signing out does not delete your account or your cloud data.

Apple: Sign in with Apple provides an account-specific provider identifier; earlier versions may also have received the private relay email or email address you chose to share, while the current iPhone app does not request your name or email. Apple's handling of that sign-in is governed by Apple's own privacy terms. Google: Sign in with Google uses Google Sign-In on iPhone and Android Credential Manager on Android. Google provides a stable account identifier and email address and may provide basic profile claims such as a display name or profile image. Supabase authentication may retain those supplied claims in the account's authentication record. Sayelle uses identity-provider data for authentication, account recovery, cross-device access, and account security—not advertising—and does not request access to Google Drive, contacts, or other Google services. We do not receive your Apple or Google password. Google's handling of the sign-in is governed by Google's Privacy Policy. Email: we store the email address you give us in the account's authentication record and use it to send you sign-in codes and to recognise your account when you sign in again. The codes are delivered by Resend, an email-delivery service, and expire after 10 minutes. We do not use your email address for marketing.

Welcome-back hint on your device: after you sign in, Sayelle keeps a small note on your device saying which method you used and your email address (never a password or token), so it can offer “Welcome back” if you reinstall the app or sign out. A reinstall never signs you in automatically. On iPhone the note is stored in the Keychain and, if you use iCloud Keychain, may sync to your other Apple devices. On Android it is stored with the app's backup data and may be included in your Google device backup. It is removed when you delete your account.

Combining a guest with an existing account: if you have progress as a guest and sign in to an account that already exists, Sayelle shows what each has and asks before combining them. If you agree, XP, Sparks, streak, lessons, scenarios, study sets, and chats are combined without double-counting (the longer streak is kept, and practice energy is not combined). Before combining, Sayelle saves a backup of both on your device and keeps it for 30 days. The guest account's records on our backend are also kept for up to 30 days after the merge, so a failed or mistaken merge can be reversed; after that the guest account is deleted. We keep a small record that the merge happened (account identifier, timestamps, and summary figures) for as long as your account exists. If you decline, nothing changes.

Through that account, we store:

• The anonymous account identifier and, if you sign in, the Apple or Google provider identity information or the email address supplied through Supabase authentication as described above.
• Your practice energy and streak status (including any streak freezes), your XP and level, and your Sparks balance with the history of how they were earned and spent.
• When Cloud Sync is enabled, which lessons, scenarios, and homework you've started or completed, associated progress, star ratings, and saved free-chat, lesson, scenario, and homework text histories, including tutor messages and activity results, so you can view history and resume work on another device.
• A server-generated last-active timestamp used only to identify abandoned anonymous accounts under the retention rules below.
• The version numbers and server timestamp for the Terms and Privacy Policy you accepted. We do not collect your date of birth for this.
• Your subscription status (active/inactive) — handled by RevenueCat, which receives purchase/transaction data but not your payment details.
• If you enable notifications, a device push token used to send reminders (such as a streak at risk of resetting) and account alerts (such as a payment issue) — delivered via Apple Push Notification service on iPhone or Firebase Cloud Messaging on Android.

Sayelle may send you push notifications, such as streak reminders or payment-issue alerts, if you enable them in your device settings. Delivery uses Apple Push Notification service on iPhone or Firebase Cloud Messaging on Android; Apple's and Google's handling of that delivery is governed by the privacy policies linked above. You can disable notifications at any time in your device's system settings.

Free-tier users may also see ads via Google AdMob after finishing a lesson or scenario (subscribers don't). Where required, Sayelle asks for regional advertising consent before requesting ads and provides a Privacy Choices control to revisit that decision. On iPhone, Apple's App Tracking Transparency permission is requested separately before any Apple-defined tracking. Platform settings and permissions may also limit advertising identifiers or personalization. Declining consent or a platform permission may result in limited or non-personalized ads. Google may process device identifiers, IP-derived approximate location, ad interactions, diagnostics, and performance data as described in Google's policies.

Anonymous analytics and crash diagnostics: Sayelle uses TelemetryDeck for anonymous product analytics and Firebase Crashlytics for crash, application-not-responding, and selected fixed non-fatal diagnostic reporting. TelemetryDeck receives an anonymized app-installation identifier and only allow-listed technical or product event data: app or model version, language code, stable content or model identifier, sign-in method (Apple, Google, or email) with a coarse outcome, and duration. Crashlytics automatically collects crash or application-not-responding report data and relevant technical app/device information. Sayelle does not set a Crashlytics user ID or deliberately attach your Sayelle or Supabase account ID, email, lesson or chat text, audio, feedback text, advertising ID, custom logs, or a caught exception message to these reports. We do not use Firebase Analytics. These services are not used to track you across apps or websites, and their use does not change the app's existing advertising-consent or App Tracking Transparency choices.

3. App data retention

• While Cloud Sync is enabled and your account is active, synced history and progress are kept so the history, resume, and cross-device features continue to work. Turning off Cloud Sync stops new learning-data sync and restore, but does not delete existing cloud copies; delete your account or data to permanently remove them. When Cloud Sync is enabled, you can delete an individual free-chat conversation in the app at any time; it is removed from the live backend when the device is online, or queued until it next connects. When Cloud Sync is off, deleting a conversation removes its local copy only.
• Deleting your account removes the account and associated app data from our live Supabase database. If you ask support to perform the deletion, we will action a verified request within 30 days.
• A device push token is removed when you disable notifications, sign out on that device, or delete your account, whichever happens first.
• An anonymous account that has not opened Sayelle for 12 months is automatically deleted with its associated app data. Accounts linked through Sign in with Apple, Sign in with Google, or email are not automatically deleted merely for inactivity.
• When you sign out, the learning data on that device is removed (it is restored from your account when you sign back in, if Cloud Sync was on). Signing out does not delete anything in the cloud. If Cloud Sync is off, the device holds the only copy, so the app asks whether to keep or remove it.
• A guest account that has been combined into another account is deleted 30 days after the merge. The on-device backups made for the merge are deleted after 30 days. The merge record (account identifier, timestamps, and summary figures) is deleted with your account.
• Sign-in codes expire after 10 minutes. Resend keeps email-delivery records under its own retention terms.
• We may keep encrypted backups of our database for disaster recovery, for no longer than 30 days. Deleted records may remain in those backups until they expire. Backups are isolated from normal product use and are used only for disaster recovery.
• Purchase and transaction information held by Apple, Google Play, or RevenueCat is subject to their legal and operational retention requirements. Deleting a Sayelle account does not cancel an App Store or Google Play subscription.

4. The Sayelle website

Our hosting provider may receive ordinary network and technical request data, such as IP address, browser type, requested page, timestamps, and security logs, when you visit the website. We do not currently use website advertising or analytics trackers. Our support form also collects a small amount of information so we can respond to you:

• What we collect: your email address, topic, the message you type, and a name only if you choose to provide one.
• Why: solely to read, respond to, and keep a record of your support request.
• How it's sent: submissions are transmitted using Resend, an email-delivery service, to our support inbox.
• Retention: we keep support correspondence for as long as needed to resolve your request and for a reasonable period afterward (up to 24 months) for reference, then delete it.
• Who can access it: our support team, and the service providers that process it on our behalf — currently Resend (email delivery, which also delivers the app's sign-in codes as described in section 2) and our website/email hosting providers. These providers handle information under their contracts and privacy terms.
• Overseas processing: Resend and our hosting providers may process and store data outside Australia, including in the United States. Where applicable, transfers are handled under provider terms and legally recognised safeguards; submitting the form is not treated as a waiver of your privacy rights.

5. Why we process data and our legal bases

• Provide the service and subscription: account, progress, history, sync, energy, streaks, and entitlement processing is necessary to perform our contract with you or to take steps you request before entering that contract.
• Sign-in, recovery, and merging: identity-provider data, your email address, and the merge records described above are processed to authenticate you, recover your account, keep one account per person across devices, and make a merge reversible. This is necessary to provide the service and to keep it secure.
• Advertising: consent is used where required for device storage/access, personalization, or tracking. You can withdraw consent through Privacy Choices and iOS settings without affecting processing that occurred before withdrawal.
• Improving Sayelle: we rely on our legitimate interest in improving the app, its lessons, its safety filters, and the AI models it uses, balanced against your rights. You can object at any time (see section 7).
• Security and service operation: we rely on our legitimate interests in securing, debugging, preventing abuse, and maintaining Sayelle, balanced against your rights.
• Support: we process information to respond to your request and for our legitimate interest in maintaining support records. Where the request concerns a contract, processing may also be necessary to perform that contract.
• Legal obligations: we process or preserve limited information where required by tax, consumer, court, law enforcement, or regulatory obligations.

6. Sharing, processors, and international transfers

We do not sell conversation transcripts, and we do not give them to third parties for their own use. We disclose data only to service providers needed to operate the relevant feature, to Apple or Google for the app-store, purchase, advertising, or sign-in services you use, when you direct us to, or where legally required. Our current and planned providers and their purposes are listed on the Service Providers page. Data may be processed in Australia, the United States, and other locations used by those providers. We require providers receiving personal data from Sayelle to protect it to the same or an equivalent standard as described in this policy and required by applicable law. Some providers, including app-store operators for their own account and transaction services, may instead act as independent controllers under their privacy terms and applicable law. For transfers from the EEA or UK to a country without an adequacy decision, we rely on recognised contractual safeguards where required. You may contact us for information about safeguards applicable to your data.

7. Your privacy rights

Depending on where you live, you may have rights to be informed, access a copy, correct inaccurate data, delete data, restrict or object to processing, receive portable data, and withdraw consent. You may also complain to your local privacy or data-protection authority. There is no solely automated decision in Sayelle that produces a legal or similarly significant effect about you.

Manage your sign-in methods under Profile → Account Settings → Sign-in methods. Delete your app account under Profile → Account Settings → Delete All Data (for guests) or Delete Account (when signed in). Use the app export for available learning history. For another request, or if you cannot access the app, email support@sayelle.app or use the Support page. We may verify your identity before acting. We respond within the period required by applicable law and aim to respond within 30 days; any legally permitted extension will be explained. See Account & Data Deletion.

8. Teenagers and children

Sayelle is intended for people aged 13 and older and is not intended for children under 13. If local law requires parental authorisation above age 13, a teenager may use Sayelle only with that authorisation. We instruct learners not to provide real personal details during practice. If you believe a child under 13 has used Sayelle, contact support@sayelle.app so we can investigate and delete the account and associated data where appropriate.

9. Security and data breaches

We use access controls, encryption in transit, database row-level security, least-privilege service access, and deletion procedures designed to protect personal data. No system is completely secure. We assess suspected breaches and notify affected people and regulators where applicable law requires it.

10. Changes to this policy

If our data handling changes, this policy will be updated. We will provide reasonable advance notice in the app or through another appropriate channel for material changes and request consent again where the law requires it.

11. Contact and complaints

Questions, requests, or complaints: support@sayelle.app. Please put “Privacy” in the subject line. We aim to acknowledge complaints promptly and respond within the period required by applicable law; we aim to respond within 30 days. If you are not satisfied, you may contact the Office of the Australian Information Commissioner or the privacy/data-protection authority where you live. Users in the EEA and UK may contact Sayelle directly at this address; details of any formally appointed local representative will be published here.