Exactly how your voice and data are handled.
An honest, specific account of what happens to your voice, your transcripts, and your data at every step of a Dialect conversation.
What happens, step by step, during a conversation.
Every step is specific and deliberate. Nothing moves that does not need to.
Your speech becomes text in your browser
Your microphone stays in your browser. The Web Speech API turns what you say into text on your device, and only that text is sent to Dialect over an encrypted connection. We do not receive or store your raw audio. A typed fallback is always available.
The language model writes the partner's reply
Dialect sends your text to a language model that understands accented, imperfect input and writes your partner's next line, its translation, and any gentle correction. Provider API keys live server-side and never reach the browser.
Voice synthesized for your language partner
The partner's line is sent to a server route that calls ElevenLabs to synthesize spoken audio, streamed back to your browser for playback. Your voice is not involved in this step.
Transcript stored for your practice report
After the conversation, the text transcript generates your practice report and is stored so you can review past sessions. Voice recordings are not stored by default. A toggle in Settings lets you opt in.
Third parties that process your data.
Dialect uses two external providers. Their role is specific and limited to what is needed.
Language model
OpenAI
Processes your speech, generates your language partner's responses, and produces your practice report. Receives the session transcript. Processed under a data processing agreement that prohibits using your data to train or improve any public model.
Data region: United States (OpenAI API default).
Voice synthesis
ElevenLabs
Converts your language partner's text lines into spoken audio. Receives only the partner's text, never your voice or transcript. Processed under a data processing agreement.
Data region: United States (ElevenLabs API default).
How your account and data are protected.
Passwords hashed, never readable
Your password is hashed before storage using bcrypt. Dialect never stores it in a form that can be read, reversed, or recovered.
Sessions use signed tokens
Each login creates a signed, short-lived session token. Tokens expire automatically and are invalidated immediately on sign-out.
API keys server-side only
OpenAI and ElevenLabs keys live entirely on the server. They are never included in any response sent to the browser.
Encryption in transit and at rest
All data moves over TLS. Stored data, including transcripts and optional recordings, is encrypted at rest.
Export everything
Download a complete JSON export of your account, conversations, transcripts, and any saved recordings from Settings at any time.
Delete everything
Delete individual conversations or your entire account from Settings. Account deletion removes all your data within 30 days as it propagates through backups.
Off by default. Your call.
Dialect does not save your voice recordings unless you turn it on. A toggle in Settings under “Recordings” lets you opt in. If you opt in, recordings are stored encrypted and can be deleted independently from transcripts.
Transcripts are always generated and stored separately from recordings. See Your data for a plain-language walkthrough of everything that is stored and how to manage it.
Kept until you delete it.
Transcripts and conversations are kept until you delete them or close your account. There is no automatic expiry. When you delete your account, your practice data is removed within 30 days as deletion propagates through backups. We retain billing records only as required by law.
Responsible disclosure
If you find a security issue in Dialect, please tell us before disclosing it publicly. Write to security@trydialect.com with a description of the issue and steps to reproduce it. We will respond promptly, work with you to understand and address the issue, and credit you if you would like.
Questions about privacy or security?
We are glad to explain our practices in plain language.