Privacy Policy
Musalli — Prayer Times App
1. Data We Collect
Device Information
When you use the app, we assign your device a random identifier (not linked to your name, email, or any personal account). We store:
- Your selected mosque and language preference
- Device platform (iOS or Android), app version, and OS version
- Your chosen calendar method (global or local sighting) and display preferences (theme, accent colour)
Why: So we can deliver the correct prayer times, send relevant notifications, and understand which features are most useful to improve the app.
Push Notification Token
If you allow notifications, your device's push token is stored on our server.
Why: To send you background data updates when your mosque's timetable changes, so your prayer times stay accurate without you needing to open the app. We do not send marketing or promotional notifications.
Usage Analytics
The app records anonymous usage events such as which screens you visit, how long you spend on each, which notification settings you use, and whether you complete a donation. These events are batched locally and sent to our server once per day.
Why: To understand how people use the app, which features matter most, and where we can improve. This data contains no personal information — only a random device ID and event counts.
You can opt out of analytics entirely in Settings. When disabled, no usage data is collected or sent.
Crash and Performance Diagnostics
If the app crashes or freezes, iOS reports a summary of what went wrong through Apple's MetricKit framework. We record only:
- The crash signal and exception type (e.g. "SIGSEGV")
- The termination reason given by the operating system
- The number of times the app became unresponsive ("hangs")
- The date of the performance report
Why: To find and fix crashes and freezes we would otherwise never hear about. These reports contain no personal information, no stack traces, and nothing about what you were doing in the app.
This is covered by the same opt-out. Turning off "Usage Analytics" in Settings stops crash and performance diagnostics being sent as well.
Settings Sync (Apple iCloud)
If you are signed in to iCloud, your app preferences sync between your own Apple devices using Apple's iCloud Key-Value Storage: notification preferences, selected mosque, language, text size, and congregation display setting.
Why: So the app behaves the same on your iPhone and iPad without configuring it twice. This goes to your private iCloud account —
it never reaches our server and we cannot read it. It is governed by
Apple's Privacy Policy. Signing out of iCloud stops it.
Apple Watch
The watch app receives prayer times from your paired iPhone over Apple's WatchConnectivity link. It does not contact our server and has no device record of its own. Usage events generated on the watch are relayed through your iPhone and follow the same analytics opt-out.
Alexa Skill
The Musalli Alexa skill is optional and separate from the app. When you ask it for prayer times, nothing is stored. If you set a masjid or turn on prayer announcements, we store your chosen masjid and, for the reminders it schedules, an anonymous identifier that Amazon gives us for your Alexa account. We never receive your name, email, or any contact details, and announcements are created through Amazon's own Reminders feature, which you can revoke at any time in the Alexa app.
Feedback and Enquiries
When you submit feedback or a mosque enquiry through the app, we collect:
- Your message text
- Your device ID and platform (iOS/Android)
- Your selected mosque and app version
- For general feedback: an email address or phone number only if you choose to add one so we can reply (both are optional and the form works without them)
- For mosque enquiries: the mosque name, city, and any contact details you choose to provide
Why: To read and respond to your feedback, and to process requests to add new mosques. Feedback is forwarded to the developer via a private channel and stored securely on our server so we can investigate issues and follow up. Any contact details you provide are used only to reply to you and are never shared with anyone else.
Moon Sighting Responses
When the 29th night of a Hijri month occurs and you respond to the moon sighting prompt (sighted or not sighted), the following is sent to our server:
- Your anonymous device ID
- The Hijri year and month
- Whether you reported the moon as sighted or not
- Your device's country/region setting (ISO country code, e.g. "GB")
- Your sighting method (global or local)
Why: To aggregate community responses across different countries and build a trust-based consensus system for the Hijri calendar. Your response helps determine when the new month begins for your sighting method. A trust score (0.0–1.0) is maintained per device — it increases when your responses align with the confirmed outcome and decreases when they don't. This score is never shared publicly; it is used internally to weight responses when auto-resolving sightings.
Location Data
- Qibla compass: Your location is accessed in real time to calculate the direction to Makkah. It is never stored or transmitted.
- GPS calculation mode: If you choose to calculate prayer times by GPS (instead of selecting a mosque), your coordinates are rounded to the nearest city (~11 km precision) before being sent to our server. Only this coarse city-level location is stored — never your exact address or precise GPS coordinates.
- Mosque-based users: If you select a mosque, no location data is collected. Your approximate area is only inferred from which mosque you chose.
- Home adhān: If you turn on "play the adhān sound only at home" and set a home area, your device watches for you leaving or returning home in the background so it can play the adhān only when you are home. Your home area and your location are kept and used only on your device, and are never sent to our server.
Donations
If you make a voluntary donation by card, Apple Pay or Google Pay through our website, the payment is processed by Stripe (a third-party payment processor). We receive a confirmation of the amount and a transaction reference. We do not receive or store your card number or bank details. Donations made from the app may be linked to your anonymous device ID for our records.
What We Never Collect
For the avoidance of doubt, the app has no mechanism to collect any of the following:
- Your name, email address, phone number, or any account — the app has no sign-in (the one exception is the feedback form, where you may optionally add an email or phone if you want a reply)
- Your contacts, photos, calendar, microphone, or camera
- Your precise GPS coordinates (Qibla readings stay on the device; calculation mode rounds to ~11 km before sending)
- Your card number or bank details (Stripe never shares them with us)
- Any advertising identifier — there are no ads, no trackers, and no third-party analytics SDKs
- Anything at all that would let us identify you personally
2. How We Use Your Data
- Delivering prayer times: Your mosque selection determines which timetable to fetch and cache on your device.
- Keeping data fresh: When a mosque's timetable is updated on their website, our server detects the change and sends a silent notification to your device so it can refresh automatically.
- Improving the app: Anonymous analytics help us understand feature adoption, identify bugs, and prioritise development.
- Moon sighting calendar: If you use the local sighting calendar method, the app syncs confirmed sighting records from our server so your Hijri date stays accurate with your community.
- Mosque content delivery: Your mosque selection is used to deliver relevant announcements, class schedules, and donation campaign information to your Today view.
3. Data Storage and Security
- Prayer times and preferences are cached locally on your device for offline access.
- Our server is hosted on Cloudflare Workers (a globally distributed, privacy-focused platform). Data is stored in Cloudflare's D1 database.
- All communication between the app and our server uses HTTPS encryption.
- We do not sell, share, or provide your data to any third party (except Stripe for donation processing, which is governed by Stripe's Privacy Policy).
4. Data Retention
- Device records are automatically removed if your device has not contacted the server for 90 days.
- Push tokens are cleared after 60 days of inactivity.
- Analytics events are deleted after 90 days. Aggregated summaries (with no individual device detail) are kept indefinitely.
- Donation records are kept for accounting purposes.
- Moon sighting responses are kept indefinitely as part of the community calendar consensus record.
5. Third-Party Services
| Service | Purpose | Data Shared |
| Cloudflare | Hosts our server and stores timetable data | Device ID, mosque selection, preferences, analytics events |
| Apple Push Notification service (APNs) | Delivers silent data updates to iOS devices | Push token |
| Firebase Cloud Messaging (FCM) | Delivers silent data updates to Android devices | Push token |
| Stripe | Processes voluntary donations | Payment details provided during checkout |
| Apple iCloud | Syncs your settings between your own Apple devices | Preferences only — never sent to us, stored in your private iCloud account |
| Telegram | Delivers feedback and mosque enquiries to the developer | Only what you type in the feedback form, plus your device ID, mosque, app version, app settings and network details (country and internet provider) to help us investigate issues |
| Mosque websites | Source of prayer timetable data | None (our server fetches publicly available timetables) |
6. Notifications
All prayer time reminders, adhān alerts, and Islamic date notifications are scheduled locally on your device. Our server sends silent background updates when:
- Timetable data changes (prayer times updated)
- The Hijri calendar is confirmed (moon sighting record set)
- A new announcement, class, or campaign is published by your mosque admin
These are invisible and simply trigger a data refresh. If your mosque admin sends an optional alert notification, it will appear on your lock screen like any other notification. You can disable notifications entirely in your device settings.
7. Children's Privacy
This app does not knowingly collect any information from children. It is designed for general use by anyone wishing to view prayer times.
8. Your Rights
- Opt out of analytics: Toggle off "Usage Analytics" in Settings at any time. This also stops crash and performance diagnostics.
- Deny location access: The Qibla compass and GPS calculation require location; all other features work without it.
- Deny notification access: The app works fully without notifications; you simply won't receive prayer time reminders.
- Delete your data: Uninstalling the app removes all local data. Your server-side device record is automatically cleaned up after 90 days of inactivity, or you can contact us to request immediate deletion.
9. Changes to This Policy
We may update this policy as the app evolves. Changes will be reflected with an updated date below. Continued use of the app after changes constitutes acceptance.
10. Contact
For questions about this privacy policy, please contact the developer via the support link in the App Store or Google Play, or email omariosc101@gmail.com.
Last updated: 19 October 2026