OiPer
OiPer
ResourcesPrivacy PolicyTerms of ServiceSecurity & Data HandlingChangelog

Security & Data Handling

Which files OiPer writes, where credentials are stored, and what leaves your device.

This page describes exactly how OiPer Desktop handles your data on disk and on the network, so you can verify the claims in the Privacy Policy rather than take them on trust.

Where files are stored

Everything the app writes lives in one application data directory:

  • macOS: ~/Library/Application Support/com.oiper.desktop
  • Windows: %APPDATA%\com.oiper.desktop
File or folderContents
config.jsonYour settings: profiles, hotkeys, snippets, dictionary, and cloud model entries. Contains no API keys.
auth.jsonAPI keys for the cloud providers you configured, and session state for your OiPer account.
oiper.dbThe dictation history database — transcripts, timings, and the application each dictation went into.
models/Speech models you downloaded.
audio/Recorded audio for entries in your history.
cache/Temporary working files.
logs/Application logs.

These are ordinary files owned by your user account, protected by your operating system's file permissions. Deleting the directory removes all of it and resets the app.

Credentials

API keys for cloud providers are held separately from the rest of your settings. They are stripped out of config.json when it is written and stored in auth.json in the same directory, so your configuration file can be copied, shared, or synced without carrying your credentials with it.

auth.json is a plain file protected by your user account's file permissions, not by the system keychain. If that is not strong enough for your threat model, configure the provider entry to read an environment variable instead — OiPer then never stores the key at all.

Keys are sent only to the provider they belong to, as part of a transcription or formatting request you triggered. They are never transmitted to OiPer.

What leaves your device

ModeWhat is sent, and to whom
localNothing. Transcription runs on your machine and works offline.
cloudThe recording, and the transcript when formatting is on, go to the provider you configured, authenticated with your own key.
oiperThe recording goes to OiPer's hosted service, along with the focused application's name, window title, and text read from that window.

Independently of the mode, the app contacts Hugging Face when you download a speech model, and GitHub when it checks for or downloads an update.

Nothing is transmitted in the background: a transcription request happens only in response to a dictation you started with your hotkey.

Window content

The name, window title, and path of the focused application are recorded with every dictation and stored in your local history. Text is read from that window only in oiper mode, and only to be sent with that request for accuracy.

Updates

Updates are distributed through GitHub Releases and verified against OiPer's signing key before installation, so a tampered or unsigned build will not be applied. Update checks are triggered from Settings → About.

Clearing your data

  • Delete all history on the History page clears the history database.
  • Deleting a model on the Models page removes it from models/.
  • Removing a cloud model entry, or clearing its key field, removes that key from auth.json.
  • Deleting the application data directory removes everything listed above.

Reporting a vulnerability

Email support@oiper.com with the details. Please report privately first and give us a reasonable opportunity to fix the issue before disclosing it publicly.

Terms of Service

The terms for using OiPer Desktop, the OiPer website, and OiPer's hosted services.

Changelog

Next Page

On this page

Where files are storedCredentialsWhat leaves your deviceWindow contentUpdatesClearing your dataReporting a vulnerability