toody

Privacy Policy

Effective: 2026-04-27 Last updated: 2026-04-27 Last reviewed: 2026-04-27

This is the privacy policy for toody, a mood tracker for iOS made by Lennard Behrends ("we" / "us"). toody is built around a simple promise: your mood data stays yours.

For the standardized Apple disclosure format, see the Privacy section of toody's App Store listing — it summarises the same information in Apple's "privacy nutrition label" format.

the short version

The rest of this page is the long version, written so you can verify the short version is accurate.

who is responsible (controller)

For the purposes of the EU General Data Protection Regulation (GDPR), the data controller for toody is:

Lennard Behrends Etzhorner Weg 25 26125 Oldenburg Germany

Contact: support@toody.day

A formal legal notice (Impressum) under §5 DDG is also published at /impressum.

what toody stores

When you use toody, the following is stored on your device in Apple's SwiftData store inside the app's sandbox, and — when iCloud sync is on — synced to your private CloudKit database in your iCloud account:

Photos you attach to a mood are stored as files in toody's sandbox via SwiftData's external-storage attribute. When iCloud sync is on, those photos are uploaded to your private CloudKit database as CKAssets. toody does not upload them anywhere else.

What toody does NOT store on its own servers: nothing. We do not operate a backend that receives your entries, your photos, your reflections, or any derived analytics. There is no toody account.

lawful basis for processing (GDPR)

For users in the EU/EEA/UK, the lawful bases under GDPR Article 6 are:

v1.0 does not rely on legitimate interest (Art. 6(1)(f)) for any processing, because it ships with no subscription pipeline. When a paid subscription is added in a future version, the additional lawful basis for receipt-validation processing will be added here.

HealthKit data is special-category personal data under GDPR Art. 9. We treat it accordingly: it is read only with your explicit consent, only on-device, only at the moment a chart is rendered, and is not persisted, exported, or shared.

iCloud sync

toody uses Apple's CloudKit to keep your data in sync across devices signed into the same iCloud account.

HealthKit data is never written to iCloud by toody. Sleep, sleep stages, menstrual cycle samples, and cycle-irregularity signals stay where Apple keeps them — on your device, in Apple Health, under Apple's own protections. The values toody reads from HealthKit are held in memory only long enough to draw the charts you are looking at, and are then discarded. They are never persisted to local storage and never uploaded to CloudKit.

What is synced to your private CloudKit database is your own authored content (moods, notes, photos, reflections, digests you've already seen), not the underlying Apple Health samples.

HealthKit

If you open the Sleep ↔ Mood card or the Cycle ↔ Mood card in Insights, toody asks for permission to read the following from Apple Health:

toody does not write to Apple Health. toody does not transmit Health data anywhere. The reads happen on-device, only when you open a card that needs them, and the values are used to draw charts and surface correlations during that view session.

You can revoke access any time in iOS Settings → Privacy & Security → Health → toody. Revoking access does not affect any other part of the app.

photos

If you attach a photo to a mood entry, toody asks Apple's PHPicker to present a photo chooser. PHPicker is the modern iOS picker that shows your library inside Apple's own UI; toody only ever receives the specific photos you tap to select, not access to your wider library. The selected photo is copied into toody's local storage and, when iCloud sync is on, synced to your private CloudKit database as a CKAsset so the same photo appears on your other signed-in devices. toody does not upload the photo anywhere else.

You can review and adjust toody's photo permission any time in iOS Settings → Privacy & Security → Photos → toody.

notifications

toody can send local reminders (for example, an end-of-day "reflect" nudge) if you grant notification permission. Reminders are scheduled on your device by iOS. We do not send push notifications from a server.

You can disable reminders any time in iOS Settings → Notifications → toody.

subscriptions

toody v1.0 ships with all features free. There is no in-app subscription, no in-app purchase, no payment processing, and no third-party receipt-validation processor in this version of the app. No purchase identifier, App Account Token, or receipt is generated or transmitted while running v1.0.

When a paid subscription is added in a future version, this section will be materially updated to describe:

That update will count as a material change under the "changes" section below: a notice will surface inside the app on next launch and the effective date at the top of this page will be refreshed.

diagnostics & telemetry

toody keeps a small number of local-only counters in iOS UserDefaults to help the app behave well — for example, "how many times has the weekly digest been shown" or "did the user interact with this card." The counters store integers and timestamps only. They never leave your device. There is no analytics SDK, no event payload, no user ID.

If iOS shares anonymized crash logs with developers (the system-level opt-in in Settings → Privacy & Security → Analytics & Improvements → Share with App Developers), Apple may pass aggregated, anonymized crash reports through their pipeline. This is an Apple system feature, not something toody implements.

processors and international transfers

Two processors handle limited slices of data on our behalf in v1.0:

When a paid subscription is added in a future version, a third processor (the receipt-validation provider) will be added here, and this list and the "subscriptions" section above will be updated together.

For data leaving the EU/EEA, transfers rely on the EU–US Data Privacy Framework where applicable, plus EU Standard Contractual Clauses, plus the providers' supplementary technical and organisational measures.

what we do not do

children

toody is not directed at children. Under GDPR Article 8, the default age for valid consent in the EU is 16; in member states that have lowered this (e.g., Germany at 16, others as low as 13), the local age applies. We do not knowingly collect data from children below the applicable age without verifiable parental consent. In the United States, toody is not directed at children under 13 (COPPA). If you believe a child has used toody and you are a parent or guardian, email support@toody.day and we will help.

retention

your rights

Because your data lives on your device and in your own iCloud account, you control most of it directly. Under GDPR you also have the following rights with respect to any data we process about you:

If you have a specific request — for example, a copy of any correspondence we might hold from a previous support thread — email support@toody.day.

changes

If we update this policy, we will revise the "Last updated" date at the top. For material changes (changes that meaningfully expand what we process, who we share it with, or how long we keep it), we will surface a notice inside the app on next launch and refresh the effective date. Continuing to use the app after the new effective date means you accept the updated policy; if you don't, you can delete the app and, optionally, wipe the iCloud copy as described above.

contact

Questions, requests, or concerns: support@toody.day.

For the legal notice (Impressum) required under §5 DDG, see /impressum.