Privacy Policy

How we handle your data

Sajda is built privacy-first. This page explains exactly what we process, why, and the choices you have.

Last updated 14 October 2026

1 Overview

Sajda is a free Islamic companion app offering prayer times, Qibla direction, the Holy Qur'an with audio recitation, dhikr, du'a, the Islamic calendar, Zakat tools, the 99 Names and an Arabic letters learning section. The app is available in 18 languages.

We follow a privacy-first, offline-first design. Most content ships inside the app or is read from local on-device storage, and the Qibla compass runs entirely on the device. Prayer-time calculation, reverse geocoding (turning coordinates into a city name) and the mosque finder do send your coordinates to the third-party services listed in section 4 — we explain exactly which ones, and why, in Location & Sensors.

In short: We do not sell your personal data. We don't run our own ad-tracking servers, and we do not store your coordinates on our own servers (on Android we do store your upcoming prayer-notification times and time zone so we can deliver them — see Location & Sensors). Account, progress, analytics and purchase data are handled through trusted providers (Google Firebase, RevenueCat, Apple, Google). You can delete your account and data anytime from within the app.

2 Data We Process

The table below lists the categories of data the app may process, the purpose, and where it lives.

Data categoryExamplesPurposeStored where
Account identityEmail, display name, sign-in provider IDCreate and secure your account; sync across devicesFirebase Authentication (cloud)
Account profileEmail, display name, profile photo URL, sign-in method, account creation and last sign-in timeShow your account in the app and keep it in sync across devicesCloud Firestore (your user record) — only when you sign in
App progress & contentFavorite ayahs, streaks, prayer logs, dhikr history, preferencesSave your progress and personalize the experienceOn-device + optional cloud sync
Approximate / precise locationGPS coordinates at the moment of calculation; city / country name derived from themCompute prayer times, resolve your city name, orient the Qibla compass and find nearby mosquesOn-device, plus the third-party services in section 4 (AlAdhan, the OS geocoder, Overpass API) — never stored on our servers
Background location Opt-inA fresh position taken when you cross a geofence, including while the app is closedKeep prayer times accurate after you travelOn-device + AlAdhan (for the recalculation) — off unless you enable it
Prayer-notification schedule AndroidThe times of your upcoming prayer, reminder, Friday and missed-prayer notifications (about the next 10 days), their texts and sound settings, and your device time zoneDeliver prayer notifications from our server, because some Android manufacturers' battery savers stop on-device alarms. Prayer times and time zone can indicate your approximate location (roughly your city or region); your coordinates themselves are not storedCloud Firestore (your device record), replaced each time the schedule is recalculated; switched off when you turn prayer notifications off
App usage & re-engagementPush token, app language, time zone, platform, app version, last-active dateSend prayer-time notifications at the right local time and occasional re-engagement reminders if you stop using the appCloud Firestore + Firebase Cloud Messaging
Purchase informationPurchase status, transaction IDs, pseudonymous app-user IDRemove ads and restore your purchaseRevenueCat + Apple / Google billing
Push tokenPush notification registration tokenPrayer-time & reminder notifications you opt intoFirebase Cloud Messaging
Advertising identifiersDevice ad ID (only with consent)Show ads unless Remove Ads was purchasedGoogle AdMob
Usage analyticsScreens viewed, feature-use events, app version, device model and OS, approximate country; when you are signed in, your account's user IDUnderstand which features are used and improve the app; follows your consent choiceGoogle Analytics for Firebase
Crash reportsCrash and error stack traces, device model, OS and app version, a crash-installation ID; when you are signed in, your account's user IDFind and fix crashesFirebase Crashlytics

We do not collect contacts, photos, health data, browsing history, or biometric identifiers. We use analytics only in aggregate to improve the app — not to build advertising profiles.

3 Device Permissions

Every permission is requested only when a feature needs it, with a clear in-context explanation. The app stays usable if a permission is declined — the related feature is simply limited.

iOS

PermissionUsed forRequired?
Location (When In Use)Prayer times, city name, Qibla direction & mosque finderOptional
Location (Always / Background)Opt-in only — recalculates prayer times after you travel, even while the app is closed (see Location & Sensors)Optional
MicrophoneNot used. Declared on iOS only because an audio-playback dependency links the system audio APIs; never requested.Never requested
Motion & OrientationQibla compass sensorOptional
App Tracking (ATT)Optional consent for personalized ads — declining still shows non-personalized adsOptional

Android

PermissionUsed for
Location (fine / coarse)Prayer times, city name, Qibla direction & mosque finder
Background locationOpt-in only — geofence that recalculates prayer times after you travel, even while the app is closed
NotificationsPrayer-time, reminder & re-engagement notifications
Exact alarmsPrecise prayer-time alarms at the correct minute
Run after restartReschedule prayer reminders after the device restarts
Foreground service (media playback)Background Qur'an audio playback & lock-screen controls
Wake lock & vibrationDeliver alarms reliably and provide haptic feedback
Internet & network stateStream audio, sync, and reach online services

4 Third-Party Services

Sajda relies on the following processors. Each operates under its own privacy policy; we share only the minimum data needed for the stated function.

ServiceProvided byFunctionData shared
Firebase AuthenticationGoogleSign-in (email, Google, Apple)Email, name, provider ID
Cloud FirestoreGoogleCross-device sync of your content; device registrations for notificationsAccount profile, app progress data, push token, app language, time zone and (on Android) the prayer-notification schedule
Firebase Cloud MessagingGooglePush notificationsDevice push token, notification content
Google Analytics for FirebaseGoogleUsage statisticsApp usage events, device and app information, Firebase user ID when signed in (subject to your consent choice)
Firebase CrashlyticsGoogleCrash reportingCrash traces, device and app information, Firebase user ID when signed in
RevenueCatRevenueCat, Inc.Purchase managementAnonymous app-user ID, purchase status
App Store / Play BillingApple / GoogleProcess paymentsHandled entirely by the platform
Google AdMobGoogleAds, unless Remove Ads was purchasedAd identifiers (with consent)
EveryAyah CDNEveryAyahStreaming Qur'an audio recitationStandard network request (no account data)
AlAdhan APIIslamic NetworkCalculates the prayer times shown in the appYour latitude and longitude, the calculation method and the date — sent each time times are calculated for a new place or day. No account identifier is attached.
QuranEnc APIRowwad Translation Center (quranenc.com)Qur'an translations in your languageStandard network request (translation, surah / ayah numbers, no account data)
AlQuran Cloud APIIslamic NetworkQur'an text and translations that are not bundled in the appStandard network request (surah / ayah numbers, no account data)
Overpass API / OpenStreetMapOpenStreetMap Foundation & Overpass contributorsMosque finder — searching for places of worship near youYour coordinates and a search radius, only when you open the mosque finder
Device geocoding serviceApple (iOS) / Google (Android)Reverse geocoding — turning coordinates into a readable city and country nameYour coordinates are passed to the operating system's geocoder, which may forward them to Apple or Google under their own privacy policies
Sign in with Apple is offered on iOS alongside other sign-in options. Apple's private-relay email is fully supported.

5 Location & Sensors

Location is used to calculate accurate prayer times for your area, to show the name of the place the times belong to, to orient the Qibla compass toward Makkah and — if you open it — to find mosques near you. By default location is only read while you use the app ("when in use"). You may instead set your city manually and never grant location access.

We do not operate our own location servers and we never store your coordinates in our own database. Your coordinates are, however, sent to the third-party services below so the features can work:

  • Prayer times (primary path): your latitude and longitude are sent to the AlAdhan API together with the date and the calculation method every time times are computed for a new place or day. The request carries no account identifier. If the network is unavailable, the app falls back to calculating the times on the device.
  • City name: coordinates are passed to your device's operating-system geocoder to turn them into a readable place name. On Android this is handled by Google and on iOS by Apple, under their own privacy policies.
  • Mosque finder: when you open the mosque finder, your coordinates and a search radius are sent to the Overpass API (OpenStreetMap data) to look up nearby places of worship.

Background location (optional)

Sajda offers an opt-in background location feature for people who travel. If you enable it and grant the "always" / background location permission, the app registers a geofence around your last known position. When you leave that area — including while the app is fully closed — the system wakes the app briefly, it takes a fresh position and recalculates and reschedules your prayer times and notifications for the new location. The coordinates are used for that recalculation (on the device and via the AlAdhan API as described above) and are not stored on our servers or used for advertising or tracking.

This feature is off unless you turn it on. You can disable it at any time in the app's prayer settings, or revoke background location entirely in your device settings (iOS: Settings → Privacy & Security → Location Services → Sajda; Android: Settings → Apps → Sajda → Permissions → Location). Prayer times keep working from your last known or manually set city.

Prayer notifications on Android

On Android, some manufacturers' battery savers stop on-device alarms, so prayer notifications are delivered from our server instead. For this, the app stores on your device's record in Cloud Firestore the times and texts of your upcoming prayer, reminder, Friday and missed-prayer notifications (about the next 10 days) and your device time zone. We do not store your coordinates, but prayer times together with a time zone can indicate your approximate location (roughly your city or region). The schedule is replaced every time it is recalculated, is used only to send these notifications, and is switched off when you turn prayer notifications off. On iOS, prayer notifications are scheduled on the device and no schedule is stored.

Re-engagement notifications

So that notifications arrive at a sensible local hour and in your language, each registered device record stores its push token, app language, time zone, platform, app version and the date it was last active. If a device stops opening the app, we may send a small number of reminder notifications (after 3, 7 and 21 days of inactivity, at most one per day; a new series starts no sooner than 30 days after the previous reminder). You can stop these by turning off notifications for Sajda in your device settings.

The Qibla compass reads the device's motion/orientation sensor on-device only; no sensor data leaves the phone.

6 Microphone

Sajda does not use your microphone. The app does not record audio, does not run speech recognition, and never uploads audio anywhere. There is no voice or recitation-grading feature.

  • On Android, the app does not declare the RECORD_AUDIO permission, so it cannot access the microphone at all.
  • On iOS, a microphone usage description remains in the app because an audio-playback dependency links the system audio APIs. The permission is never requested and no recording takes place.

Qur'an recitation you listen to is audio streamed from the EveryAyah CDN. It is playback only and does not involve your microphone.

7 Purchases & Advertising

Remove Ads

Sajda has one optional in-app purchase, Remove Ads. It is a one-time, non-consumable purchase — there is no subscription, no auto-renewal and no free trial. Payment is processed by the Apple App Store or Google Play and the entitlement is managed through RevenueCat. We never see or store your card details.

To keep your purchase working across your devices, RevenueCat receives a pseudonymous identifier for your account and the store's purchase receipt.

Advertising

Unless you have purchased Remove Ads, you may see ads served by Google AdMob. To deliver ads, Google and its advertising partners may use device identifiers (such as the advertising ID) and similar technologies. You can learn how Google uses information from apps that use its services at policies.google.com/technologies/partner-sites.

On iOS, ads are non-personalized unless you grant App Tracking Transparency (ATT) consent; you can change this anytime in Settings → Privacy & Security → Tracking. On Android, you can reset or delete your advertising ID in your device settings. Ads are never shown while you are reading the Qur'an or during audio playback.

8 Children's Privacy

Sajda contains family-friendly educational content (such as an Arabic-letters learning section) but is a general-audience app and is not directed at children under 13 (or the equivalent minimum age in your jurisdiction). We do not knowingly collect personal information from children, and the app does not include child profiles or child-specific accounts.

If you believe a child has provided personal information, contact us at hello@excfy.com and we will delete it.

9 Your Rights

Depending on your region (including the EU/EEA under GDPR and California under CCPA/CPRA), you may have the right to:

Access

Request a copy of the personal data linked to your account.

Correction

Update inaccurate account information directly in the app.

Deletion

Delete your account and associated data at any time.

Withdraw consent

Revoke location, microphone, notifications or ad tracking in device settings.

We do not sell personal information and do not use it for cross-context behavioral advertising beyond the consent-based AdMob behavior described above.

10 Account & Data Deletion

In-app path: Settings → Account → Delete account. This permanently removes your authentication record, your profile and synced data, the device registrations (push tokens) linked to your account and your purchase-event records from our systems.

You can also request deletion by emailing hello@excfy.com from your account email. Local data is removed when you uninstall the app; cloud data is removed within 30 days of a deletion request.

11 Data Retention & Security

  • Retention: Account and synced data are kept while your account is active and deleted on request. On-device data is removed when you uninstall the app.
  • Encryption in transit: All network communication uses HTTPS/TLS.
  • Access control: Cloud data is protected by security rules so a user can only access their own records.
  • Minimization: We request only the data needed for each feature and avoid collecting sensitive identifiers.

12 Changes & Contact

We may update this policy as the app evolves. Material changes will be reflected by updating the "Last updated" date above and, where appropriate, an in-app notice. Continued use after an update constitutes acceptance of the revised policy.

Questions, requests, or privacy concerns: hello@excfy.com

↑ Back to top