Privacy Policy
Last updated 2026-09-12. Describes the app as built at version 0.198.0.
We calculate prayer times. We do not track your prayers. An optional prayer log, off unless you turn it on, keeps only the prayers you mark as prayed: which prayer, the day, and the time you marked it. OneQibla never sends it anywhere, and turning the log off deletes it.
The short version
OneQibla does not send anything anywhere. There is no account, no server, no analytics, no crash reporting and no advertising. Nothing you do in the app reaches us, because the app has no way to reach us.
That is not a promise about our intentions. It is a property of the program, and it is checked automatically every time the app is built — see How this is enforced below.
What OneQibla stores
Everything the app remembers is stored on your device, in storage private to the app. This is all of it:
| What | Why it exists |
|---|---|
| A settings version number | So a future version can read settings written by this one |
| Theme | Light, dark, or follow the system |
| Language | English, Arabic, or follow the device |
| Text size | Standard, large, or larger |
| Reduced motion | Whether you asked for less movement |
| Whether you have seen the introduction | So it is not shown again |
| A latitude and a longitude | The only value about where you are. It is there because you typed it or accepted it from Use my location, and Forget this location removes it |
| Where that coordinate came from, how accurate it was, and when it was taken | Whether you typed it or your phone supplied it under a precise or an approximate grant; the accuracy in metres your phone stated for a fix; and the time it was taken or typed — so a fix from the phone is never recorded as something you typed. All three go when you forget the location |
| A name for the saved place | A word you typed to label the coordinate, shown beside it and never instead of it. The app does not know where you are and cannot look a place up, so this is your label, not a place name. It goes when you forget the location, and it is kept out of the diagnostics text you can copy even when you choose to include your position |
| Calculation method | Which published prayer-time method you chose, by name, if you chose one. Prayer times are calculated from it on your device. Not chosen removes it |
| Asr rule | Which of the two Asr conventions you chose, if you chose one. Not chosen removes it |
| Who published your timetable | If you copied in your mosque’s times: the name you typed for whoever published them, exactly as you wrote it. It is shown beside every time from that timetable, because a time this app did not compute must say where it came from |
| The prayer times you copied in, and the dates they are for | The most personal thing OneQibla stores: a record of when you pray and, through the source above, where. It never leaves the device, and Remove this timetable deletes it outright |
| Which prayers you asked to be reminded about, and how long before | Only the reminders you switched on are stored; a fresh install stores nothing here |
| Whether reminders make a sound | One choice for all prayers, silent by default. A preference about your phone, not about your worship |
| Whether the view of a holy place follows your phone or your finger | Auto or manual, or nothing until you choose. A preference about the view, not about you |
| Whether the prayer log is on | Off by default |
| The prayer log itself, if you turned it on | Under its own separate key: the prayers you marked as prayed, the day, and the time you marked each, and nothing else — never where. Turning the log off, or Delete the whole log, deletes it |
There is no identifier of you or your device in that list. There is no record of worship unless you choose to keep one: the prayer log is off until you turn it on and holds only what you mark, and a timetable holds only the times you copied in.
Three rows are named individually on purpose, because they are the closest things the app keeps to a statement about how you pray: the calculation method and Asr rule you picked, the timetable you copied in, and the prayer log. None of them is a record of your tradition — the app never asks you to name one and has no field for it — and none of them is ever sent anywhere.
What OneQibla does not collect
None of the following is recorded, stored, or derived — not on your device and not anywhere else — unless it is one of the things you choose to keep, listed above:
- whether you prayed (only in the prayer log, if you turn it on)
- when you prayed (only in the prayer log, if you turn it on)
- where you prayed
- mosque attendance
- which Islamic tradition you follow
- when you checked the Qibla
- which holy places you looked at, or for how long
- whether you acted on a reminder
The app never asks which school or tradition you follow, and has no field for one. It is not that this data is collected and protected — it does not exist, and there is no feature in the app that could produce it.
Your location
OneQibla reads your device’s location in two situations only:
- when you tap Use my location, to fill in the coordinate the Qibla and the prayer times are calculated from; and
- while the Qibla screen is open, so the compass can point to true north. This stops when you leave that screen or the app goes to the background. Nothing read this way is stored.
Never on launch, never in the background. The system’s permission prompt is shown only when you tap Use my location; the Qibla screen uses a permission you have already given, and does nothing if you have not.
When you do tap it, the coordinate fills in the location form and nothing is saved until you choose to save it. What is stored afterwards is a coordinate you accepted, with where it came from, how accurate it was and when it was taken — not a record of where you have been. You can remove all of it at any time with Forget this location.
You can also simply type a latitude and longitude yourself and never grant the permission at all. The app is fully usable that way.
How your phone is turned
While a view of a holy place is open, the app reads how you turn your phone so the view can follow it. That reading needs no permission on either platform, is never stored, and never leaves the phone. On iOS the app declares a motion usage description in case Apple ever requires one; it asks for nothing today.
Links to this website
Since version 0.198.0, three rows at the foot of Settings → About —
Website, Privacy policy and Help — open this website in your phone’s
browser. Each opens one fixed address (https://oneqibla.org/, this page, and
the help page) with nothing added to it: no code, no identifier, nothing about
you. Following one leaves the app: OneQibla itself sends nothing, and the
app still contains no code that could open a connection. What your browser
then sends is your browser’s, and this website’s host (Cloudflare Pages) sees
the visit like any web page. The site itself sets no cookies, runs no script
and loads nothing from third parties. The app never links to the giving page.
Reminders
If you turn on a prayer reminder, it is scheduled on your phone only, from the times the app shows you. Nothing about when you pray, or whether you acted on a reminder, is sent anywhere or kept.
Permissions
Nothing on any launch path requests anything. Every permission is asked for on an explicit tap, and the app is useful without granting any of them.
On Android, the released app declares exactly four permissions:
- approximate location and precise location — asked for only when you tap Use my location. Approximate is offered alongside precise on purpose: a coarse fix still gives a Qibla direction accurate to well under a degree, so demanding precise location would be asking for more than the calculation needs.
- post notifications — asked for when you turn on your first prayer reminder. Android 13 and later require it before an app may show a notification at all.
- schedule exact alarms — with the one above. A reminder that drifts by minutes is a reminder at the wrong time; without this the app schedules nothing rather than arriving late.
It requests no internet permission at all, which is the one that matters here: without it, a released Android build cannot open a network connection even if its code tried.
On iOS, the app asks for location when you tap Use my location, and for permission to show notifications when you turn on your first reminder.
No accounts, no sign-in
There is nothing to sign up for. The app does not have accounts and could not attach your settings to one.
No advertising, no analytics, no crash reporting
OneQibla contains no advertising software, no analytics software and no crash reporting software. Nothing about you is sold, rented, licensed or shared with advertisers or data brokers, and no profile of you is built anywhere.
This website carries no advertising or behavioural tracking either. It sets no cookies, loads nothing from third parties, and runs no analytics. A privacy promise that the marketing site breaks is not a promise.
Backups, and a limit
OneQibla never uploads anything. Whether your operating system includes the app’s storage in your own device backup is the platform’s decision, not ours, and it differs:
- On Android, OneQibla is configured to keep its storage out of cloud backup and out of device-to-device transfer. That is a choice we made, and it has a cost: your settings do not move to a new phone.
- On iOS, the app’s storage lives in standard iOS preference storage, which is included in the device’s backup, and an app cannot exclude it while using it. So if you back up your iPhone, everything in the table above — your theme, your saved coordinate, your calculation method, a timetable you copied in, your reminders, and the prayer log if you keep one — is in your backup.
That backup is yours, held under your Apple or Google account and their terms. OneQibla does not transmit it and cannot read it.
Children
OneQibla does not collect personal information from anyone, including children. There is no account, no profile, and no way for the app to identify a user of any age.
How this is enforced
These are not policy intentions. They are checked by automated tests that fail the build:
- No part of the shipped app can open a network connection. No shipped code imports any networking library — no HTTP client, no sockets. A test reads the source and fails if one appears.
- On Android the operating system enforces it too. The released app’s manifest declares no internet permission, so a released build could not open a connection even if code tried to. It declares the four permissions described above, and a test fails the build if any other appears.
- On iOS there is no equivalent operating-system control, so on iOS the guarantee rests on the source check alone. It is verifiable, but it is not enforced by the platform. We state the difference rather than flattening it.
- Every value the app stores is listed in this policy. A test reads the storage keys out of the program and requires each one to be documented, so a new field cannot be added without appearing here. A second check, run before this page is published, reads the same keys across the repository boundary and fails if this page has fallen behind.
- Nothing you copy out is more than you chose. The diagnostics text you can copy from Settings excludes your coordinate unless you switch it on, and never includes the name you gave the place, your calculation method or your prayer log.
- The build fails if advertising software is added.
Supporting OneQibla
The app is free, there is nothing to buy, and no feature is behind a payment. Voluntary support is not open yet. When it is, it will happen on a page on this website rather than inside the app, the app will never ask, and that page will say what the payment route receives before a single payment is possible. The app itself has no part in it and learns nothing about whether you gave.
Changes to this policy
If what the app does changes, this page changes with it, before the change ships. The date at the top says when it was last revised, and the version says which build it describes.
Contact
Questions about this policy, or about anything the app does with your data, go to [email protected]. That address is read by a person, and it is the same one the App Store and Google Play listings give for support.