Skip to main content
Catalyst is a local desktop app, but it still treats server folders, downloaded content, archives, and assistant actions as sensitive.

Electron boundaries

Context isolation

The renderer uses contextIsolation: true and talks through the preload bridge.

Sandboxed renderer

The renderer runs with Electron sandboxing enabled and does not receive direct Node.js access.

IPC allowlist

App actions are exposed as explicit window.context.* methods.

External links

External opens are limited to HTTP and HTTPS URLs.

Filesystem controls

Catalyst resolves server file operations against the server root and rejects unsafe paths. It also sanitizes download filenames and refuses names that could escape the target directory.

Archive import controls

Imported server archives are checked for:
  • Required manifest.json.
  • Maximum entry count.
  • Maximum uncompressed size.
  • Zip-slip paths.
  • Safe target folder names.

Download and content controls

  • Modrinth downloads verify SHA-1 or SHA-512 hashes when available.
  • Server downloads verify upstream hashes when metadata provides them.
  • ngrok downloads are restricted to HTTPS URLs chosen by platform and architecture.
  • The file editor uses a size limit for quick edits.

AI assistant controls

The assistant can only apply supported action types, and user confirmation is required before Catalyst changes files, properties, or sends server commands.
The security model protects Catalyst workflows. It does not replace Minecraft server hardening: use whitelists, permissions, backups, and careful plugin choices on public servers.