Kaika is a language-practice app. Yui, the tutor inside Kaika, is an AI, not a person. This page says what Kaika processes, why, and what control you have. Kaika is operated by Shako AI (the data controller).
Data sharing with OpenAI is disabled. The audio and text described below are not used to train OpenAI's models. OpenAI may still keep service metadata.
Kaika stores your email address, an internal account identifier, revocable sign-in sessions, and practice history. Session records can include an IP address and device user-agent for security. Kaika may keep what you say and type, and your practice progress, with your account until you delete it, which is what the sign-in screen tells you. The Kaika team may read what Kaika keeps and listen to kept recordings to improve Kaika. The sections below say what that means on each surface.
When a practice ends, Kaika records the situation, the role you played, how the practice ended, the step it stopped at, whether your last answer was spoken or typed, which built-in help you used, and one entry for each answer you committed. A typed entry keeps the line you typed; a spoken entry keeps no text of its own, because the recording itself is kept as described below. Each entry also keeps which authored response it matched and any correction it put on stage.
While a practice is underway, the app also sends Kaika a progress record each time you reach a new step or line, and each time you commit an answer. A record names the situation, your role, and the step and line you reached; an answer's record also keeps the same entry described above. These records show where a practice stopped even when it never reached its end, and they stay with Kaika. The app does not resend a record it could not send.
Speech is optional. In scenes, after you tap Record and allow microphone access through the operating system, the app sends your recording through Kaika's server to OpenAI's transcription service. OpenAI acts as a processor and produces text used to respond to that practice attempt. Kaika keeps that recording with your account in private recording storage, and keeps its transcript, how long it was, what the server made of it, and which practice it belonged to in Kaika's database. OpenAI does not retain this audio or transcript as application state or in abuse-monitoring logs. In listen-and-repeat and line practice, the recording stays on your device and is never sent to Kaika, its server, or OpenAI. Recordings held on your device use a cache excluded from backups. The app tries to delete its own copy of each recording after its purpose is complete, or when you retry, leave the screen, background the app, sign out, or delete your account. Device cleanup is best-effort because the operating system can suspend or stop the app before cleanup finishes. A startup cleanup retries deletion of device recordings left by an interruption or failed deletion. You can complete practice by typing instead.
Handwriting recognition uses Google ML Kit on your device and downloads its recognition model from Google. ML Kit processes your strokes on your device and does not send them or the recognition results to Google. The SDK sends device and app details, per-installation identifiers, the configured recognition language, input/output size, feature version, performance measurements, event types, and error codes to Google for diagnostics and usage analytics. Google handles these metrics under its Privacy Policy. Deleting your Kaika account does not delete the SDK metrics Google holds.
Two parts of Kaika send your voice straight to OpenAI instead of through Kaika's server: the first-run session where Yui asks about your goals, and asking Yui a question out loud. Kaika's server mints a short-lived credential for one such session and never receives your audio. OpenAI acts as a processor, transcribes what you say so the session can keep both sides, and answers you while the session runs. When the session ends, the app sends Kaika's server the text of both sides, what you said and what Yui said, and Kaika keeps it with your account. OpenAI Realtime keeps no application state after the session ends. OpenAI's Zero Data Retention setting excludes your audio and text, including this transcription, from abuse-monitoring logs. The session ends when you leave it, and nothing from it is carried into the next one.
Ask Yui is optional. When you send a question, the app sends your question as you typed it, apart from removing invisible control characters, the spaces around it, and any text shaped like the request's own internal delimiter, together with the reviewed material for the situation in front of you, through Kaika's server to OpenAI's Responses service, acting as a processor, to answer that one question. The request carries these fields and nothing else:
question — the question you typedcharacter — the one Japanese character you asked about, when that is the scopeactId — which practice situation you are insnapshotId — which published version of that situation your app hasroleId — the role you are performing in itanchor — which kind of item you asked about, such as a line or your own turncitations — the identifiers of the reviewed items your question is aboutThe request has no field for what you said or typed in practice, for a transcript, for how much help you have used, for whether you finished, or for who you are. The server holds your question, that context, and the answer in memory while the request settles, and Kaika keeps your question, the situation you asked it in, and the answer it received or the refusal it met with your account. Kaika asks OpenAI not to store the response for later retrieval. OpenAI's Zero Data Retention setting excludes your prompts and responses from abuse-monitoring logs. OpenAI may also keep encrypted prompt-cache data for up to 24 hours, with a minimum cache lifetime of 30 minutes after its most recent use. Asking again replaces the answer on the sheet; each question is answered on its own, and no thread runs between them.
In Dinner at Aya's, the app may send one reply together with the current table state and at most the last two cast lines through Kaika's server to OpenAI's Responses service, acting as a processor, to create one short cast response for that turn. The request carries these fields and nothing else:
actId — the dinner situation identifiersnapshotId — which published version of the dinner situation your app hasroleId — the guest role you are performingfacts — the current cups, plate, offer, completed outcomes, and pending playback statelearnerText — the reply you typed, or the transcription of what you saidpriorCastExchange — at most the last two cast lines that actually playedsessionId — which practice session the reply belongs to; Kaika keeps it and never sends it to OpenAIThe server checks the table state against the published dinner scene, sends only the actions that state permits, and holds the reply, scene context, and generated response in memory while the request settles. Kaika keeps your reply, the table state and prior cast lines it was answered from, the practice session it belonged to, and the cast lines that came back or the reason none did, with your account. Kaika asks OpenAI not to store the response for later retrieval. OpenAI's Zero Data Retention setting excludes your prompts and responses from abuse-monitoring logs. OpenAI may also keep encrypted prompt-cache data for up to 24 hours, with a minimum cache lifetime of 30 minutes after its most recent use. The generated line is then sent to OpenAI Realtime to produce its audio; Realtime keeps no application state after the session ends, and OpenAI's Zero Data Retention setting excludes the generated text and audio from abuse-monitoring logs. A failed request changes no table fact.
Signing in works by emailed link. Cloudflare hosts Kaika and delivers the email. Delivery records can remain with the email provider for up to about a month. Kaika also keeps keyed, non-readable digests of sign-in sources and requested addresses to enforce one-hour abuse limits, a pseudonymous per-learner hourly speech-request counter and a pseudonymous per-learner hourly text-generation request counter shared by Ask Yui and dinner replies, both derived from the internal account identifier, a pseudonymous per-learner hourly spoken-session counter shared by the first-run session with Yui and spoken questions, also derived from that identifier, a non-personal hourly sign-in email request counter, a non-personal 30-day speech budget counter, non-personal daily and 30-day text-generation budget counters shared by Ask Yui and dinner replies, and non-personal daily and 30-day spoken-session budget counters shared by the same. Expired counter rows are removed during later requests.
Kaika keeps the account data described above for as long as your account exists. None of it expires on its own, and there is no separate retention window. Deleting your account removes it from Kaika's database and recording storage. Backups held by the services Kaika runs on age out on their own schedules, and none of them is used to restore a deleted account.
You can delete your account from Settings in the app. Server-side deletion removes your account, practice history, your practice progress records, your recordings and their transcripts, your Ask Yui questions and their answers, your dinner replies and the cast lines they drew, the transcripts of your spoken sessions with Yui, active sessions, and sign-in tokens. Your recordings are removed first; if that fails, your account stays and you can try deleting again. The app also tries to clear its local sign-in credential, pending sign-in state, and temporary speech clips. Device cleanup is best-effort, and the next app launch retries temporary clip cleanup. Limited email-delivery records, security counters, infrastructure records, and backups can remain until their configured retention windows expire. They are not used to restore your deleted account. Contact us if you need help with a deletion request.
Kaika is not directed at children. We do not knowingly collect personal information from children under 13, and that includes voice recordings. If you believe a child has used Kaika, contact us and we will delete the account.
Questions about this policy or your data: privacy@withkaika.com.