Daili — Privacy Policy

Last updated: October 11, 2026

Daili is a daily budgeting app developed and published by Corbin Caldwell. Daili has no accounts, advertising, analytics, or app backend that receives your financial records. Daili itself does not upload your budget records, receipt images, or microphone audio. If you explicitly turn on Android backup, Android may back up the limited data described below to your Google account.

Information stored on your device

Daili stores the following in the app's private storage so its features work:

This information is processed locally and is not sent to the developer. The only optional transfer of financial records is the Android backup you can choose below.

Optional CSV expense import

If you choose Import expenses in Settings, Android's file picker lets you select CSV files you exported from your bank. Daili reads the selected files on your device and deletes the temporary copy the picker makes once it has read them. The files are never uploaded. Daili keeps only the expenses you choose to import (date, description, amount, and category), the file name, the time of the import, and an identifier used to skip transactions you have already imported. Imported expenses are stored, and included in the optional Android backup, like expenses you enter yourself. You can undo an import for 30 minutes, or delete imported expenses at any time.

Optional encrypted Android backup

In Daili 1.13.0, Android cloud backup is disabled. The optional backup behavior described here applies to newer releases, including test builds, that offer Data backup in Settings.

Android backup is off unless you choose to turn it on. In current releases, you enable it only under Data backup in Settings, after reviewing and confirming the backup details. Cancelling leaves backup off. You can also turn it off at any time in Settings. Earlier releases may show a one-time offer two seconds after your fifth expense; choosing Keep backup off or tapping outside that prompt leaves it off.

When enabled, Daili permits Android to back up only the SQLite ledger and settings, supported migration data, and the backup-consent setting. This can include budgets, expenses, monthly plan history, recurring expenses, reminders, and app preferences. Cloud backup requires Android's client-side encryption capabilities, which normally require device backup and a screen lock to be enabled. The backup belongs to your Google account; Daili's developer cannot view or retrieve it. Google handles it under the Google Privacy Policy.

Receipt and expense photos, downloaded AI models, caches, temporary camera or audio files, and logs are excluded from cloud backup. Android's direct device-to-device transfer may include app-private receipt photos. If a cloud-restored expense refers to an excluded photo, Daili removes the unavailable photo reference while preserving the expense.

Android schedules Auto Backup asynchronously, only while its device and account requirements are met, and limits each app's cloud backup to 25 MB. A backup may be older than your newest changes, unavailable, or unable to complete, so this feature is not an immediate or unconditional backup guarantee. Turning the feature off stops Daili from contributing financial data to future backups. Leaving backup off without ever enabling it emits no Daili backup data. If you previously enabled backup and then turn it off, Daili retains only a small off/reset marker so a later completed Android backup can replace an older ledger snapshot; an older snapshot may remain until that pass completes or you remove it through Android or Google backup settings.

Optional model downloads

Receipt scanning and voice entry use machine-learning models that run on your device. When you turn either feature on, Daili downloads the required model files over HTTPS from Daili's GitHub Releases. If a file cannot be fetched from GitHub, Daili retries it from a public, read-only Amazon S3 bucket the developer maintains as a mirror. That bucket serves the same model files and does not accept uploads from the app. No budget records, expense details, photos, receipt text, or microphone audio are included in requests to either host.

Receipt scanning reads text with one of four recognition models: one for languages written in Latin letters, one for Japanese, one for Chinese, and one for Korean. Daili chooses the file on your device from its language, region, and time zone settings. Those settings are not sent to either host; the host can see only which file was requested. After an app update, if receipt scanning is on, Daili may download an updated file, or the file that matches your device's settings, in the background. Earlier versions always download the Latin file.

As with any file download, the host serving the file may receive standard connection information, such as your IP address and user agent, in order to deliver it. GitHub handles that information under the GitHub General Privacy Statement. The S3 mirror is hosted by Amazon Web Services on the developer's behalf. Neither Daili nor the developer uses these requests to identify or track you.

Attribution and license terms for these optional files are available on the Model Licenses and Notices page.

Data collection and sharing

Daili does not automatically collect, sell, or share your personal data. It contains no advertising, analytics, or automatic crash-reporting service. User-created data is accessed and processed on your device, except for the optional Android backup transfer described above, which is controlled by Android and your Google account.

Optional browser search and support email

Currency conversion uses rates stored on your device or entered by you. If you choose Search in Browser, Daili opens a Google search for the two selected currency codes and an exchange rate for one unit. Your budget, expenses, and entered amounts are not included. Google handles the search under the Google Privacy Policy.

If you choose Report problem on a storage-error screen, Daili opens an email draft containing the storage phase and error code, without ledger contents. You can review, edit, or discard it. If you send it or otherwise email the developer, your email provider delivers your email address and the message you choose to send. Daili does not send support reports automatically.

Help & feedback in Settings opens an email draft containing only Daili's version, your Android version, and your language. If an unexpected error stops a screen, the recovery screen's Email the developer option opens a draft with the first line of the error message and the same version details. You can review, edit, or discard either draft before anything is sent.

Optional Play Store rating

Daili never displays an automatic review prompt. If you choose the Rate Daili link in Settings, Daili opens its Play Store review page. If you submit a rating or written review, Google Play—not Daili—handles that information under the Google Privacy Policy. No budget, expense, photo, receipt, or microphone data is included in the request.

Permissions

You can use Daili's core manual budgeting features without camera or microphone access.

Security

Daili keeps your records in Android's app-private storage and uses HTTPS for optional model downloads. If you enable cloud backup, Daili requires Android's client-side encryption capability and limits backup to an explicit file allowlist. Other apps cannot normally access Daili's private files unless the device's security has been compromised.

Retention and deletion

Budget and expense records remain on your device until you delete them or reset Daili. Turning off an AI feature removes that feature's downloaded model files. The in-app Reset app action removes your saved budget, expenses, recurring expenses, attached and cached photos, downloaded models, notification schedules, and settings. Reset also turns off Daili's backup gate before deleting the ledger and, if backup had been enabled, stores only the off/reset marker described above. An earlier snapshot may remain with Google until Android completes a later device backup or you remove it through the device's backup settings. Clearing Daili's storage in Android settings or uninstalling the app removes local files, but a previously enabled Android backup may restore included data on reinstall. You can remove stored device backups through Android or Google backup settings. The developer cannot recover any of this information because the developer never receives or controls the backup.

Daili does not create user accounts, so there is no separate account to delete.

Your choices and rights

Because your budget and expense records stay on your device, you can view, change, and delete them in Daili at any time, or remove everything with Reset app. The developer does not hold a copy to access, correct, or delete. If you email the developer, your message is used only to answer you, and you can ask for it to be deleted. If you believe your data protection rights have been infringed, you can contact the developer or complain to your local data protection authority.

Children

Daili does not knowingly collect personal information from children or anyone else. Parents and guardians should decide whether a budgeting app is appropriate for a child.

Changes to this policy

If a future version changes how data is handled, this page and its "Last updated" date will be revised before that version is released.

Contact

For privacy questions, email corbin.caldwell@gmail.com or open an issue at github.com/CorbinCald/daili.