Qalb Privacy Policy
Last updated: 9 November 2026
Qalb is a free, noncommercial Islamic companion app maintained as a personal hobby project by an independent developer. For privacy questions or requests, contact yusuprd@icloud.com.
Information Qalb processes
Location. When Qalb starts, it asks for permission to use location while the app is in use. If you grant permission, the app reads your current coordinates. Prayer times and Qibla direction are calculated on your device; your coordinates are also sent to the Qalb API with your app language to look up the locality name. If that lookup fails, Qalb may send the coordinates to the device platform’s geocoder. When nearby mosques are shown on the home screen or in the mosque feature, Qalb sends your coordinates, search radius, and result limit to the Qalb API. Qalb then requests driving estimates for up to 20 nearby mosques, sending your coordinates and their coordinates to its routing provider. When you request directions, the route’s start and destination coordinates are sent for routing. Qalb does not request background location.
Device data. Qalb stores your language, theme, prayer calculation and notification settings, Quran display preferences, tasbih and spiritual-pause progress, last-opened Surah, compass haptics setting, and cached API responses on your device. The cache keeps up to 100 recent entries. Its entries can include rounded coordinates in cache keys. Quran text, English and Russian translations, English transliteration, and recitation metadata are downloaded from the Qalb API and saved in SQLite after a successful first sync. A new installation needs an internet connection before Quran reading and search become available; after that download, reading and search use the local database and work offline. Quran searches and reading activity are not sent to the Qalb API or Quran.Foundation.
Notifications. If you enable prayer reminders and allow notifications, Qalb calculates prayer times on your device and schedules reminders locally through the operating system, up to seven days ahead. Qalb does not send your schedule to a remote push-notification service. Notification content may be visible to people with access to your device.
Network and diagnostics. When your device contacts the Qalb API, the API host receives connection data such as your IP address and request time. Application logs can include request methods, response status, timing, connection addresses, and forwarded IP headers. The logger removes request URLs, query strings, route parameters, authorization headers, cookies, and referrers from its request records. Error logs can include error messages and stack traces. We use these logs to operate and troubleshoot the service.
Services that receive information
Qalb is independent and is not an official Quran.Foundation or Quran.com app. The Qalb API uses Quran.Foundation Content Sync to maintain the Quran resources used in the app. The app downloads and refreshes its local copy through the Qalb API; it does not contact Quran.Foundation directly or send Quran searches or reading activity to either service.
The Qalb API forwards request data to the service needed for the feature:
- OpenStreetMap Nominatim receives coordinates and language for locality lookup.
- TakbeerTime receives coordinates, search radius, and result limit for nearby mosque results.
- The public OSRM routing service receives your coordinates and nearby mosque coordinates for driving estimates, or the selected route’s start and destination coordinates for directions.
- AlAdhan receives the requested calendar month and year. Qalb does not send your coordinates for this request.
- metals.dev receives a server request for gold and silver prices in USD per gram. The API key is used by the server and is not included in the app.
Maps are displayed using Apple Maps on iOS and Google Maps on Android. Those providers may receive map requests and information used to display your location and selected places. If the Qalb API locality lookup fails, the device platform’s geocoder may receive your coordinates. When you play Quran recitation, the app streams audio from QuranicAudio mirrors, which receive the audio request and ordinary network information.
Expo Update checks for updates when Qalb loads. It receives build and update information and stores the IP address and a random installation ID with each request record. After a launch failure, Expo may also receive failed update IDs and the launch error text. It keeps the failed update IDs in the request record and deletes raw logs containing launch error text after three days. Expo uses this information to deliver updates, measure update usage, and identify failed installations. It does not use it for advertising or tracking.
Qalb’s API is hosted through Render and can use Upstash Redis for temporary response caching when Redis is configured. Upstash receives the cached API responses and cache keys described below. The providers process requests under their own terms and privacy notices; Qalb does not control their independent retention or processing locations.
Qalb has no user accounts, advertising, remote push notifications, paid features, or payment processing. Using an Islamic companion app and its location features may reveal religious interests from your device or network activity, but Qalb does not create a user profile from that information. Contacting the developer opens your email app; Qalb does not send the email itself.
Storage and retention
Preferences and the downloaded Quran database remain on your device until you clear Qalb’s app data or uninstall the app. Cached API responses are considered fresh for 24 hours for locality results, mosque results, and metal prices; one hour for routes and route estimates; and 30 days for calendar events. The cache may retain older entries after they become stale until cache pruning, app-data removal, or uninstalling the app.
When configured, Upstash Redis temporarily caches mosque results for 15 minutes; routes and route estimates for one hour; locality results and metal prices for 24 hours; and calendar events for 30 days. The API retains the current shared Quran Content Sync dataset and revision in Redis, along with the immediately previous dataset and revision used by getChanges() to serve incremental updates. The previous snapshot is retained until the next successful synchronization replaces it, or until the operator removes it. These datasets are provider content, not personal reading history. Redis is not used for user accounts or activity histories. Render states that logs for a Hobby workspace are available in its dashboard for seven days; the actual deployment plan, settings, and any external log exports may change how long logs are available. Other providers set their own retention periods under their policies.
Your choices and privacy requests
You can deny or revoke location and notification permissions in your device settings. You can remove preferences, cached responses, and other locally stored app data by clearing Qalb’s data or uninstalling it. There is no Qalb account or server-side reading history to delete. Depending on the law that applies to you, you may have additional rights regarding personal information. To ask a privacy question or make a request about information handled by Qalb, email yusuprd@icloud.com. Please avoid sending sensitive information by email. Third-party providers handle requests about information they process under their own policies.
This policy may be updated if Qalb’s features or data practices change. The date above shows when it was last revised.
Provider information
See the current policies and service information from Render, Upstash, OpenStreetMap, TakbeerTime, AlAdhan, metals.dev, Apple, Google, Quran.Foundation, QuranicAudio, and Expo.