OpenFlow is built with a local-first, privacy-by-design philosophy.

Core Principles

  1. No cloud API required — All processing happens on your machine
  2. No telemetry — We never collect usage data or analytics
  3. No background telemetry — OpenFlow does not send analytics, recordings, transcripts, or usage data to the project
  4. No data leaves your device — Transcripts, dictionary, snippets, and history stay local

Audio Processing

  • Audio is captured from your selected microphone
  • Audio is processed locally by Whisper on your machine
  • Audio files are stored temporarily and deleted after processing (unless you explicitly enable history audio retention)
  • Audio never leaves your device

Transcription

  • Speech-to-text runs entirely via local Whisper
  • No cloud transcription service is used
  • Transcription accuracy depends on your local Whisper model

Text Cleanup

  • The default cleanup uses a local rule-based engine that requires no model
  • If you configure a local llama.cpp server, text cleanup sends your transcript to http://127.0.0.1:8080/v1 on your local machine
  • This request never leaves your computer
  • If the local server is unavailable, the app automatically falls back to rule-based cleanup

Network Access

Core recording, transcription, cleanup, and storage work without a cloud service. OpenFlow may connect to the internet for the following limited purposes:

  • downloading a transcription runtime or model after you choose to install it;
  • downloading an optional local cleanup model after you choose to install it;
  • checking the official GitHub Releases API when you request an update check or open release notes; and
  • opening documentation, release, issue, or donation links in your default browser.

An update check sends GitHub the normal metadata associated with an HTTPS request, including your IP address and an OpenFlow/<version> user-agent. It does not include transcripts, recordings, history, dictionary entries, or usage analytics.

Data Storage

All data is stored in a local SQLite database:

  • Dictionary terms
  • Snippets
  • Dictation history
  • Scratchpad notes
  • Transform configurations
  • App settings

Data Location

The database is stored in the operating system's application-data directory for the tools.ken.openflow application identifier. Model runtimes and large model files may use a separate openflow directory under the same operating-system data root.

Deleting Data

You can clear all local data from Settings > Data & Privacy > Clear Data, or manually delete the database file.

What We Don't Do

  • We don't send your voice recordings anywhere
  • We don't send your transcripts anywhere
  • We don't track which apps you use
  • We don't track your dictation frequency
  • We don't use analytics or tracking libraries
  • We don't require an account or login
  • We don't require an internet connection for normal dictation after required local models are installed

Open Source

OpenFlow is open source. You can audit the code yourself to verify these claims. The entire transcript cleanup pipeline, data storage, and network behavior is visible in the source code.