chibu

Oratide — Privacy Policy

Effective 22 September 2026 (2026-09-22). Third version — see the change log.

Oratide is a Catholic fixed-hours prayer app: a bell that rings at the hours you set while the app is open, 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, no crash reporter, and no third-party software inside the app that could report on you. You can export all of it as a plain file whenever you like, and you can erase it.

If a future version ever adds a way for the bell to reach you while the app is closed, that will need a server. It will be off by default, it will ask you first in plain words, and this document will change on the day it does.

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.
PurchaseIn the Google Play build nothing can be bought (see §9), so no purchase, charge or refund is recorded. 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.

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.

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 delivers a bell in three ways, and names them honestly on the Bells screen:

  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, while the app is running. The app's own service worker posts the bell so it can reach you behind another app. This needs your permission and is off by default. The Android app on Google Play cannot do this in its current release: its web view has no notification interface, so the switch cannot be turned on and the permission is never asked (§11).
  3. While the app is closed. Not available in this build. 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, or for a test bell, a line saying it is a test. A notification appears on your lock screen like any other, 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" opens the block it named. "In 15 minutes" opens it with a deferral. "Skip today" closes it and nothing else happens; the skip is remembered only until the day turns, and then it is forgotten.

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 tries a real test bell through the same path a real bell takes (in the Android app on Google Play it reports that no notification can be posted), and then tells you the actual state of things on your device — permission, whether the app is installed, 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

The web 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; no push subscription is ever created; the Bells screen says "While Oratide is closed, it does not ring" and explains why, rather than showing a switch that does nothing. 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. When paying opens, it will be a one-time purchase of $9.99; in the Google Play build today nothing can be bought. 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.

In the Google Play build, nothing can be bought. The purchase screen says that purchases are not open yet and that nothing can be charged; no payment method is asked for, and no purchase, charge or refund is recorded. Only the development version run from source uses a sandbox store, with a mock ledger kept on the device, so that the purchase, refund and restore flow can be tested without a store account.

When Oratide is sold through Google Play, and later the App Store, this is how it will work, 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. 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.