Privacy Policy

Effective: 2026-04-28 Last updated: 2026-04-28 Last reviewed: 2026-05-14

This is the privacy policy for toody, a mood journal 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:

For the optional auto-renewing subscription, the lawful basis is performing the subscription contract (Art. 6(1)(b)) for billing and entitlement, and legitimate interest (Art. 6(1)(f)) for fraud prevention and receipt validation through our processor RevenueCat. You can object to legitimate-interest processing under Art. 21 by not subscribing or by cancelling an active subscription.

HealthKit data is special-category personal data under GDPR Art. 9. We treat it accordingly: raw Apple Health samples are read only with your explicit consent, only on-device, only at the moment a chart is rendered, and the samples themselves are never persisted, exported, or shared. The one carve-out: if you are a Pro subscriber and generate a PDF insights report (Settings → Export insights report) for a range where you have granted HealthKit access, the PDF embeds a small derived summary — sleep: median nightly hours + nights observed + the rested-vs-tired mood delta; cycle: per-phase average mood + entry counts. No raw samples and no timestamps leave the device. The PDF is saved only where you send it via the iOS Share Sheet — AirDrop, Mail, Files, etc. — and toody never sees it. If you do not want any HealthKit summary in your export, turn off the Sleep ↔ Mood and Cycle ↔ Mood cards in Settings (Insights cards) before generating the PDF; the report mirrors those toggles exactly.

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 offers an optional auto-renewing subscription that unlocks premium insights and features. The free tier of toody works without it. Billing runs entirely through Apple's StoreKit under your existing App Store account; we do not see your payment-card data, your billing address, or your Apple ID email.

To resolve subscription state across your devices and to validate receipts, toody uses RevenueCat, Inc. (USA) as a GDPR Art. 28 processor under a Data Processing Addendum. RevenueCat receives:

RevenueCat does not receive your mood entries, notes, photos, reflections, HealthKit values, or anything else from inside the app. We do not pass your name, email address, or precise location to RevenueCat. Their processing terms and security documentation are at https://www.revenuecat.com/privacy and https://www.revenuecat.com/dpa/ .

You can cancel the subscription at any time in iOS Settings → [your name] → Subscriptions → toody. Cancellation takes effect at the end of the current billing period; access to premium features ends then. Refunds are handled by Apple at https://reportaproblem.apple.com/ .

If you are an EU/EEA consumer, you have a 14-day right of withdrawal on a new subscription under the EU Consumer Rights Directive, exercised through Apple's refund flow at the link above. By starting use of premium features immediately on subscribing, you consent to performance beginning before the 14-day period ends; this may limit the refund in line with Apple's policy and applicable consumer law.

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

Three processors handle limited slices of data on our behalf:

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.