Privacy
What leaves, and what doesn't
Dictation means handing a program your microphone. Here is exactly what SayEcho does with it — and where the honest limits of that claim are.
Outbound
Five moments SayEcho could speak.
You add a cloud provider
Your audio goes to the one provider you chose, with your key. Self-host an OpenAI-compatible endpoint and it never leaves your network.
You enable a model download
SayEcho fetches the Whisper model or wake-word models once, from GitHub, then stops.
The update check is on
SayEcho asks GitHub Releases whether a newer version exists. Switch it off and it stops asking.
You dictate locally
Nothing. Audio goes to a model on your own CPU and the transcript goes to your cursor.
Telemetry is on
Nothing leaves. Counts go into SQLite on this machine, where you can read and delete them.
Settings → Privacy shows whether your current setup can reach the network at all, plus the host, reason, and time of every request SayEcho has made.
At rest
What SayEcho keeps.
Transcripts
History lives in a local SQLite database. Search it, export it to JSON, or clear it. Turning History off stops SayEcho writing to it at all.
API keys
Stored in the OS keychain — Credential Manager on Windows, Keychain on macOS, Secret Service on Linux — and never returned to the interface that saved them.
Telemetry
Opt-in. Event counts and coarse metadata like word count. Never audio, transcript text, file paths, or window titles.
Models
Whisper and wake-word models are downloaded once into SayEcho's app data directory and used offline from then on.
Limits
Three things this can’t prove.
The request log only sees SayEcho. It records requests SayEcho itself made. No process can observe its own operating system’s traffic, so this is evidence, not a packet capture.
Plugins are outside it. A native plugin runs as real code in the process and can make requests that never pass through the code the log instruments. That is why installing one shows you what it asks for and waits. The plugin contract is public.
An armed mic is an open mic. With the wake word on, your OS indicator stays lit — because it should. Audio is processed and discarded locally, but the microphone is genuinely open, and no wording changes that.
The most complete answer to all three is the one open source gives you: read the code, or build it yourself and run what you compiled.
Say your next email instead
Free and open source, with no account to make. Install it, press the shortcut, and start talking.
Or install from a terminal: macOS and Linux
curl -fsSL https://raw.githubusercontent.com/vedantnimbarte/Echo/main/scripts/install.sh | shWindows PowerShell
irm https://raw.githubusercontent.com/vedantnimbarte/Echo/main/scripts/install.ps1 | iexSayEcho isn’t code-signed yet, so Windows and macOS warn you the first time you open it. Here’s what you’ll see.