Privacy Policy
MoodCap: Vibe Camera & Diary · Last updated 21 October 2026
MoodCap keeps as much as it can on your device. Two things leave it, and only when you choose cloud captions: the photo you picked, sent once (with the profile you chose for it) to write its caption and never stored; and an anonymous device code that keeps count of your free and purchased captions and whether MoodCap Plus is active. Nothing is linked to your identity, and nothing is used for advertising or tracking.
Two ways to write a caption
On-device. On iPhones that support Apple Intelligence, captions can be written entirely on the phone. In that mode nothing is transmitted at all.
Cloud. Cloud captions are off until you allow them in the app. When you do, each photo you choose is sent securely to our server, which passes it to Anthropic’s Claude API to write the caption and returns the result. Neither our server nor Anthropic stores the photo: our server holds it only in memory for the duration of that one request, and Anthropic may retain API inputs briefly for abuse prevention under its privacy policy and does not use them to train models. Our server runs on Cloudflare’s infrastructure, which relays the request under its privacy policy. Finished cards are saved only where you choose (your photo library or the share sheet).
Profiles
A profile is the name, up to three traits and the short note you enter for yourself, a pet or the two of you. Profiles are stored on your device. When you make a cloud caption, the one profile that fits the photo (and the tone you picked) is sent to our server together with the photo, only to write the line. Like the photo, it is held in memory for that one request and is not stored on the server. With on-device captions, nothing is sent.
The device code and your caption balance
To count free captions and credit purchases without an account, the app generates a random code and stores it in the device keychain. Our server keeps, against that code only, how many captions you have used today, how many credits you hold, the Apple transaction identifiers of packs you have bought (so a purchase is credited exactly once) and, if you subscribe to MoodCap Plus, the date your subscription expires. The code is not your name, email, Apple ID, advertising identifier or any hardware serial, and we have no way to connect it to you. No photo is ever stored with it.
Purchases and MoodCap Plus
The 30-caption pack and the MoodCap Plus subscription are sold through Apple’s in-app purchase system. Apple processes every purchase and subscription, including free trials, renewals and cancellations; we never see your payment details. The signed receipt Apple issues is sent to our server, either to add a pack’s credits to your balance or to confirm your Plus status. For Plus, our server stores only the subscription’s expiry date, against the anonymous device code described above. You manage or cancel the subscription in your App Store account settings.
What stays on your device
Preferences, your cloud-caption choice, your profiles and the last balance shown live in the app’s own private storage and are removed when you delete the app.
Widget. So the Home Screen widget can show today’s card, the app writes a small snapshot of it (a thumbnail, the line and the week’s colours) to the app’s shared container on your device. The widget reads it from there; nothing is uploaded.
Reminders. The daily reminder and the monthly recap note are local notifications scheduled on your device. No server is involved, and they stay off until you turn them on.
The device code in the keychain can survive reinstalling, which is what lets your purchased credits survive too.
Usage statistics
The app sends us anonymous usage statistics so we can see where people stop between opening the app and sharing a card, notice when purchases fail, and run small product experiments (for example, which caption model a new user is served first). What is sent is a list of event names — app opened, photo taken, caption written, card saved, share completed, paywall shown, purchase outcome — with a few small details such as the mode, the card style, an error code or a product price. Never a photo, a caption, journal text, a profile name or a note.
The events are tied to the same random device code described above, together with the app build number, your device’s time zone, your preferred language and, from version 1.2.1, whether the build came from the App Store or TestFlight. They go to our own server (the one that writes captions), are kept there for 90 days and are then deleted. We use no third-party analytics SDK, no advertising network and no crash-reporting service.
From version 1.2.1 you can switch this off at any time in Settings → Send usage statistics; the app then stops sending and deletes anything still queued on the device. Versions before 1.2.1 have no switch.
What the app does not do
- No accounts, sign-in or registration
- No third-party analytics, no telemetry SDKs and no crash reporting — only the first-party usage statistics described above, which you can turn off
- No advertising and no advertising identifiers
- No tracking, and no photo storage — captioning is the only time a photo is transmitted
Children
MoodCap has no accounts and no way to know who its users are; photos are processed anonymously and never stored.
Changes
If a future version collects anything more, this policy will be updated before that version is released.
Contact
Questions: richohios@gmail.com