This Privacy Policy describes how Felix Thron ("we", "us", or "our") collects, uses, and protects your information when you use the SpeechPacer mobile application ("App").
1. Information We Collect
1.1 No Account, No Personal Profile
No account is required, and SpeechPacer never asks for your name, email address, phone number, or other personal details. The App requests Apple's AppTransaction (a StoreKit receipt for the app itself) and caches the resulting identifier only on your device. It is never transmitted to us or any third party, and is not used for analytics or to identify you.
1.2 Speech and Audio Data
When you start a coaching session:
- The microphone captures your speech for real-time pace analysis
- All speech processing happens entirely on your device using Apple's SpeechAnalyzer framework (iOS 26+). Apple's SFSpeechRecognizer is used only to request speech-recognition permission, not to transcribe
- Audio is never sent to any server - not ours, not third parties
- If you enable the recording feature in Settings, audio is saved as an AAC file on your device. You can disable recording at any time, and recordings are deleted when you delete the associated session
1.3 Session Data
During and after each coaching session, the App calculates and stores:
- Speaking pace (words per minute) sampled every 3 seconds
- Zone classifications (good, caution, warning) based on your target pace
- Session statistics (duration, average WPM, pause frequency, alert count, session score)
- Transcribed word timing data for session playback
All session data is stored locally on your device via Apple's SwiftData framework. No session data leaves your device.
1.4 User Settings
The App stores your preferences locally:
- Target speaking pace and zone thresholds
- Speech recognition language
- Alert preferences (visual, sound, haptic, Watch haptic)
- Recording toggle
- Analytics consent (opt-in) and crash-report toggle (on by default, switch off any time)
- Notification preferences
Settings are shared between the iPhone app, Apple Watch app, and widgets via Apple's App Groups secure container on your device.
1.5 Apple Watch Data
If you use SpeechPacer with an Apple Watch:
- Live session metrics (WPM, zone, alerts) are sent to your Watch via Apple's WatchConnectivity framework over local wireless (Bluetooth/Wi-Fi)
- Settings are synced to the Watch via the shared App Groups container
- No data is transmitted over the internet during Watch communication
1.6 Coach's Note Generation
SpeechPacer uses Apple's on-device Foundation Models to generate a personalized coach note after each session. The note is created entirely on your device - your session data never leaves your iPhone for AI generation. The generated note is stored locally with your session and is never transmitted to our servers or any third party. You can disable this feature in Settings -> Coach.
2. How We Use Your Information
We use collected information to:
- Provide real-time speaking pace coaching
- Display session history and progress trends
- Send local notifications (weekly summaries, zone alerts)
- Deliver haptic alerts to your paired Apple Watch
- Display session data in widgets and Live Activities
- Understand aggregate, anonymous usage and detect and fix crashes (see section 3)
3. Analytics and Crash Reporting
SpeechPacer uses Google Firebase Analytics and Firebase Crashlytics to understand aggregate, anonymous usage and to detect and fix crashes. We run them in a privacy-hardened configuration:
- No advertising identifier (IDFA) is collected; the AdSupport framework is not linked
- No vendor identifier (IDFV) is collected
- No App Tracking Transparency prompt is shown, and no cross-app or cross-site tracking takes place
- No user identifier is set. All user properties are bucketed ranges (for example a target-WPM band or a session-count bracket), never values that identify you
- Your audio, transcripts, and session content are never sent to Firebase
The data Firebase collects falls into four categories, all declared in our App Store privacy label as "Not Linked to You" and "Not Used to Track You":
- Device ID - a per-install Firebase identifier
- Crash Data - diagnostic logs when the app crashes
- Performance Data - app responsiveness and launch metrics
- Product Interaction - which screens and features are used
Legal basis: analytics and crash reporting have different legal bases and different defaults.
- Firebase Analytics (feature usage) - consent, opt-in: processing happens only after your consent under 25(1) TDDDG together with Art. 6(1)(a) GDPR. Analytics is off by default and becomes active only after you explicitly opt in - during onboarding or later in Settings. You can withdraw your consent at any time.
- Firebase Crashlytics (crash reports) - legitimate interest, on by default: this processing is strictly necessary for the stability of the service under 25(2) TDDDG and relies on our legitimate interest in detecting and fixing defects under Art. 6(1)(f) GDPR. Crash reports are on by default; you can disable them in Settings. This change takes effect on next launch.
How to withdraw consent: to withdraw or re-grant your consent to analytics, open the App and go to Settings -> Account -> Analytics. To turn off crash reports, go to Settings -> Account -> Crash reports. Switching either off stops further collection of the corresponding data on your device.
Recipient and international transfer: the processor is Google (Firebase). Data may be processed in the United States. This transfer is covered by the EU-US Data Privacy Framework, under which Google LLC is certified (a European Commission adequacy decision under Art. 45 GDPR); EU Standard Contractual Clauses (Art. 46 GDPR) apply as a fallback safeguard.
3.1 Apple System Services
Beyond Firebase, the App relies only on Apple's on-device system services:
- Apple Speech Recognition - on-device SpeechAnalyzer (iOS 26+) for speech-to-text. On first use, Apple may download a language model for your selected language. All subsequent speech processing occurs entirely on your device
- Apple StoreKit - used to obtain the AppTransaction receipt described in section 1.1. This is a standard Apple API call that does not transmit personal data to us
- Apple Notification Services - local notifications are scheduled and delivered by iOS on your device. No push notification server is involved
4. Data Storage and Security
- Your session data, settings, and recordings are stored locally on your device using Apple's SwiftData framework and the App Groups secure container; audio recordings are saved as AAC files in the app's private Documents directory
- This on-device data is never uploaded to us or any cloud service
- The only data that leaves your device is the bucketed, non-identifying analytics and crash diagnostics described in section 3
- Your data benefits from the device-level encryption provided by iOS, and analytics in transit to Firebase is protected by TLS
5. Data Retention and Deletion
- Sessions: Stored indefinitely until you delete them. Swipe to delete any session in the History view - this permanently removes the session record, all associated data points, and any audio recording
- Settings: Persist for the lifetime of the app installation. Reset by deleting and reinstalling the app
- App Transaction ID: Cached locally. Cleared when the app is uninstalled
- Analytics and crash data: retained by Google/Firebase under their default retention (analytics event data up to 14 months; crash reports up to 90 days). Switching Analytics off in Settings stops new collection
- Complete data removal: Uninstalling SpeechPacer from your device removes all on-device app data, including the shared App Groups container
6. Children's Privacy
SpeechPacer does not knowingly collect data from children under 13. The App does not require or collect any personal information regardless of age.
7. Your Rights
Under the GDPR (European Economic Area)
You have the right to:
- Access (Art. 15) - your session data and settings are visible within the App at any time
- Rectification (Art. 16) and Erasure (Art. 17) - delete any session via the History view, or uninstall the App to remove all local data
- Restriction (Art. 18) - disable recording, notifications, analytics, and Watch features independently via Settings
- Portability (Art. 20) - session data export is not currently offered; all data remains on your device
- Withdrawal of consent (Art. 7(3)) - analytics is processed only on the basis of your consent; withdraw it at any time in Settings -> Account -> Analytics, without affecting the lawfulness of processing carried out before withdrawal
- Objection (Art. 21) - object to the crash-report processing carried out under our legitimate interest by switching Crash reports off in Settings -> Account -> Crash reports
Because SpeechPacer keeps your session data on your device and shares only the bucketed, non-identifying analytics described in section 3, most data-subject requests are fulfilled directly by the App's built-in controls.
Right to lodge a complaint (Art. 77 GDPR): you may contact the supervisory authority responsible for us:
Berliner Beauftragte für Datenschutz und Informationsfreiheit
Alt-Moabit 59-61, 10555 Berlin, Germany
mailbox@datenschutz-berlin.de
Under the CCPA (California)
SpeechPacer does not sell or share personal information. The bucketed analytics described in section 3 are not used to identify you.
8. Changes to This Privacy Policy
We may update this Privacy Policy from time to time. Changes will be reflected in the "Last updated" date shown at the top of this page. Continued use of the App after changes constitutes acceptance of the updated policy.
9. Contact
If you have questions about this Privacy Policy, contact us at:
Felix Thron
Email: felix@speechpacer.com