Last updated: 31 July 2026
This policy explains what KPulse Speak collects, why, and who else touches it. It is written to be read, not to be skimmed past.
KPulse Speak is an independent app built and run by an individual developer. For anything in this policy, contact:
support@kpulse.app
@handle so your account can be shared. You did not choose it and it does not contain your email or real name.Your level, current lesson, lesson completions, XP, rank, Sparks, Pulse, daily streak, achievements, and a record of rewards earned.
Your display name, username, profile photo, and XP appear on leaderboards and on your public profile, and to anyone who follows you. Everything else — your email, your recordings, your conversations with Hani — is private to your account.
When you speak in a lesson, the recording is sent to our server, passed to Google's speech recognition service, converted to text, and used to check your answer.
The recording is not saved. It exists only for the few seconds the request takes, then it is discarded. We do not keep an archive of your voice.
When you talk with Hani, the conversation is not recorded and no transcript is stored. The audio and text exist only in memory during the call and are dropped when it ends.
Two things survive the call: 1. A usage record — how long you talked and when, so the app can show your history and apply weekly limits. 2. Up to a few short notes — at the end of a call, an AI summarises the chat into at most two brief facts (for example, "is learning Korean for a trip to Seoul") so Hani can remember you next time. These are stored as plain text on your account, capped in number, and older ones are automatically replaced.
When you photograph a subtitle, a chat screenshot, or a scene, the image is sent to Google's Gemini AI to write a roleplay script from it.
The photo is not saved. What we keep is the generated script and a short text description of what the AI saw, so you can replay it later. You can delete any of these from your history at any time.
If you allow notifications, we store a push token for your device, whether it's Android or iOS, and your timezone (so reminders don't arrive at 3am). Also your notification preferences.
Anything you send through the in-app feedback form, saved against your account.
Only to run the app: to log you in, teach you Korean, check your pronunciation, let Hani hold a conversation, track your progress, run leaderboards, send the notifications you asked for, and apply free-tier limits.
We do not sell your data. We do not share it for advertising. We do not use it to train AI models of our own.
Running the app means some data passes through these companies. Each has its own privacy policy.
| Service | What it handles |
|---|---|
| Supabase | Database, login, and file storage — your account and progress live here |
| Google Cloud (Vertex AI — Gemini) | Powers Hani's replies, evaluates answers, and reads scanned photos |
| Google Cloud Speech-to-Text | Converts your speech to text |
| Google Cloud Text-to-Speech | Generates Hani's voice |
| Railway | Hosts the app's server |
| Expo | Delivers push notifications |
| Firebase App Distribution | Delivers the beta build to testers (collects your email and device model) |
| Cloudflare | Runs our domain, and hosts this site and our support email |
| Resend | Sends confirmation and reset emails |
Google processes your audio and images to return a result to the app. Under Google Cloud's terms, this data is not used to train Google's models.
Go to Profile → Settings → Delete account. You'll be asked for your password and to type DELETE to confirm. Everything above is erased immediately and permanently — your login, profile, photo, progress, XP, streak, achievements, inbox, league standing, the facts Hani remembers, and your scanned roleplays. There is no grace period and no way to recover it.
Forgotten your password? Use "Forgot password" on the sign-in screen to get back in first — we'll email you a code.
If you'd rather keep your account but clear only the facts Hani remembers about you, email support@kpulse.app and we'll wipe those.
Passwords are hashed by our authentication provider and never visible to us. Traffic between the app and our server is encrypted. Login tokens are held in your phone's secure storage, not in plain files.
That said, this is an early-stage app built by one person. It is not certified, audited, or covered by any compliance programme. Please do not put sensitive personal information into your conversations with Hani.
You must be at least 13 years old to use KPulse Speak. If you are under 18, please make sure a parent or guardian is happy with you using it. We do not knowingly collect data from children under 13 — if we learn we have, we'll delete it.
You can ask us, at any time, to: show you what we hold about you, correct it, delete it, or export it. Email the address above and we'll respond within 30 days.
If this policy changes in a way that matters, we'll tell testers by email or in the app before it takes effect.