Privacy Policy
Last updated: 30th July 2026
This Privacy Policy explains how ArabyBuddy ("we", "us", or "our") collects, uses, and protects your information when you use our mobile application and related services (the "Service"). By using ArabyBuddy, you agree to the collection and use of information as described in this policy.
Information We Collect
Account Information
You can use ArabyBuddy as a guest without providing an email address. We create an anonymous Supabase user ID so your progress, Membership and purchases can remain attached to that guest account. If you later register or link an account, we collect your email address and authentication credentials. If you sign in with Google or Apple, we receive basic profile information from that provider (name and email). You also choose a display name, optionally shown on the public leaderboard. Your profile picture is a member-selected, ArabyBuddy-curated avatar or an initials fallback — ArabyBuddy does not support uploading a photo. Authentication is managed by Supabase.
Email Preferences
During onboarding, and at any time afterwards in Account → Email Preferences, you may opt in to receive marketing emails from us (tips, lesson recaps, dialect spotlights, and product updates). This is entirely optional and defaults to off — you do not need to opt in to use ArabyBuddy. We record the time you give consent so we can demonstrate, on request, that any marketing email you received was sent with your permission. Every marketing email includes a one-click unsubscribe link, and you can also turn marketing emails off at any time from Account → Email Preferences. Transactional emails relating to your account, security, or billing are sent regardless of this setting because they are necessary to operate the Service.
Date of Birth
We collect your date of birth during onboarding for three purposes: (1) to enforce a minimum age of 13, (2) to derive a bucketed age category (for example, "18–24") for analytics, and (3) to mark your birthday in the app — a once-a-year gift of hibr and, if you have notifications turned on, a birthday greeting. The raw date is stored only in our Supabase database and is never sent to third parties. The bucketed age category is set as a persistent property against your pseudonymous analytics ID in PostHog.
The birthday feature is entirely first-party. Your date of birth is compared against your own local date inside our Supabase database; no third party learns the date, or that it is your birthday. The birthday notification itself contains no part of your date of birth — only the amount of hibr we've added. It also uses the pronouns you chose, because the Arabic greeting changes depending on who is being addressed; your pronouns are used to pick the wording and are not transmitted anywhere.
Learning Preferences
We collect the preferences you set during onboarding and in your account settings, including your chosen Arabic dialect, difficulty level, pronoun preference, and script preference (Arabic or transliterated). These are used to personalise your learning experience.
Voice Recordings
When you use the speech feature in lessons, audio is captured via your device's microphone and sent to your platform's speech-recognition service — Apple's on iOS, Google's on Android — to convert it to text. Because on-device recognition isn't guaranteed, this audio may be processed on Apple's or Google's servers under their respective privacy policies. ArabyBuddy never receives or stores your raw audio for this feature — we only receive the resulting transcript, which is then scored on your device for pronunciation similarity.
Realtime Voice Conversations
If you start a realtime voice conversation with an AI character (our "Speak" feature), your microphone audio is streamed live to OpenAI's Realtime API to power the conversation. This audio goes directly from your device to OpenAI over a secure connection — it does not pass through, and is not recorded or stored on, ArabyBuddy's own servers. We send OpenAI only the information needed to run the conversation (the dialect you're learning, your proficiency level, your chosen pronouns for grammatical address, and conversation topics) together with a one-way, pseudonymous token derived from your account; we do not send your name, email, or date of birth. OpenAI returns the character's spoken reply and a live transcript. For ordinary user sessions the transcript is shown on screen and is not stored by ArabyBuddy. For superadmin/operator diagnostic sessions only, a separately controlled feature flag can store both transcript sides and turn timings in Supabase for up to 30 days to diagnose voice quality. OpenAI does not use API data to train its models by default; under its default API policy, abuse-monitoring logs may retain content for up to 30 days. This feature is optional, limited to users aged 13 and over, and requires an active Membership (including a trial) plus enough hibr on the same user ID.
AI-Graded Activities and Username Moderation
Some activities ask you to type free-form Arabic responses — chat simulations and picture descriptions. To grade these, we send the text you type, along with the activity context (the prompt, the dialect you're learning, your chosen pronouns), to Google Gemini through our own server-side function. Gemini returns per-skill scores and brief feedback. We store the resulting scores against your account so we can show your progress over time, but we do not persist the raw text you typed beyond the grading request.
When you choose or change a username, the candidate string is sent to Google Gemini through our `validate-username` server-side function for moderation against our acceptable-use rules. Gemini returns approved or rejected with a brief reason. The candidate string itself is not stored after the validation call; the approved username is stored as your public display name.
Usage Data
We track daily lesson session counts and activity to calculate streaks, progress, and rankings. This data is tied to your account and stored in our database.
Purchase Data
When you start a free trial or paid subscription, or make an in-app purchase (such as a pack of hibr, the app's virtual currency), your purchase status is managed by RevenueCat. We do not directly process or store payment information. RevenueCat receives transaction data from Apple's App Store or Google Play to manage your subscription and purchases, and our server keeps a record of your hibr balance and how it was earned and spent (deleted with your account).
We also store a two-letter App Store or Google Play storefront country from RevenueCat or the purchase receipt. If that is unavailable, the app reports the RevenueCat storefront or device region as a fallback. We use this to apply regional availability and pricing rules for Speak. It is store/locale information, not GPS or precise physical location.
Community and Progress Data
ArabyBuddy includes opt-in community features, including a public leaderboard. We collect and store progress stats as part of your account, covering learning achievements and in-app activity. If you choose to join the public leaderboard through your Account settings, your username and progress stats will be visible to other ArabyBuddy users of the same dialect. Leaderboard participation is entirely opt-in. You can change your visibility at any time in Account settings, and opting out removes your entry from the public leaderboard immediately.
ArabyBuddy also includes an opt-in Community profile and friends feature, available to members with a paid subscription. Joining Community is off by default. Once you join, other learners can find your Community profile by submitting a username search. It returns a small set of matching opted-in profiles; there is no empty-search browse, endless directory or contact import. Your profile picture is a member-selected, ArabyBuddy-curated avatar or initials fallback; ArabyBuddy does not support photo uploads anywhere in the app.
Friendships are formed by mutual request: you send a friend request by username, and the recipient chooses to accept or decline it. Once a friend request is accepted, you and that friend can open each other's learning profile. It shows your curated avatar and username, current learning dialect, account join date, grade stars, leaderboard position, XP, current streak, rank, words learned, aggregate linguistic-skill scores, collected achievement items, and a calendar of how many qualifying learning activities you completed on each local calendar day. Calendar colour intensity is relative to your activity in the displayed month. We do not share lesson or unit names, answers, notes, feedback, individual grades, exact activity times, your timezone, messages, or a "last seen" timestamp. This friend-profile sharing is part of the single versioned Community agreement; there is no separate activity-history setting.
You can hide your Community profile at any time in Account settings; this immediately cancels any pending requests you sent or received, while friendships you've already accepted are kept (hidden from view) and automatically restored if you rejoin Community later.
The app includes in-app Block and Report tools. Blocking another user immediately and mutually removes any friendship, cancels pending requests, and prevents future contact between the two accounts. Reporting a user requires selecting a reason from a fixed list (no free-text detail is collected). We store friend requests, friendships, blocks, and reports as part of operating Community. Report records may be retained after the reported relationship or account ends, so we can review safety concerns; if the person who filed a report later deletes their account, we remove their identifying link to that report (the report itself, without the reporter's identity, may be kept for review).
Organizations and Teams
Some members join ArabyBuddy through an organization — a school, classroom, or company that sponsors their membership. If you belong to a sponsoring organization, you can choose to make your individual learning progress visible to that organization's administrators: your XP, streaks, units completed and grades, chat-simulation skill scores, and when you were last active. This sharing is off by default — it happens only after you agree to an in-app consent prompt, and you can withdraw your consent at any time in Account settings, which stops further sharing.
We take extra care with younger learners: under-13s are not eligible for the app, and members aged 13–17 are not included in organization analytics unless the organization has attested that it holds parental or guardian consent. Organization-level dashboards are aggregated and suppressed for small groups so individual members can't be singled out, and an organization's administrators may receive periodic email summaries of these aggregate metrics. Where an organization sponsors members it acts as the data controller, and we process this data on its behalf under a data processing agreement.
When an organization invites someone to join, its administrator provides that person's email address so we can send them an invitation to download ArabyBuddy and sign in. That email address is stored against the organization's seat and is used only to send and manage the invitation. If the invited person does not already have an ArabyBuddy account, this may be the only information we hold about them until they choose to sign up. Invitation emails are delivered through Resend, our email provider. An organization administrator can revoke an unused invitation, which removes the stored email address.
Push Notification Token
If you grant notification permission, we collect a per-device push token issued by Apple's APNs or Google's FCM. The token is stored in Supabase against your account so we can deliver transactional notifications such as daily reminders, account or security messages, and community announcements. Delivery passes the token and final title, body, and in-app route through Expo Push, which forwards the notification to Apple or Google. Push tokens are never used for advertising. Tokens rotate periodically and are deleted with your account.
We store your notification preferences, a reminder time derived from your recent activity pattern, and limited delivery metadata (notification kind, dedupe key, outcome, and timestamps). Notification wording may be personalized using existing account and learning state such as dialect, streak length, trial timing, challenge enrollment, weak-word count, writing or Speak use, and story availability. Delivered-send and completed delivery-queue records are deleted after 90 days; pending records remain only until delivery, suppression, or retry exhaustion.
Automatically Collected
Supabase receives your IP address as part of standard HTTP request handling. We also record your device's timezone so daily session resets and activity streaks are calculated in your local time.
Moderation Records
If a username or other user-submitted content violates our acceptable-use rules, we may record an internal moderation action (for example, excluding an account from the public leaderboard). Each record contains the action type, a short reason, optional notes, and a timestamp. These records are visible only to ArabyBuddy administrators.
How We Use Your Information
We use the information we collect to:
- Provide and personalise the learning experience
- Score your spoken Arabic responses on-device
- Manage your account, free trial, and subscription
- Improve the app through aggregated analytics
- Diagnose and fix technical issues
- Send you marketing emails about ArabyBuddy, but only if you have opted in
Analytics and Error Tracking
We use PostHog for product analytics to understand how the app is used in aggregate (for example, which flows are used and where users drop off). We identify analytics records using a pseudonymous internal account ID and session ID, plus a small set of persistent user properties such as bucketed age category, dialect, difficulty level, pronoun preference, script preference, and whether the user ID is still an anonymous guest. We do not intentionally send email addresses, auth tokens, raw date of birth, user-entered text, or audio recordings to PostHog.
We use Sentry for error tracking and crash reporting. Sentry collects technical diagnostic data when errors occur, such as device and OS information, app version, stack traces, event IDs, replay IDs, and our internal account and session identifiers. We do not intentionally send email addresses or other direct personal identifiers to Sentry.
Third-Party Services
We use the following third-party services to operate ArabyBuddy:
- Supabase — authentication and database
- RevenueCat — subscription and purchase management
- Google Gemini — AI grading of typed-text activities (chat simulations, picture descriptions) and username moderation
- OpenAI — realtime voice conversations with AI characters (the "Speak" feature); your microphone audio is streamed to OpenAI to power the conversation (see Realtime Voice Conversations above)
- PostHog — pseudonymous product analytics
- Sentry — error tracking and crash reporting
- Resend — delivery of transactional emails and organization invitation emails
- Apple and Google speech recognition — speech-to-text for the pronunciation feature (see Voice Recordings above)
- Apple Push Notification service (APNs) and Google Firebase Cloud Messaging (FCM) — delivery of push notifications
- Expo Push — routes push tokens and the final notification title, body, and app route to APNs or FCM
- Umami — privacy-friendly, cookieless website analytics (no cookies, no cross-site tracking)
Each of these services has their own privacy policy governing how they handle data. We do not sell your personal information to any third party.
The app also contains a link to our community Discord server. When you tap that link, you leave ArabyBuddy and are subject to Discord's own Terms of Service and Privacy Policy. No data from your ArabyBuddy account is transmitted to Discord via this link.
Data Security
We use industry-standard security measures to protect your data, including encrypted connections (HTTPS/TLS), secure authentication tokens, and row-level security policies on our database. However, no method of electronic transmission or storage is 100% secure.
Data Retention
We retain your account data for as long as your account is active. Lesson-pronunciation audio is processed through the platform speech-recognition service and is not stored by us. Realtime Speak audio is handled by OpenAI as described above; ordinary-user transcripts are not stored by us, while flagged superadmin diagnostic transcripts are deleted after 30 days. Notification send/completed-queue metadata is deleted after 90 days. If you delete your account, we delete your account record, profile, settings, progress data, moderation records, generated media metadata, and user-owned files we control. We also request deletion of linked subscription-customer data in RevenueCat. Some transaction records may continue to be retained by Apple, Google, or other processors where they are the merchant of record or where retention is required for legal, security, or accounting reasons.
Children's Privacy
ArabyBuddy is intended for users aged 13 and over. We do not knowingly collect personal information from children under 13. If you believe a child under 13 has provided us with personal information, please contact us so we can remove it. Users must also meet the minimum age required by Discord's Terms of Service (13 years) before joining our community server.
Your Rights
You may request access to, correction of, or deletion of your personal data at any time by contacting us. You can delete your account from within the app. If you cannot access the app, email support@arabybuddy.com with the subject line "Delete My Account".
To request a copy of your personal data in a structured, machine-readable format (data portability), email support@arabybuddy.com with the subject line "Data Export Request". We will respond within 30 days.
Regional Privacy Rights
EEA and United Kingdom (GDPR / UK GDPR)
If you are in the European Economic Area or the United Kingdom, we process your personal data under the following legal bases: contract performance (to provide and manage the Service), legitimate interests (analytics, security, and service improvement), and consent (optional features such as leaderboard participation). Some service providers — including Supabase, RevenueCat, PostHog, Sentry, Google Gemini, OpenAI, and Resend — may process data outside the EEA or UK. Where this occurs, we rely on appropriate transfer mechanisms such as Standard Contractual Clauses.
You have the right to access, correct, delete, restrict, or port your personal data, and to object to certain processing. You may also lodge a complaint with your local data protection authority.
California (CCPA)
If you are a California resident, you have the right to know what personal information we collect, to request its deletion, and not to be discriminated against for exercising these rights. We do not sell your personal information to any third party. To exercise any of these rights, contact us at support@arabybuddy.com.
Changes to This Policy
We may update this Privacy Policy from time to time. The updated policy will be effective as soon as it is published on this page. We encourage you to review this page periodically.
Contact Us
If you have any questions about this Privacy Policy, please contact us at support@arabybuddy.com.