Plain English Summary: SpeakMate processes your voice and text through secure AI APIs to coach your English. We do not sell your data. We do not permanently store your conversations on our servers. Your conversation history, scores, and progress stay on your device. AI voice is generated via Google Cloud Text-to-Speech.
๐ 1. Information We Collect
We collect only the information required to deliver SpeakMate's coaching and role-play features. Here is a complete breakdown:
| Data Type | What It Is | Storage |
| Voice Input |
Audio recorded when you tap the microphone. Converted to text on-device via Android's Speech Recognition API. Raw audio is never transmitted to our servers. |
On-Device Only |
| Conversation Text |
Your typed or transcribed messages and AI responses, stored locally in an encrypted Room database on your device. |
On-Device Only |
| AI Feedback & Scores |
Grammar, Vocabulary, Fluency, Spelling, and Pronunciation scores generated per message and stored locally for progress tracking. |
On-Device Only |
| Session Records |
Metadata per practice session: date, duration, topic or mission title, and aggregate scores. Viewable in the Sessions and Progress screens. |
On-Device Only |
| Role-Play Mission Data |
Which missions you have completed and your XP earned. Stored locally. Completion status is used to unlock subsequent missions. |
On-Device Only |
| User Preferences |
Settings such as your selected AI avatar/voice, notification preferences, and default topic. Stored locally via Android DataStore. |
On-Device Only |
| Conversation Context (OpenAI API) |
A trimmed window of your recent messages (first message + last 2 turns) and the AI coach's system prompt are sent to OpenAI's API to generate contextual responses. This is transient โ we do not maintain a permanent server-side copy. |
Sent to OpenAI API |
| TTS Audio โ Google Cloud |
The AI coach's reply text is sent to Google Cloud Text-to-Speech to generate natural-sounding speech. The resulting audio is streamed back and cached locally on your device for instant replay. It is not stored on our servers. |
Google TTS โ Local Cache |
| Crash Reports |
Anonymous technical crash logs (stack traces, device model, OS version) sent to Firebase Crashlytics to help us fix bugs. No conversation content is included. |
Firebase (Anon.) |
| Analytics Events |
Anonymous usage events (e.g., "session started", "mission selected", "topic changed") sent to Firebase Analytics. No personally identifiable information. |
Firebase (Anon.) |
| XP, Achievements & Streak |
Gamification data including experience points, level, badges earned, and daily streak count. Stored locally only. |
On-Device Only |
SpeakMate is currently free. There are no in-app purchases, subscriptions, or premium tiers in this version. We do not collect any payment information.
We do NOT collect: your real name, email address, phone number, location data, contacts, photos, payment details, biometric data, or any personally identifiable information beyond what is described above.
๐ฏ 2. How We Use Your Information
Your data is used exclusively to power the SpeakMate experience:
- Real-Time AI Coaching: Your conversation messages are sent to OpenAI (model: gpt-4o-mini) to generate grammar corrections, vocabulary suggestions, fluency tips, pronunciation notes, and scores in real time.
- Role-Play Missions: For mission scenarios (e.g., Job Interview, Restaurant Complaint), your messages are sent to OpenAI with a custom role-play system prompt so the AI stays in character as the specified scenario partner (hiring manager, waiter, doctor, etc.).
- Progress Tracking: Scores and session records stored on-device power your personal Progress dashboard, skill bars, and weekly streak calendar.
- AI Voice Responses: The AI coach's text reply is sent to Google Cloud Text-to-Speech to synthesise natural-sounding speech. The audio is cached locally for instant replay.
- Daily & Mission Reminders: If you enable reminders, we use Android WorkManager to schedule local device notifications โ no data leaves your device for this feature. A separate Mission Reminder notification highlights suggested role-play scenarios.
- Crash & Stability Improvements: Anonymous crash reports help us identify and fix technical issues.
- Usage Analytics: Anonymous event counts help us understand which features and topics are most used so we can improve the app.
We do not use your data for advertising, profiling, or any purpose beyond what is listed above.
๐ 3. App Permissions
SpeakMate requests the following Android permissions. Each is strictly necessary:
- ๐ค RECORD_AUDIO โ Required for voice-to-text input. You tap the microphone button to start recording. Audio is processed on-device by Android's Speech Recognizer โ raw audio is never uploaded to our servers.
- ๐ INTERNET โ Required to communicate with the OpenAI coaching API, Google Cloud TTS voice API, and Firebase services for crash reporting and analytics.
- ๐ก ACCESS_NETWORK_STATE โ Allows the app to check connectivity before API calls, so we can display a helpful "No internet connection" error instead of a generic failure.
- ๐ POST_NOTIFICATIONS โ Required on Android 13+ to send daily practice reminders and mission reminders. You explicitly opt in via the Settings screen. Notifications can be disabled at any time from your device settings.
- ๐ณ VIBRATE โ Used for haptic feedback when the microphone starts recording, providing clear tactile confirmation that listening has begun.
- ๐ RECEIVE_BOOT_COMPLETED โ Required to reschedule your daily and mission reminder notifications after your device restarts. Without this, reminders would not survive a reboot.
AD_ID Permission: The Google Advertising ID permission is explicitly removed in our app manifest (tools:node="remove"). SpeakMate does not use advertising identifiers and does not serve ads.
๐ 4. Third-Party Services
SpeakMate integrates with the following third-party services. Each processes data under their own privacy policies:
OpenAI API (gpt-4o-mini)
Powers all AI conversation, real-time grammar/vocabulary/fluency feedback, post-session reviews, and role-play mission scenarios. A trimmed window of your conversation (first message + last 2 turns) is transmitted per request. No audio is ever sent to OpenAI.
openai.com/privacy โ
Google Cloud Text-to-Speech
The AI coach's text reply is sent to Google Cloud TTS (Chirp3-HD voices) to generate natural-sounding speech, which is cached locally on your device. No conversation history is sent โ only the reply text.
Google Cloud Privacy โ
Android Speech Recognition
On-device or Google-powered voice-to-text conversion when you use the microphone. We only receive the resulting text transcript; raw audio stays on-device.
Google Privacy โ
Firebase Crashlytics
Anonymous crash reporting. Collects stack traces, device model, Android version. No conversation content or personal data is included. Disabled in debug builds.
Firebase Privacy โ
Firebase Analytics
Anonymous event tracking (feature usage, session counts, topic/mission selections). No personally identifiable information is collected. Used only to improve the app experience.
Firebase Privacy โ
Firebase Performance
Monitors app responsiveness and network request latency anonymously. Helps us detect and resolve performance bottlenecks. Controlled by the same toggle as Crashlytics.
Firebase Privacy โ
Data transfers: OpenAI and Firebase are based in the United States. Google Cloud TTS uses regional endpoints. When your data is processed by these services, it may be transferred internationally. All transfers are governed by the respective provider's data processing agreements and applicable data protection law.
๐พ 5. Data Storage & Retention
On-Device Storage: Your conversation history, session records, progress scores, mission completion status, XP, achievements, streak data, and user preferences are stored in an encrypted SQLite database (Room) and Android DataStore on your device. This data is not synced to any cloud service operated by us.
Audio Cache: TTS-generated audio files (WAV) from Google Cloud TTS are cached on your device's internal storage in a dedicated cache directory. These files can be cleared at any time via Settings โ Clear Voice Cache or via your device's standard app storage management.
Retention Period: On-device data is retained until you:
- Use the "Reset Progress" option in Settings (clears all XP, sessions, streaks, mission progress, and scores).
- Uninstall the SpeakMate app from your device.
- Clear the app's data via Android's App Info settings.
OpenAI API (Transient): Conversation messages sent to OpenAI are used to generate responses and are subject to OpenAI's own data retention and usage policies. We do not store copies of these transmissions on our own servers.
Firebase Data: Anonymous crash and analytics data is retained by Google Firebase for up to 90 days in accordance with Firebase's default retention settings.
No Server-Side User Database: SpeakMate does not operate a user account system. There is no server-side database containing your profile, conversation history, or personal information maintained by us.
๐ก๏ธ 6. Security
We implement the following security measures to protect your information:
- Encrypted Local Storage: All on-device data is stored in an encrypted Room database protected by Android's built-in encryption.
- HTTPS Only: All network communications use TLS/HTTPS encryption. Cleartext traffic is explicitly disabled (
android:usesCleartextTraffic="false") in the app manifest.
- API Key Security: Third-party API keys (OpenAI, Google Cloud TTS) are injected at build time via BuildConfig and obfuscated via ProGuard/R8 code shrinking in release builds.
- No Ad Tracking: The Google Advertising ID permission is explicitly removed from the manifest. SpeakMate does not collect or transmit advertising identifiers.
- Signed APK: The app is signed with v1, v2, and v3 APK signing schemes to ensure integrity and prevent tampering.
- Minimal Data Collection: We follow the principle of data minimisation โ collecting only what is strictly necessary for core features.
- Local Audio Cache Isolation: TTS audio files are cached in the app's private internal cache directory, inaccessible to other apps.
While we take reasonable precautions, no method of transmission over the internet or electronic storage is 100% secure. We encourage you to keep your device updated and secured with a screen lock.
๐ถ 7. Children's Privacy
SpeakMate is designed for users aged 13 years and older. We do not knowingly collect personal information from children under 13.
If you are a parent or guardian and believe your child under 13 has used the app, please contact us immediately using the details in Section 11. We will take prompt steps to delete any information that may have been collected.
Users between 13โ17 should have a parent or guardian review this Privacy Policy before use.
โ๏ธ 8. Your Rights
You have meaningful control over your data within SpeakMate:
- Access: All your data (sessions, scores, history, missions) is visible directly inside the app in the Sessions, Progress, and Missions screens.
- Deletion: Use Settings โ Reset Progress to delete all locally stored data at any time. Uninstalling the app removes all remaining local data including cached audio.
- Correction: Session transcripts and feedback are read-only records of AI interactions and cannot be individually edited, but you can delete all sessions via the Reset function.
- Opt-Out of Analytics: You can disable Firebase Analytics data collection via Google's device-level settings or by disabling personalised ads in your Google account.
- Notification Control: Disable daily practice reminders and mission reminders at any time via Settings โ Notifications or your device's notification settings.
- Microphone Access: You can revoke microphone permission at any time in Android Settings โ Apps โ SpeakMate โ Permissions. The app will still function in text-only mode.
- GDPR / CCPA: If you are located in the European Economic Area or California, you have additional rights including the right to data portability and the right to lodge a complaint with your local supervisory authority. Contact us to exercise these rights.
๐ฐ 9. Pricing & Future Changes
SpeakMate is currently free to download and use. There are no in-app purchases, subscriptions, or hidden charges in this version of the app.
Important Notice: Features and pricing are subject to change in future versions. A future update may introduce paid features, subscriptions, or a premium tier. Continued use of an updated version will be subject to the pricing model in effect at that time.
- SpeakMate being free is a feature of the current version only and does not constitute a permanent commitment to provide the service free of charge.
- Future versions may require payment to access some or all features.
- If a paid version is released, you will be notified via an in-app notice and/or a Play Store update description before any charges apply.
- You are never automatically charged โ any payment requires your explicit action through Google Play.
- Choosing not to update to a paid version means you may lose access to new features, but your existing locally stored data remains on your device.
- We will always be transparent about any pricing changes before they take effect.
๐ 10. Changes to This Policy
We may update this Privacy Policy from time to time to reflect changes in our practices, app features, or legal requirements. When we make significant changes, we will:
- Update the "Last Updated" date at the top of this page.
- Display an in-app notice the next time you open SpeakMate after a material change.
Your continued use of SpeakMate after any changes constitutes your acceptance of the revised policy. We encourage you to review this page periodically.
โ๏ธ 11. Contact Us
If you have questions, concerns, or requests regarding this Privacy Policy or how we handle your data, please reach out: