Shut Up ("the app") is a private, opt-in conversation meter. It is built to collect as little data as possible and to keep that data on your device. This policy explains what the app processes, what stays local, and the one optional feature that can send information off the device.
If you do not enable optional sync, no personal data leaves your iPhone or Apple Watch, and the developer receives nothing about you.
Who is responsible
The app is published by Praesto Logica LLC ("we", "us"), the data controller for any processing described here.
Contact for privacy questions: [email protected]
Microphone audio and recognized speech
- The microphone is active only while a session you manually started is running. Sessions never start on their own.
- Audio exists in memory only. The app does not write audio to a file and creates no recording.
- Speech recognition runs on your device using Apple's Speech framework. Every request sets on-device recognition as required; if the device cannot recognize speech locally, the app stops rather than sending audio to a server.
- The app uses only the timing of recognized segments to increment counters. The recognized words themselves are discarded immediately. No transcript is stored, logged, analyzed remotely, or included in any analytics.
- The first time you use a language, iOS may need to fetch Apple's on-device speech-recognition model files before a session can start. That download is a request to Apple for its own model, not to us, and it carries no audio, transcript, or personal data.
Voice profile (enrollment and Room Check)
- Enrollment produces a compact 128-number mathematical voice embedding and acoustic calibration statistics, used only to tell your voice apart from others on this device. The embedding cannot be played back as speech.
- Room Check produces one anonymous "not you" reference embedding and compact numeric summaries of physical sound properties (such as relative microphone-channel direction, coherence, delay, level, harmonicity, and spectral shape). These contain no audio samples and cannot be played as sound.
- All of the above are stored in the iOS Keychain with device-only
protection (
AfterFirstUnlockThisDeviceOnly). They are never synced to iCloud or anywhere else, and can be replaced by re-enrolling or removed by deleting the app's data.
Session records stored on your device
The app stores numeric session summaries only, on the device, including: session timestamps, your/other/uncertain word counts, longest monologue, turn count, how many of those turns were yours, seconds of speech on your side and on theirs, how many distinct other voices were heard, interruptions started and received, filled silences, and average confidence. Everyone other than you is combined into a single anonymous "others" bucket — no one else is named, identified, or profiled.
The count of distinct other voices is a number between 0 and 4 and nothing else: it says a room held three other people, never who they were. It is derived from voice groupings the app forms in memory during a session and discards when the session ends, and it is stored because a share of the talking means opposite things across a table for two and a table for six.
Anonymous identifiers
The app generates a random install identifier and a per-session identifier (both random UUIDs). The install identifier is stored in the device-only Keychain. These are not your name, Apple ID, phone number, or advertising identifier, and are not used to track you across apps or websites. They are included only in the optional sync payload described below, so that a destination you control can group a session's numbers.
Optional sync (off by default)
- Sync is disabled by default. Nothing is sent unless you turn it on and configure a destination endpoint yourself.
- We do not operate a default server and do not receive your data. If you enable sync, data is sent to the endpoint you enter, over HTTPS.
- The complete payload is exactly the fields listed on the in-app "What leaves your phone" screen: the install and session identifiers, start/end timestamps, and the numeric counts above. No audio, no recognized text, and no voice embedding is ever included — those data types cannot even reach this code path.
- If a send fails, the payload waits in a numeric-only local queue on the device and is retried later. Turning sync off stops all future sends.
What we do NOT do
- We do not sell or rent your data.
- We do not show advertising or use any advertising identifier.
- We do not use third-party analytics, tracking, or crash-reporting SDKs.
- We do not track you across other apps or websites (no App Tracking Transparency prompt is required because no such tracking occurs).
Notifications and Apple Watch
The app uses Time Sensitive notifications (not Critical Alerts) and sends haptic taps and numeric balance figures to a paired Apple Watch. This communication stays between your iPhone and your own Watch and is not sent to us.
Data retention and your controls
- Numeric session records remain on the device until you delete them or remove the app. Deleting the app removes its local database.
- The device-only Keychain items (voice profile, references, install identifier) can be removed through the app's data controls or by deleting the app.
- You can turn optional sync off at any time in Settings to stop future sends; clearing the local queue removes any pending numeric payloads.
Children's privacy
Shut Up is rated 4+ and is a general-audience self-awareness tool. It is not directed to children, does not knowingly collect personal information from children, and includes no user accounts, social features, or user-generated content shared with others.
Changes to this policy
We may update this policy as the app changes. Material changes will be reflected by updating the "Last updated" date above and, where appropriate, noted in the app or its App Store listing. Continued use after an update constitutes acceptance of the revised policy.
Contact
Questions or requests about this policy or your data: [email protected]