Privacy
Privacy and data
The technical companion to the legal Privacy Policy: where your data is stored, how API keys are protected, what touches the network, and how to verify the claims.
This page is the technical companion to the user-facing Privacy Policy. The legal page tells you what we promise; this one tells you the file paths, the network calls, and the off-the-shelf tools you can use to verify any of it.
The principle is one sentence: your data stays on your device unless you explicitly send it somewhere else.
What stays on your device
By default, all of this is local-only:
- Audio recordings (WAV files in your app data folder).
- Transcripts (SQLite database).
- Summaries (same database).
- Action items and Recall flashcards (Pro features generated and consumed in-app; Recall cards are session-local).
- Study Sage chat history (browser-style local storage on your device, with a size cap).
- Settings, custom templates, reading preferences.
- AI models: Whisper for transcription on every platform, and Built-in AI GGUF models (Ministral 3B, Ministral 8B, EuroLLM 9B, and Mistral Nemo 12B) for on-device summaries on macOS, Windows, and Linux. Ollama and opt-in Pro cloud are optional alternative providers.
- Analytics — computed locally from your database, never reported.
There's no NeuroBridgeEDU server holding your data, no account, no sign-in.
What touches the network when you ask
Three things can reach the internet:
- Model downloads. When you click Download on a Whisper or LLM model, the file is fetched from Hugging Face. After that, the model lives on your disk and runs offline.
- Cloud AI providers (Pro, opt-in). If you have Pro and add your own key for Mistral, OpenAI, or Anthropic: for summaries, only transcript text is sent to that provider; for Study Sage chat, your question plus recent chat history and meeting context are sent. Audio never leaves your device. All API calls use HTTPS with TLS. Ollama is local by default; a remote Ollama host is your own configuration. Gemini is legacy-only for existing saved keys, and custom OpenAI-compatible endpoints are deferred.
- External links in the About page open your browser. See Automatic connections below for the app's update and licence checks.
Optionally, anonymous error reporting can be enabled from Settings → Diagnostics. It's off by default.
Automatic connections
Release builds make an automatic update check and, only if a Pro licence key is stored, a Lemon Squeezy licence check. Neither sends your recordings, transcripts, or audio.
- Update check: the app asks GitHub (api.github.com) whether a newer version exists. It checks about five seconds after launch, every 24 hours, on reconnect, and retries about 30 minutes after a failed check. The request carries the app version and normal web metadata, such as your IP address, but no account or app content.
- Licence validation: if a Pro licence key is stored, the app validates it with Lemon Squeezy (api.lemonsqueezy.com) at most once per launch, unless a recent validation is cached. It sends your licence key and, once activated, its Lemon Squeezy instance id. A hashed device id is sent only when you activate a licence, not during routine checks. No recording, transcript, or audio is sent. Free installs with no licence key make no such call.
An optional connectivity check (off by default) can be enabled in Settings; when on it pings Cloudflare/Ubuntu every 5 minutes only to detect whether you are online, carrying no content beyond a normal web request.
How API keys are stored
API keys live in your operating system's keychain via the keyring crate, not in the SQLite database:
- macOS — Keychain Access
- Windows — Credential Manager
- Linux — Secret Service (GNOME Keyring / KWallet)
This means the keys are protected by your OS user account and aren't present in any file you might back up or accidentally share.
What is not encrypted by NeuroBridgeEDU
The local SQLite database and WAV recordings are plaintext files on your machine. Protect them with your operating system account, disk encryption, backups, and normal device security.
Where your files live
- Database (
neurobridge_edu.sqlite) — OS app data directory forcom.neurobridge.edu.v2. - Recordings (
recordings/) — same directory. - Models (
models/) — same directory. - Logs (
logs/app.log.<date>) —dirs::data_dir()/NeuroBridgeEDU/logs/.
The exact OS app data directory is platform-dependent. The simplest way to find any of these is Settings → Diagnostics → Open Log Folder for logs, or Copy Diagnostic Report for the database path.
How to verify the privacy claims
- Network monitor. Open Little Snitch (macOS),
netstat(any platform), or your firewall's connection log while you record. With cloud AI and the optional connectivity check off, a network trace shows the automatic GitHub update check. The Lemon Squeezy licence check appears only when a Pro licence key is stored and its cache is stale or missing. A model download also appears if you start one. - File system inspection. Your audio is in
recordings/; your transcripts are inneurobridge_edu.sqlite. Both are inspectable with off-the-shelf tools (any SQLite viewer, any audio player). - Source code. The project is open source. The Rust backend is in
src-tauri/src/; network calls are concentrated in the cloud-provider files (summary/providers/anthropic.rs,openai.rs, etc.) and the model-download command.
Your GDPR rights, in practical terms
Because all your data lives on your own machine by default, you already have full GDPR-style control over it:
- Access — open
neurobridge_edu.sqlitewith any SQLite viewer; play your WAV files. - Rectification — edit transcripts and summaries directly in the meeting view.
- Erasure — delete a single meeting, or Settings → Storage → Delete All Data.
- Restriction — stop using a feature or remove an API key.
- Portability: an export command in Settings produces a machine-readable JSON copy of every meeting, transcript, and summary (GDPR Article 20); export a single summary to PDF (Pro); or back up the database file and
recordings/directly. - Objection — opt out of telemetry; don't use cloud providers.
NeuroBridgeEDU itself holds no personal data about you. There's no account to delete and no profile to download.
If you've used a cloud AI provider, that provider holds your transcript text in their logs per their own retention policy. Contact them directly to exercise GDPR rights against their data.
Deleting your data
A single meeting
Open the meeting, click the menu, choose Delete. Removes the database row, the WAV file, and any associated chat history.
Everything
Settings → Storage → Delete All Data. Confirms before running. Wipes the SQLite database, the recordings folder, the chat history, the API keys, the local templates — everything except the downloaded AI models (those are large, so we leave them; remove them manually if you also want them gone).
Uninstalling the app
Removing the app via your OS's normal uninstall flow does not automatically delete your data folder. Use Delete All Data first if you want a clean exit.