Privacy & Security - NeuroSwitcher Pro Beta

Privacy & Security

What NeuroSwitcher sends, what stays local, and how to turn telemetry off.

NeuroSwitcher is a keyboard utility, so trust has to be explicit. The beta is currently unsigned, but the runtime is designed around local processing and minimal release-quality metrics. The optional AI features can use a cloud backend — that path is opt-in and described in plain words below.

Typed text stays local Wrong-layout detection, correction, transliteration, dictionaries, and suggestion logic run on your Windows PC.
Cloud AI is opt-in Dictation and the AI assistant default to local processing. A cloud backend sends only what you explicitly dictate or select — never your regular typing.
Recordings stay on your disk Meeting recordings and their transcripts are written to a folder on your PC and are never uploaded on their own. Transcribing is a separate action you take.
Beta metrics are narrow The beta API tracks downloads, first-install pings, and at most weekly heartbeats for release quality.
Telemetry can be disabled A local marker file or environment variable stops install and heartbeat telemetry from the desktop client.

What stays local

Keyboard analysis and text correction are performed on your machine. NeuroSwitcher does not need to send typed text to a cloud service to detect a wrong keyboard layout.

  • Recent typing buffer analysis and layout correction.
  • Transliteration and dictionary matching.
  • User dictionary, exclusions, hotkeys, runtime settings, and Pro Console state.
  • Clipboard workflow and normal text substitution behavior.
  • Diagnostic logs shown in the local console window when you enable it.

Voice dictation & AI features: what leaves your PC

The voice input and the AI assistant each let you choose a backend, independently. The choice decides where your audio, text, or images go — and nothing is sent anywhere until you pick a cloud backend yourself.

Local (default)Speech recognition runs on-device; local LLMs run via Ollama or LM Studio on your machine. Nothing is transmitted.
Your own API keyRequests go directly from your PC to the provider you configured (OpenAI, OpenRouter, or a custom URL). NeuroSwitcher servers are not involved and never see your key or your content.
NeuroSwitcher Cloud (opt-in)The audio of a dictation you record, the text selection and prompt you explicitly submit, or an image you explicitly attach in the AI chat (a screen region you capture, a clipboard image you confirm, or a file you pick) is relayed through our proxy to an AI provider and processed there. The request carries your anonymous install ID (and your license file, if you have one) so the free daily quota can be metered.

With NeuroSwitcher Cloud, our server stores usage counters only — request counts, token counts, and audio seconds per day for quota accounting. It does not build a profile of you, and your content is not used to train models by us. The upstream AI provider processes the content to produce the result, under its own API terms.

Web search adds a second recipient. Web search is a NeuroSwitcher Cloud feature only — on your own API key or a local model there is no globe in the chat and nothing here applies. When you press the globe, that question is answered from a live web search — which means the text of your question goes not only to the AI provider but to a search service as well, because there is nothing to search otherwise. It applies to that one question: the globe is per-message and does not stay on for the conversation. Searches are metered separately from ordinary questions, and the remaining count is shown under the input box. Everything else on this page is unchanged: the search never sees your regular typing, and it happens only on a message you sent with the globe pressed.

What cloud AI never receives: your regular typing, the layout-correction buffer, clipboard contents, background screenshots, or anything you did not explicitly dictate, select, capture, or attach for an AI action. Screen captures happen only when you press the capture hotkey or button, and attached images are shown as a removable counter before you send. Hitting the daily limit simply pauses cloud requests until midnight UTC — local backends keep working. See the NeuroSwitcher Cloud page for how the quota works.

Meeting recordings

Meeting recording is different from every other feature on this page, because what it captures is not only yours. It records your microphone and the system audio — that is, the voices of the people you are talking to. We treat it accordingly, and you should too.

Where it goesStraight to disk, into one folder per conversation under %APPDATA%\NeuroSwitcher\meetings: the audio, the transcript, and a timecoded version. Nothing is uploaded as a side effect of recording.
Transcribing is a separate actionStopping a recording does not transcribe it and does not send it anywhere. You choose a session and start the transcription yourself, whenever you want it.
On-device transcriptionThe default. The speech model runs on your PC; the audio never leaves it.
Cloud transcription (opt-in)If you choose a cloud backend for a transcription, the audio of that session is uploaded to the provider to be turned into text. That is an hour of other people's voices, not a dictated sentence — decide it deliberately.
DeletingYour action. The files stay until you remove the folder or a retention period you configured removes it. We cannot delete them, because we never had them.

Recording other people is your responsibility, not the app's. In many countries recording a conversation without the consent of everyone in it is illegal, and Zoom, Teams and Slack impose rules of their own on top. Windows displays no indicator to the other participants when system audio is being captured, so they will not know unless you tell them. NeuroSwitcher asks you to confirm this once before the first recording. That prompt, and this paragraph, are not legal advice: the rules depend on where you and the other participants are.

What beta metrics are sent

The beta API is used to understand whether releases are being downloaded, installed, and still active. It is not used for typing analytics.

Download eventInstaller filename, salted IP hash, country header if present, and user agent.
First install pingInstall ID, app version, OS/architecture, locale, and beta channel.
HeartbeatInstall ID and app version, sent no more than once every 7 days.

Server-side IP data is stored as a salted hash for beta counting and deduplication. The desktop heartbeat request does not include typed content or document content.

Separately, the app periodically downloads a public product-news file (for the tray “What's new” item) at most once a week. This is a plain download — like checking for an update — with no install ID and no query parameters, so nothing about you is sent. It can be turned off in the Console (“Receive product news”).

Where the install ID is stored

The desktop client creates a random UUID the first time telemetry initializes. It is stored locally in your Windows roaming app data folder. On a typical Windows install, %APPDATA% expands to C:\Users\<your-user>\AppData\Roaming.

C:\Users\<your-user>\AppData\Roaming\NeuroSwitcher\install_id

The same path can also be opened with the Windows environment variable:

%APPDATA%\NeuroSwitcher\install_id

The same folder also stores the local first-run marker and last-heartbeat timestamp:

C:\Users\<your-user>\AppData\Roaming\NeuroSwitcher\install_pinged
C:\Users\<your-user>\AppData\Roaming\NeuroSwitcher\last_heartbeat

The install ID is not an account, license key, or identity document. It is a random identifier for beta install counts.

How to disable telemetry

You can disable desktop install and heartbeat telemetry before launching NeuroSwitcher by using either method below.

Option 1: environment variable

setx KEYSWITCHER_DISABLE_TELEMETRY 1

Restart NeuroSwitcher after setting it.

Option 2: local marker file

Create this marker file in the same roaming app data folder:

C:\Users\<your-user>\AppData\Roaming\NeuroSwitcher\telemetry_disabled

PowerShell command:

New-Item -ItemType File "$env:APPDATA\NeuroSwitcher\telemetry_disabled" -Force

To enable telemetry again, remove the marker file or unset the environment variable and restart the app.

What is never sent automatically

  • Keystrokes or raw typed text.
  • Corrected text, selected text, or document contents.
  • Clipboard contents.
  • User dictionary entries or excluded terms.
  • Passwords, tokens, private messages, file contents, or screenshots.
  • Names of active windows or a list of running processes.

The exceptions are explicit and are all things you start: content you dictated, selected, or attached for an AI action on a cloud backend, including a screen region you captured for the AI chat — see Voice & AI features; a question you sent with the globe pressed, which also reaches a search service; and a meeting recording you chose to transcribe in the cloud — see Meeting recordings. Nothing on this list is ever sent as telemetry or in the background.

If you email logs to support, review them first and remove anything sensitive. Support logs are user-supplied, not automatic telemetry.

About the unsigned beta

The current beta build can trigger Windows SmartScreen or antivirus warnings because it is not code-signed yet. Signing is planned before the public release. Until then, the trust model is transparency: local-first behavior, narrow beta metrics, and a clear way to turn telemetry off.

Contact

Questions, false positives, missed corrections, installer warnings, and privacy concerns can be sent to support@neuroswitcher.app.

Download Pro beta