The processing pipeline
When you stop a recording, Steno runs this sequence entirely on your device:What runs on your Mac
Transcription — whisper.cpp Steno uses whisper.cpp, a C++ port of OpenAI’s Whisper model optimized for Apple Silicon. The model weights are stored in~/Library/Application Support/stenoai/ and executed entirely in-process. There is no Whisper API call.
Summarization — Ollama
Steno bundles Ollama, which manages and runs small language models locally. When Steno starts, it launches a local Ollama server that by default listens only on 127.0.0.1 (loopback). All summarization and query requests go to http://localhost:11434 — they do not leave your machine unless OLLAMA_HOST is overridden in your environment.
What network requests does Steno make?
| Request | When | Why |
|---|---|---|
| Model download | First launch / setup only | Downloads Whisper and Ollama model weights |
| Update check | On app launch | Checks github.com/ruzin/stenoai for new releases |
| Nothing else | Never | No telemetry, no usage tracking, no audio upload |
nettop while Steno is processing a recording.
Where your data is stored
All data lives in~/Library/Application Support/stenoai/:
~/.ollama/models/ (Ollama’s default location).
Using a cloud model (optional)
Steno optionally supports OpenAI, Anthropic, or a custom API endpoint as an alternative to the local Ollama model. If you configure a cloud model in Settings → Models, your transcripts (not audio) are sent to that provider’s API for summarization. This is opt-in, off by default, and clearly indicated in the UI. If you work with confidential data, use the local model.Does Steno send any telemetry or usage data?
Does Steno send any telemetry or usage data?
No. The Steno app does not include any analytics, crash reporting, or telemetry. In the default local configuration, the only outbound requests from the app are the update check on launch and model downloads during setup. If you enable a cloud summarization model, transcripts are sent to that provider’s API. (The Steno documentation site itself uses PostHog for anonymous visitor counts — this is independent of the app and does not run when you use Steno.)
Can I use Steno in an air-gapped environment?
Can I use Steno in an air-gapped environment?
Yes, after the initial setup. Download the app and models on a connected machine, then move the installation to your air-gapped environment. All processing runs offline.
Is Steno suitable for confidential recordings?
Is Steno suitable for confidential recordings?
Steno is designed for professionals handling confidential audio. Because all processing is local and no data leaves your device, it is suitable for use cases where sending audio to a cloud service would be inappropriate — clinical consultations, legal calls, financial briefings. Review your organization’s specific policies before using any recording tool for regulated data.
Where does Ollama run?
Where does Ollama run?
Steno bundles a copy of Ollama and starts it as a local process on
127.0.0.1:11434 when the app launches. It is not accessible from the network. When you quit Steno, Ollama is stopped.