Skip to content

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.

  • 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, token or secret, 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.

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.

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.

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.

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.

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.

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.

  • 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.