privacy policy
Your dialogue stays on your phone.
Last updated · 1 May 2026
This policy describes how the Rehearsal iOS application ("Rehearsal", "the App", "we", "us") handles information about you. We have built Rehearsal so that the most sensitive content — the words you rehearse — never leaves your device. The rest of this document describes what does and doesn't move, and why.
1. What we don't collect
- The contents of your rehearsals. The dialogue you generate inside a take is not transmitted to any server we operate, and is not retained on disk after the take ends.
- Audio recordings. When you use Voice Mode, audio is processed on-device using Apple's Speech framework with on-device recognition required. If your device does not support on-device recognition, Voice Mode is disabled rather than routed to Apple's cloud — so the audio waveform is never uploaded under any circumstance.
- Account details. Rehearsal does not require you to create an account, give us your email, your name, or your phone number.
- Analytics about your behaviour. We do not run third-party analytics, advertising, or attribution SDKs in the App.
- Tracking identifiers. We do not access the IDFA. We do not present an App Tracking Transparency prompt because we do not track.
2. What is stored on your device
- Library metadata. When a take ends, we save which scenario you ran, the count of takes for that scenario, the chosen reaction traits, and the optional reflection note you typed. We do not save the dialogue itself.
- Preferences. Onboarding completion flag, your free-take counter for the current month, and any settings you've toggled.
- Encryption key. A 256-bit symmetric key is generated on first launch, stored in the iOS Keychain with
kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly, and used to AES-GCM encrypt the library file at rest.
All on-device files are written under Application Support/Rehearsal/ with iOS file protection enabled, are excluded from iCloud backup, and are erased when you delete the App or tap "clear all takes" in Settings.
3. What touches Apple's servers (not ours)
- In-app purchases. Subscription and one-time purchase processing is handled entirely by Apple's StoreKit. We receive a verified receipt from Apple stating which products you own. We do not see your Apple ID, payment method, or billing address.
- App Intents / Siri. If you use the Siri shortcut "Hey Siri, rehearse my breakup", that voice query goes to Apple's voice services per Apple's privacy terms, not ours. The result lands back in the App as a parameter; nothing about the query is sent to us.
4. The dialogue engine is local
The "other person" in a take is generated by an algorithm that runs entirely on your phone. There is no LLM API call, no proxy server, and no telemetry of what was said. The algorithm uses a template library, an emotional state machine, and a per-take random seed. No part of the conversation is logged anywhere outside RAM during the take, and nothing is written to disk after the take ends.
5. Permissions we request
- Microphone — only when you enter Voice Mode. Used to capture audio for on-device transcription. Released the moment you stop holding the talk button.
- Speech Recognition — used together with the microphone. Configured to require on-device recognition where the device supports it.
You can revoke either permission at any time in iOS Settings → Rehearsal. The App will continue to work in text mode without microphone or speech access.
6. Children
Rehearsal is rated 17+ on the App Store and is not directed to children under 13. We do not knowingly collect personal information from children. If you believe a child has used the App, contact us and we will assist.
7. Your rights
Because we don't hold your data on a server, most "data subject" rights resolve on-device:
- Access: open the Library tab — that's everything we have on you.
- Deletion: Settings → "clear all takes", or simply delete the App. Both wipe everything.
- Portability: the optional reflection note can be copied out manually. We do not export the dialogue because we do not retain it.
If you are a resident of the EU/EEA, UK, California, or another jurisdiction with privacy law, the same rights apply: the data we have about you is the data on your phone, which you control directly.
8. Crisis disclosure
If, during a rehearsal, you express that you are in immediate crisis — including self-harm, suicidal ideation, or danger to yourself or others — the on-device dialogue engine will break character once and tell you that the App is not a real person and to contact a local emergency line or a trusted human. The App is not a substitute for professional help.
9. Changes to this policy
If we materially change this policy we will update the "Last updated" date and, where appropriate, present a notice inside the App on next launch. Continued use of the App after a change constitutes acceptance of the updated policy.
10. Contact
Questions, deletion requests, or App Store review correspondence:
jasperabundant@gmail.com