chibu

Oratide — Privacy Policy

Effective 31 October 2026 (2026-10-31), for the Google Play build and the iPhone app on the App Store, each of which sells Oratide's one-time $9.99 unlock. Sixth version — see the change log.

Oratide is a Catholic fixed-hours prayer app: a bell at the hours you set, and the prayer for that hour. This document says what the app does with information, in plain words. Every statement in it is a statement about the code as it exists on the date above, and each one can be checked against that code.

Made by chibu. Questions go to support@chibuapps.com. A person reads them.


The short version

Oratide has no account and no server. Everything you put into it — your hours, the names you pray for, the record of days if you choose to keep one — is written to the app's own storage on your device, and it stays there. Nothing is uploaded, because there is nowhere for it to go. There are no analytics, no advertising and no crash reporter. The one piece of third-party code in the Android app that can speak to anyone is Google's Play Billing Library, which talks only to Google Play, when you buy or restore the $9.99 unlock and when the app checks it (§9). In the iPhone app, buying goes through Apple's StoreKit, between your phone and the App Store, and nothing about it is sent to us (§9). You can export all of it as a plain file whenever you like, and you can erase it.

In the Android app, if you turn bells on as system notifications, the times of your hours are handed to Android on the same phone, so that a bell can sound with the app closed. That needs no server and sends nothing anywhere (§6). In the iPhone app, turning them on hands iOS the times of your next bells, at most 58 at a time, on the same phone; that sends nothing anywhere either. Push from a server is a different thing, and Oratide has none (§7).

That is the whole policy. The rest is detail, for anyone who wants to check it.


1. What this covers

2. What Oratide does not do

Each line here is a fact about the code, not a policy that could be quietly changed.

3. What is kept on your device

Everything below lives on the device you are using. None of it is sent anywhere.

WhatWhat it holdsStarts as
Your RuleThe hours you named, the time and days of the week for each, and the prayers queued in each.Whatever you set up in first run.
IntentionsThe names you carry, an optional note, the day of the week each belongs to, when you named it, and — when you give thanks for one — the date and any line you wrote.Empty.
The recordOff by default, and while it is off nothing at all is written. When you turn it on: the days on which a prayer period was finished, how many that day and which blocks, days you marked as rest, and a lifetime total that can only go up. There is no streak and nothing that can reset.Off.
Reminder settingsWhether bells may appear as system notifications (off), whether announcements are on (off), the bell sound chosen per block, any "in 15 minutes" or "skip today" for the current day, a short log of the last sixty bells — when each was due and whether it reached you — and when you last fired a test bell.Off, empty.
The playerWhere you stopped in each block and how many times you have prayed it through; your pace, voice and ambient volume, silence length, Latin on or off, haptics on or off, and whether the words scroll as they are read.Defaults.
AppearanceLight, dark or system theme; Compline night mode; prayer text size.System.
CalendarThe 1969 or 1962 form of the calendar, and whether Ascension is kept on Thursday or Sunday.1969, Sunday.
First runWhich step of first run you reached, when the first prayer was prayed, and which one it was.Empty.
App usageA count of launches, the first and most recent day the app was opened, and how many distinct days that makes. This exists for one purpose: deciding whether to invite you to install the app. It is not sent anywhere and is not a score.Zero.
Install invitationWhen the install invitation was offered, dismissed, or accepted, so it is not shown twice.Empty.
PurchaseWhat Google Play, or the App Store in the iPhone app, reports after you buy or restore Oratide's unlock (§9): that this store account owns it, the day, and Google's order number or Apple's transaction number, kept so the purchase can be shown back to you. Kept regardless: the days on which a prayer was completed — which is what decides whether the single offer may appear — and whether that offer was shown or dismissed.Empty.

Where it is. All of it is one document in the browser's local storage, under the key horarium.state. Before a migration, an import, or an erase, a copy of the previous document is written to horarium.backup. If the app ever finds a document it cannot read, it moves it to horarium.quarantine and starts clean, rather than deleting it. The app's own files are also kept in the browser's cache so that it opens with no network. In the Android app, "the browser" is the app's private WebView, whose storage belongs to the app alone.

The bells Android holds. In the Android app, while bells are on as system notifications (§6), the notifications plugin keeps its own copy of each bell it has handed to Android — the name of the hour, the time, the sound, the three buttons, and which hour it belongs to — in the app's private storage, so that it can hand them back to Android after the phone restarts; Android's alarm service holds the times. That copy is never sent anywhere. Turning the bells off cancels them and deletes it, and uninstalling the app removes it.

How it is protected. By your device: its lock screen, its app sandbox, and its disk encryption if it has it. Oratide does not add a cipher of its own on top of that. Anyone who can get past your lock screen and open the app can read what is in it, the way anyone who opens your missal can read the card inside. If a name is sensitive, treat the note field accordingly and use the device lock.

How it could be lost. Browsers can discard a site's storage: when you clear browsing data, and in some browsers after a long stretch without opening the site. An installed app is far less exposed to this than a browser tab, but the only copy we can promise you is the one you export (§10).

Android backup. The Android app allows Android's own backup. If you have backup to your Google account switched on for the device, Android may include Oratide's data in that backup. That copy is made by Android, under Google's terms and Google's encryption, not by Oratide, and you control it in your device's Settings under Google → Backup.

iPhone backup. In the iPhone app, if iCloud Backup is on for the iPhone, iOS may include Oratide's data in that backup. That copy is made by iOS, under Apple's terms and Apple's encryption, not by Oratide, and you control it in the iPhone's Settings.

4. Intentions — the names you carry

The names you pray for never leave the device. There is no code in the intentions feature that touches a network, and no network for it to touch.

They are yours to take with you, always. From the Intentions screen and from Settings you can export them as plain text (readable on any machine, printable, fit for a missal) or as JSON (which comes back in whole). There is no entitlement check anywhere in the export code, and there is deliberately no place to put one. The free tier limits only how many names you carry at the same time; reading, editing, giving thanks, and exporting are never limited, for anyone.

The whole-app export from Settings (§10) carries a line of its own: "This file is yours. It never left your device to be made." That line is true. The intentions-only files carry no such line.

5. The record of days

The record is off until you turn it on, and the switch sits next to the words "Missing a day is not a failure." While it is off, nothing is written — not hidden, not deferred. When it is on, it keeps a calendar of the days you prayed, a monthly count, and a lifetime total. None of those can go down. It is kept on the device with everything else and is included in the whole-app export.

6. Notifications

Oratide can deliver a bell in three ways. Reminder Health, in Settings, shows which of them you are actually getting on your device.

  1. In the app. A timer in the page, worked out from your Rule and the clock, sixty days ahead, with no network and no server. This is the one that always works, while the app is open.
  2. As a system notification. This needs your permission and is off by default. In the Android app, turning it on hands Android the times of your hours, up to sixty days ahead and at most 360 bells at once, and Android posts each bell as a notification at its hour — whether Oratide is open, in the background, or closed. The app hands them over again each time it opens or comes back to the screen, so the sixty days run from the last time you opened it. The schedule is worked out on the phone and handed to Android on the phone; nothing is sent anywhere. In the iPhone app, turning it on hands iOS the times of your next bells, at most 58 at a time (iOS keeps at most 64 waiting notifications for an app), and the app hands over more each time it opens or comes back to the screen; nothing is sent anywhere. If Oratide is ever run in a web browser (§12), the app's own service worker posts the bell instead, and only while the app is running.
  3. While the app is closed. In the Android app, these are the bells of item 2: Android holds them, and after the phone restarts the notifications plugin hands them back to Android. Two limits are Android's rules, not ours. Force-stopping Oratide from the system settings cancels everything it holds until you open the app again. And on Android 12 and later a bell rings at its exact minute only if the setting Alarms & reminders allows it for Oratide; otherwise Android rings it near the hour, at a moment Android chooses. Oratide reads that setting and never opens it on its own; Reminder Health says which you have and offers the button that opens it. In a web browser there is no way to ring with the app closed; see §7.

Permission is only ever asked when you press a button that says so — on the bell step of first run, or on the Bells or Reminder Health screens. It is never asked on launch.

What a notification contains. The name of the block you set (for example "Lauds"), the time, and the name of the bell sound; for a bell you put off, the words "It is time" and the time; for a test bell, a line saying it is a test. In the Android app a bell is set to show in full on the lock screen, so someone looking at your phone could see that you keep an hour. Name your blocks with that in mind. Nothing from your intentions or your record is ever placed in a notification.

What tapping does. "Pray now", or the bell itself, opens the block it named. "In 15 minutes" rings the bell again fifteen minutes later. "Skip today" does nothing else; the skip is remembered only until the day turns, and then it is forgotten. (On Android, Android brings the app forward for any of the three; only "Pray now" and the bell itself open a prayer.)

Announcements. There is a second class of notification for anything that is not one of your hours. It is off by default, capped at one a week; the cap is shown on the Settings screen, and the cap and the count for the last seven days on the Bells screen. With no server, an announcement can only come from the app itself.

Reminder Health sends a real test bell through the same path a real bell takes — in the Android app, a notification handed to Android two seconds ahead — and then tells you the actual state of things on your device — permission, whether exact alarms are allowed, how many bells Android is holding and until what date, whether the last bells were delivered — in the words your own phone's settings use. Where the limit is the platform's rather than yours, it says so instead of letting you blame your phone.

7. Push — the honest account

Push is how a server wakes a phone: the server sends a message through a push service run by the phone's or browser's maker, and the phone shows it. It is not how the Android app's bells work. Those are held by Android on the phone itself (§6), and need no server.

The web is different: a web page has no way to ring a bell at a set time with the app closed. The only mechanism that could is web push, and web push needs a server.

Oratide has no server, so this build does not offer push. In the code, the delivery key that push would require is declared and set to nothing, and no push subscription is ever created. The service worker does contain the receiving end — the few lines that would show a bell if a push message ever arrived — but there is no sending end, and no message can arrive.

If a later version adds it, here is what it would involve, so that you can weigh it when you see the switch:

This document will be revised, dated, and logged below before any of that goes live.

8. What the app reads from your device, and keeps to itself

To do its job the app reads a few things about the device it is running on. None of them are stored beyond what §3 lists, and none of them leave the device.

9. Buying Oratide, and what the store sees

Oratide is free to use, in full, without paying: every prayer text, every reminder, the calendar, offline use, and accessibility are covered by the Free Core Covenant shown in the app. Paying is a one-time purchase of $9.99, made in Google Play, or in the App Store in the iPhone app. There is no subscription, no renewal and no trial — a fact worth stating in a privacy policy, because there is therefore no recurring billing relationship to keep any record of. The only thing paying would change in this version is the limit of seven carried intentions. The Support screen also names seasonal companions as what the money pays for; those are not written yet, and nothing in the app is gated on them.

Exactly what leaves your phone when you buy or restore the unlock, and who receives it. Oratide's own code sends nothing to anyone: there is no server of ours, no billing service such as RevenueCat, and no receipt-validation server. Everything goes to Google Play, through the Google Play Store app on your phone:

All of that is governed by Google's privacy policy, not this one. Oratide never sees your name, email address or payment details. The development version run from source uses a sandbox store with a mock ledger on the device instead.

In the iPhone app, everything goes to Apple instead, through Apple's StoreKit, which is part of iOS. The purchase goes between your phone and the App Store, and nothing about it is sent to us:

All of that is governed by Apple's privacy policy, not this one.

How buying works (Google Play in the Android app, the App Store in the iPhone app), and it follows from the fact that Oratide has no server:

10. Taking your data with you, and erasing it

11. The Android app in particular

12. A web version, if one is published

No web version of Oratide is published today; the app is the Android app and the iPhone app. If a web version is published, this is what it will mean, and this document will name its host and that host's log retention on the same day.

13. Children

Oratide is not directed at children under 13 and has no feature that asks anyone's age. Since it collects nothing from anyone, it collects nothing from children.

14. Your rights

Laws such as the GDPR and the CCPA give you rights to see, correct, delete, and take away the data an organisation holds about you. The app gives us none, so there is nothing of the app's for us to act on; the tools to do all of those things with the data on your device are in Settings (§10). The one thing we can hold is a message you choose to send. If you write to support@chibuapps.com, we then have your address and what you wrote, because you sent them; the message reaches us through Cloudflare's email forwarding (Email Routing) and is kept in a Gmail inbox, so Cloudflare and Google handle it under their own policies. It is used only to answer you, never added to a list and never shared. Ask, and we delete the conversation. A person will answer. If you are in the European Union or the United Kingdom, you also have the right to complain to your data protection authority.

15. Changes to this document

The effective date at the top changes whenever this document does, and each change is summarised in the log at the end. If a future version begins to send anything off the device — push (§7) is the one we can foresee — that version will say so in the app, ask before it does so, and this document will be revised the same day.

16. Contact

chibu — support@chibuapps.com

By post: chibu, 2112 Broadway St NE Ste 225 #535, Minneapolis, MN 55413, United States


Change log


This website

Everything above is about the app on your phone. This last part is about this website, chibuapps.com, which is a different thing.