Skip to content

Local data storage

Synthezia resolves its application-data directory from its Tauri application identifier, com.synthezia.synthezia. In a standard macOS user account, that directory is:

$HOME/Library/Application Support/com.synthezia.synthezia/

$HOME represents the signed-in user’s home directory. Do not share database files, Keychain access, model files, or exported summaries unless you intend to share their contents.

Location or mechanism Contents Protection and deletion detail
synthezia.db Session metadata, transcripts, summaries, processing state, template text, transcript chunks, embeddings, and search/index data. SQLCipher encrypts the database, including its write-ahead log and FTS index. Its key is derived in memory from a macOS Keychain secret.
vault/audio/*.szaudio Managed audio retained after conversion or recording. Synthezia writes authenticated encrypted audio, not a permanent WAV file. Session deletion and Delete all meetings remove managed vault audio.
ephemeral/ Short-lived recording, conversion, transcription, playback, export, and voice-input work files. Application-owned private directories are cleaned after use and again during startup recovery. An interrupted process can leave temporary files until that recovery runs.
models/ and ollama/models/ Downloaded Whisper models and models owned by the bundled local Ollama runtime. These model files are outside the meeting-data vault. Model Manager and factory reset can remove them.
macOS Keychain The root secret used to derive database, audio, and content-fingerprint keys; optional external-provider API key. Secrets are not written to the database, logs, process arguments, or webview storage. Factory reset destroys the database and vault before removing and replacing the root secret.
Webview local storage Non-secret UI and model-selection preferences. It is not the source of truth for privacy policy, API keys, or custom summary templates.
User-selected export destination Markdown, PDF, or DOCX summary exports. Outside the application data directory and outside Synthezia deletion actions.

For imported sessions, Synthezia reads the source file selected in the native picker. That user-owned original remains where it was selected. Exported summaries are new files written only after you choose a destination in the save dialog.

If a protected-data footprint (synthezia.db, its SQLCipher sidecars, or a non-empty vault/) already exists but the root key needed to open it is missing, invalid, or otherwise unreachable, Synthezia does not generate a replacement key, does not fall back to plaintext, and does not delete anything automatically. Startup instead opens in a restricted Recovery Mode: the application stays open, no database-backed command runs, and only a small set of recovery actions are available.

  • Retry re-checks the current secure-storage mechanism. It only reads existing state and never modifies anything, so it is always safe to try again (for example after a Keychain issue is resolved).
  • Recover / migrate existing data appears only when Synthezia can positively confirm a specific, previously-known storage state that it knows how to migrate safely — for example a genuinely pre-SQLCipher plaintext database, or a root secret left in the traditional Keychain by a since-superseded storage layout. Migration is staged: the original data is never modified in place, a new copy is built and verified first, and only a verified copy is swapped in. If verification fails at any point, the original data is left exactly as it was.
  • Reset local data is the same destructive Factory Reset lifecycle described in Data retention and deletion, explicitly confirmed from the Recovery screen. It permanently removes the existing database and vault and starts a clean installation.

Recovery Mode covers whatever storage state is actually detected; it does not claim to migrate a format Synthezia cannot positively confirm.