Skip to main content
Steno processes your recordings using two AI models that run locally on your hardware. Your audio, transcripts, and summaries stay on your Mac unless you optionally configure a cloud summarization model (see below) — meeting content is never uploaded by default. The app does send anonymous product-usage analytics (see below), which is on by default and can be turned off in Settings.

The processing pipeline

When you stop a recording, Steno runs this sequence entirely on your device:
In the default local configuration, no step in this pipeline contacts an external server. The models are downloaded once during setup and then run offline indefinitely. If a cloud summarization model is configured, the transcript step is sent to that provider’s API instead of local Ollama.

What runs on your Mac

Transcription — Parakeet or Whisper Steno transcribes with one of two on-device engines. Parakeet (the default) runs via MLX on Apple Silicon and produces a live transcript while you record. Whisper (large-v3-turbo) is an optional alternate for the full 99-language set, selectable in Settings → Transcribe. Both run entirely in-process — the model weights are stored under ~/Library/Application Support/stenoai/ and there is no transcription 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?

None of these requests include your audio, transcript, or summary content. To verify this yourself, you can monitor network traffic with Little Snitch or macOS’s built-in nettop while Steno is processing a recording.

Where your data is stored

All data lives in ~/Library/Application Support/stenoai/:
Ollama model weights are stored separately in ~/.ollama/models/ (Ollama’s default location).

Using a cloud model (optional)

Steno optionally supports OpenAI, Anthropic, AWS Bedrock, or a custom API endpoint (“Cloud API” in Settings) as an alternative to the local Ollama model, plus a “Private Server” mode that points at a remote Ollama instance you control. If you configure one of these in Settings → AI, your transcript and any notes you’ve typed for that meeting (not audio) are sent to that provider’s API for summarization. Organizations can also connect Steno to a self-hosted adapter under Settings → Organisation, which proxies summarization requests server-side. As with the other cloud options, this sends the transcript (and notes) off-device but never the audio. Cloud and organization modes are opt-in, off by default, and clearly indicated in the UI. If you work with confidential data, use the local model.
Yes, anonymous product-usage analytics are on by default — event names like “recording started” or “summarization completed,” plus error types and an anonymous install ID. This never includes audio, transcripts, notes, or summaries. You can turn it off in Settings → Advanced. Separately, the only other outbound requests from the app are the update check and model downloads during setup. If you enable a cloud summarization model, transcripts are sent to that provider’s API.
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.
Steno is designed for professionals handling confidential audio. Because all processing is local and no meeting content (audio, transcript, notes, or summary) leaves your device by default, it is suitable for use cases where sending audio to a cloud service would be inappropriate — clinical consultations, legal calls, financial briefings. If you need zero network activity at all, turn off anonymous usage analytics in Settings → Advanced. Review your organization’s specific policies before using any recording tool for regulated data.
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.