Security
Nexus runs on your machines and keeps your keys there. This page explains what it protects, and what to check before you let other devices or the internet reach it.
The short version
Section titled “The short version”- Nexus starts closed. Only apps on the same machine can reach it, and every request needs a Nexus key.
- Provider keys never leave the machine. Apps get Nexus keys instead.
- Prompts and replies aren’t stored. Usage, Activity and diagnostics keep counts, timings and status, never the text.
- You open access on purpose. Your network, browsers, and the internet are each a separate switch.
There are two kinds of key, and they never mix.
Provider keys are the keys from OpenAI, Anthropic and other providers.
- You paste them once. Nexus stores them in your system’s secure storage (the macOS Keychain, or the credential store on Windows and Linux).
- Nexus never shows them again. The Console only says whether a key is set.
- They never appear in API replies, logs, job details, the audit log, diagnostics, or files Nexus writes for runtimes.
- Nexus refuses provider settings that look like a key, such as a field named
apiKey,tokenorsecret, so a key can’t slip into a visible field.
Nexus keys (client API keys) are what apps use to call Nexus.
- Nexus stores only a hash. It shows the full key once, when you make it.
- Nexus never forwards a Nexus key to a provider or a runtime.
- Make one key per app. Then you can limit it, see its usage, and revoke it alone.
- The desktop app keeps its own key in your system’s secure storage.
See Connections.
Network access
Section titled “Network access”| Switch | What it opens | Where |
|---|---|---|
| Off (default) | Apps on this machine only, at 127.0.0.1 |
|
| Private network access | Devices on your network, at the machine’s network address. Needs a Runtime restart. | Connections → Gateway access |
| Allowed browser origins | Web pages from the origins you list. Doesn’t open the network. | Settings → Network and access |
| Access from anywhere Pro | A hosted HTTPS address that reaches this machine | Connections → Gateway access |
Every switch still requires a Nexus key on every request. A browser’s preflight check is the one exception: it carries no key and gets no data.
For browsers, list exact origins. * lets any website try to call Nexus with a key it holds. Nexus ignores CORS headers from providers and runtimes and applies only your list.
Access from anywhere
Section titled “Access from anywhere”Pro
Access from anywhere gives a machine a hosted HTTPS address, without opening a port on your router or firewall. The machine keeps an outbound connection to Msty, and requests to the address travel through it.
- The address isn’t a secret and isn’t a key. Every request still needs a Nexus key from that machine.
- Provider keys stay on the machine.
- Requests and replies pass through the Msty relay, protected by HTTPS. If your rules don’t allow AI traffic through a hosted relay, use your network or a VPN instead.
- Turning it off stops the address at once.
See Access from anywhere.
Apps that ask for access
Section titled “Apps that ask for access”Two ways an app can get a key without you pasting one:
- Desktop apps on this machine can ask Nexus for a key. You see Allow App Access? and a code. Allow it only if the code matches the app you just opened. Only apps on the same machine can ask, and the key goes straight back to that app.
- Server apps, such as Msty Sail, pair through Connected apps. Check that the code, and the Machine key fingerprint, match before you approve. An app’s credential can use models, web search and tools, but can’t manage Nexus.
Data that leaves the machine
Section titled “Data that leaves the machine”Nexus only sends a request where you route it:
- Requests to a local model stay on the machine.
- Requests to an online provider go to that provider, with Nexus adding the provider key.
- Data Protection Pro can find names, card numbers and other details first, and remove them, replace them, or block the request.
- Smart Routes can send sensitive requests to a local model instead.
Some features send text to a model you pick, such as Describe it when you make a Smart Route or preset. Pick a local model there if the text must stay on the machine.
Benchmark sharing is off by default. If you turn on Share benchmark results with Msty in Settings, Nexus sends speed results with hardware and public model names. Never prompts, replies, file paths, names, addresses or keys.
What’s recorded
Section titled “What’s recorded”| Record | Holds | Never holds |
|---|---|---|
| Usage | Requests, tokens, speed, estimated cost, per key and model | Prompts or replies |
| Activity | Live requests, jobs, diagnostic logs | Prompts, replies, keys |
| Audit log | Who changed what, and when | Keys, prompts, replies, tool data |
| Metadata-only gateway diagnostics (optional, in Settings) | Request timing and routing decisions | Prompts or replies |
Diagnostics never include provider keys, Nexus keys or their prefixes, local file paths, request bodies, prompts, replies, raw provider errors, process IDs or command lines.
Local files
Section titled “Local files”Nexus only deletes files it owns. Importing a GGUF file copies it into Nexus’s own storage. Deleting a model removes only Nexus-managed files, never a path elsewhere on your disk. Runtimes and caches Nexus didn’t install are left alone.
Before you open access
Section titled “Before you open access”- Keep Nexus local unless another device really needs it.
- Make one key per app, with Inference only unless it must manage Nexus.
- Limit keys to the models and tools the app needs.
- Revoke keys when an app or person no longer needs them.
- List exact browser origins, never
*. - Prefer your network or a VPN over Access from anywhere for sensitive work.
- Use Check connection on a provider before you send real traffic to it.