Security Overview
Last updated 2026-10-31
This page describes how SayIt protects your data. It complements the Privacy Policy, which says what we collect and why. It is written for the person deciding whether to let a voice tool near their work.
1. How SayIt is built
- The app on your computer records audio while you hold the hotkey, reads the focused field and the accessibility tree of the window you are in, types the result, and carries out the Agent's actions (clicks, keystrokes, opening apps). On macOS a small helper process does the accessibility, hotkey and capture work; on Windows a .NET helper plays the same role.
- Our servers (Singapore) turn audio into text, clean it up, run the Agent's reasoning, and store your history, memory and dictionary so they sync between your computers.
- Processors act on our instructions for speech recognition, language models, sign-in, payments and hosting. They receive only what is needed for that step and may not use it for their own purposes.
2. Secrets never leave your computer in the clear
- Before any text is sent, the app replaces passwords, API keys, access tokens, private keys and similar strings with placeholders such as [API_KEY_1]. Detection works by format (independent of language), by keywords in a dozen languages, and by entropy for long random strings. The real values stay in the app's memory for the session and are put back locally when the Agent types or runs a command.
- Password fields are never read, and SayIt refuses to dictate into them.
- Password managers and any app you add under Settings › Privacy are excluded from reading and from captures.
- When the Agent needs a window capture, regions whose accessibility label or value match a secret are blacked out, and on-device OCR blacks out any line of text that looks like a key or password before the image is sent.
- Our servers run a second, independent pass of the same masking on everything they receive. Server logs never contain what you dictated.
3. The Agent asks before it acts, and keeps nothing
- Actions that send, submit, delete, pay or change files stop and ask for confirmation. Tap the hotkey to approve, press Esc to stop.
- Shell commands run only when you enable them in Settings. Read-only commands run directly; anything else, and any command that would read a secret, asks first. Command output is masked before it is sent.
- Window capture is optional (the Screen Recording permission on macOS) and can be switched off in Settings even after it was granted. Without it the Agent works from the text field and the accessibility tree.
- What the Agent sees is used for the task in progress and then discarded. Captures, on-screen text, interface structure and the Agent's actions are never stored, on any plan.
- Computer control (opening apps, clicking and typing on your behalf) is a separate switch in Settings.
4. In transit and at rest
- All traffic between the app, the website and our servers is encrypted with TLS.
- Databases run in a private network and are not reachable from the Internet. Access keys for storage, speech and language services are kept separately from the application code.
- Card numbers never reach our servers: payments are handled by the payment provider, bank transfers by the reconciliation service. We store order status, plan, transaction id and billing email.
- Your sign-in session on the computer is a token stored in a file readable only by your user account. Signing out invalidates it on the server.
5. Data you can delete
- History, Agent memory and the dictionary have delete controls in the app.
- Samples kept to improve the models (Free and Premium plans only; the audio of a dictation, its transcript and the cleaned-up text, with secrets masked and tied to an anonymous id; never anything from Agent sessions) can be switched off under Settings › Privacy and deleted on request. Business teams are never included.
- To delete your account and everything tied to it, email hello@sayit.run.
6. The app itself
- The macOS build is signed with an Apple Developer ID certificate. Download only from https://sayit.run.
- The app asks for Microphone and Accessibility, and optionally Screen Recording.
- The microphone is used only while you hold the hotkey or while the Agent is listening after a double-tap. There is no always-on listening.
7. Reporting a vulnerability
If you believe you have found a security problem in SayIt, email hello@sayit.run with the details and steps to reproduce. We read every report, reply as quickly as we can, and credit reporters who want to be named. Please give us a reasonable time to fix an issue before publishing it.