Skip to main content
It depends on which processing mode you’re on, and nothing else. On local mode, your audio never leaves your machine. On OpenWhispr Cloud, it’s sent to us, transcribed, and the audio is discarded — we keep the text, not the recording. The important part is that the mode is set per activity, not once for the whole app.

The mode is set three times, not once

Dictation, note recording and audio upload each have their own engine setting. They’re independent, so it’s normal to be on local for dictation and on cloud for uploads without realising it. Open Settings, choose Speech-to-Text under AI Models, and you’ll see three tabs: Check all three if you care where a particular kind of audio goes. Changing one does nothing to the other two.

What each mode does with your audio

On local and self-hosted mode, OpenWhispr Cloud isn’t in the path at all. On bring-your-own-key, the request goes from your machine to the provider you configured — we don’t proxy it and we don’t see it. Our DPA puts this in legal terms: in those modes the providers act on your instructions, not as our sub-processors.

Managed enterprise identity is separate from the model request

With centrally managed Amazon Bedrock or Azure OpenAI, the desktop contacts the OpenWhispr API first to fetch non-secret workspace configuration and request a short-lived identity assertion. That request contains account, workspace, provider, and policy context — not the prompt, audio, transcript, or model response. The desktop exchanges the assertion with AWS STS or Microsoft Entra, then sends the actual AI text prompt directly to the configured customer cloud endpoint. Temporary cloud credentials stay in desktop memory and are cleared when the account or workspace changes. This controls cleanup, agent, note chat, formatting, and translation; transcription audio still follows whichever of the three speech-to-text tabs you selected above.

What travels with a cloud request

When a mode is on OpenWhispr Cloud, the request carries four things:
  • the audio itself
  • the model you’re transcribing with
  • your transcription language, if you’ve set one rather than using auto-detect
  • your custom dictionary terms, if you use one — they’re sent as a prompt so the model spells names and jargon correctly
That last one surprises people, so it’s worth stating plainly: if you’ve added client names or internal project names to your dictionary, those words go with every cloud transcription request. If that’s not acceptable for your setup, keep the dictionary empty and use local or self-hosted mode. Screen context is the one case where an image is sent. If you turn on Share screen context — it’s off unless you do — then pressing the voice agent hotkey also sends a screenshot of the display your cursor is on, to whichever model that scope is pointed at. It’s used for that single request and nothing else: never written to disk, never added to your notes or transcription history, and never included in logs. Ordinary dictation never sends one.

What we store when you use the cloud

The transcript and its technical metadata — the text, its word count, which provider and model ran it, the language, how long the audio was, how long processing took, and the timestamp. Not the audio. OpenWhispr has no audio storage: recordings are processed in the request and discarded, which is also what our DPA commits to. The provider that runs the model handles the audio transiently under its own agreement with us.
Audio is kept on your own machine if you leave audio retention on — that’s a local setting, not a cloud one, and it’s covered in what OpenWhispr stores and for how long.

Notes and cloud backup

Your notes and transcription history live on your device by default. Cloud backup is off unless you turn it on. To change it, open Settings, then Privacy & Data under System, and use the Cloud backup toggle.
One exception, and the app says so too: notes in team spaces and notes you’ve shared always sync, whatever the cloud backup setting says. Sharing a note is what puts it in the cloud.

Usage analytics

There’s a Usage analytics toggle in the same place, and it’s off by default. Leave it off and nothing about your usage is sent.