What the app stores, and where
Daylo stores the activities you create, the days you mark as done, and your settings. This data lives only in the app's local storage on your device. It is not uploaded, synced, or backed up by us. If you uninstall the app, the data is deleted with it. Use Export Data inside the app to keep a copy first.
The web demo works the same way, except the data lives in your browser's local storage on this website's domain. Clearing your browser data removes it.
On Android, Daylo can send you one reminder each evening. It is off until you turn it on. The time you choose is stored with your other settings on your device, and the reminder is scheduled by Android itself, on the phone. Nothing about it leaves your device, and the notification never includes what you track. Turning it off cancels it; uninstalling the app removes it.
What the app sends
Nothing, unless you turn one thing on. Daylo makes no network requests of its own. There is no telemetry, no crash reporting, and no third-party SDK inside the app. The part of the app that draws the screen cannot reach any server at all: its security policy allows no connection, and anyone can read that policy in src-tauri/tauri.conf.json in the public code.
The anonymous check-in
Daylo sends an anonymous daily check-in. On a new installation it is on from the first time the app opens, and the app says so that first time, with a link to see exactly what is sent and to turn it off. If you installed Daylo before version 1.3.0 and update, it stays off until you turn it on from the app's menu, under Anonymous check-in. Once a day at most, and only on a day you open Daylo, the app sends four things to our own server:
- a random number made on your device when the check-in was turned on. It is derived from nothing about you or your device and is tied to nothing: not your name, not an email, not a phone number.
- the app version, for example 1.3.0
- your operating system, as one word: windows, macos, linux or android
- the date
That is everything the message says about your device. It never includes your habits, their names, the days you marked, your notes, your language, your location, or anything typed into the app. The message is addressed to our server with a fixed label that is the same in every copy of Daylo. The code that sends it is one short file, src-tauri/src/checkin.rs, and the address it sends to is written there in plain sight.
Where it goes and what we keep
The message goes to Umami, an open-source analytics tool we host ourselves at checkin.henfrydls.com. Like any server you connect to, ours sees the internet address your connection is using. We do not store it, we do not derive your country or city from it, and the web server in front of Umami does not log it. We keep the messages as they arrive for thirteen months. After that only daily totals remain, such as how many devices checked in on a given day, and the messages themselves are deleted.
Turning it off
The switch is in the app's menu, under Anonymous check-in. When you turn it off, Daylo sends one last message with the same four things and a mark saying it is the last one, deletes the random number from your device, and sends nothing more. The app tells you this before you turn it off. If you turn it on again later, a new random number is made, and the two cannot be joined. We do not delete the earlier messages from the server when you turn it off, because that would mean sending your device's number to the server once more; they expire with everything else after thirteen months.
What this is for
The check-in tells us whether copies of Daylo are still in use from one week to the next. It cannot tell us who you are, and we do not try.
This is not just a promise
Daylo's public code is checked automatically on every change. The part of the app that draws the screen fails the check if any analytics, tracking or error-reporting service appears in its code, its dependencies or its built files. The native part fails the check if it names any address other than the one in this section. You can see both checks in the project's GitHub repository.
This website
daylo.henfrydls.com uses Umami, an open-source analytics tool that we host ourselves at analytics.henfrydls.com. It records page views and which download button was clicked, in aggregate. Umami does not use cookies, does not store your IP address, does not fingerprint your browser, and does not track you across other sites. There is no advertising and no data is shared with third parties.
Downloads
Release files are hosted on GitHub. When you download from the GitHub Releases page, GitHub's privacy statement applies to that request. If Daylo is later available through an app store (Google Play, Microsoft Store, F-Droid, Flathub), that store's own policy applies to the download and update process; Daylo itself sends nothing unless you turned the check-in on, and then only the four things described above.
Children
Daylo collects no personal data from anyone, including children. The check-in carries nothing about who is using the app. It has no age gate because it has no accounts and nothing to protect.
Your rights
Because we hold no data about you, there is nothing for us to access, correct, export, or delete on your behalf. Your data is on your device, under your control: export it, back it up, or delete the app. If the check-in is on, the only thing on our server is a random number with dates next to it, and we cannot tell which number is yours, so there is nothing we could look up for you either. Turning the check-in off deletes the number from your device, and the server's copies expire after thirteen months.
Changes
If this policy changes, the new version will be published at this address with a new effective date. Substantive changes will also be announced in the release notes on GitHub.
Contact
Open an issue at github.com/henfrydls/daylo/issues, or write to the contact address published on henfrydls.com.