Skip to content

[privacy]

All options default to off for a local-first, privacy-safe baseline.

config_version = 2
[privacy]
store_history = false
store_audio = false
store_raw_transcript = false
store_cleaned_transcript = false
log_transcripts = false

config_version is migrated in memory when an older supported schema is loaded.

OptionTypeDefaultDescription
store_historybooleanfalseReserved / not implemented. Must stay false; validation rejects true.
store_audiobooleanfalseWhen false, temporary WAV files are deleted after jobs complete (unless a code path explicitly retains them, such as setup fixtures). When true, retain recorded audio on disk.
store_raw_transcriptbooleanfalseReserved / not implemented. Must stay false; validation rejects true.
store_cleaned_transcriptbooleanfalseReserved / not implemented. Must stay false; validation rejects true.
log_transcriptsbooleanfalseWhen true, daemon debug logs may include transcript text. Keep false unless debugging in a controlled environment.
emit_transcript_in_eventsbooleanfalseWhen true, daemon IPC events may include transcript text. Keep false for privacy-safe defaults.

skald doctor reports when store_audio, log_transcripts, or emit_transcript_in_events is enabled. Reserved storage flags are not treated as active controls.

Cloud cleanup is configured separately in [cleanup] and sends transcript text off-device only when cleanup runs—not via these flags.

  • [cleanup].enabled — opt-in cloud processing of transcript text
  • [secrets] — API keys never stored in config.toml
  • Daemon socket 0600, runtime directory 0700 — see Troubleshooting
  • Enabling log_transcripts can leak dictated content into journald or terminal output when skaldd runs in the foreground.
  • Setup wizard fixture audio is stored at ~/.local/share/skald/models/samples/setup.wav (under paths.model_dir) regardless of store_audio.