Skip to content

Plugin architecture and verification

Plugins extend Speedwave through cryptographically signed ZIP archives. Speedwave verifies plugin signatures dynamically on every filesystem access: container initialization, image compilation, resource mounting, desktop catalog listings, and application startup audits.

Cryptographic verification and directory structure

Section titled “Cryptographic verification and directory structure”

Verification calculates a SHA-256 digest across all files within a plugin directory (excluding the signature manifest itself) and validates the digest against an Ed25519 signature using Speednet’s embedded public key. Community extensions undergo security review and signing by Speednet prior to official catalog distribution. Any single-byte modification invalidates the digest, halting execution immediately.

Speedwave isolates plugin storage into two distinct directories:

  • Signed immutable directory: Contains files covered by the cryptographic digest: the plugin manifest (plugin.json), worker container definitions (Containerfile), and bundled skills, commands, agents, or hooks.
  • Mutable state directory: Contains dynamic runtime state (such as compilation lockfiles and persistent bridge tokens).

Plugin classifications and container compilation

Section titled “Plugin classifications and container compilation”

The plugin manifest determines the runtime execution profile:

  • MCP service plugins: Include a Containerfile and run an isolated worker container accessible via the Tool Gateway, optionally alongside Claude Code prompt resources.
  • Resource-only plugins: Provide direct Claude Code extensions (skills, custom commands, subagents, and lifecycle hooks) without container workloads.

Plugin archives distribute verified source code rather than precompiled container binaries. During installation, Speedwave compiles the container image locally within the virtual machine sandbox. If image compilation is interrupted, Speedwave retries compilation automatically upon subsequent restarts without requiring package reinstallation.

Startup verification and session integration

Section titled “Startup verification and session integration”

During application startup, Speedwave verifies all installed plugins. If signature verification fails, startup is halted with a detailed diagnostic report. Management operations (list, remove, install) remain accessible via the CLI to resolve corrupted packages.

Verified plugins extend sessions through dedicated pathways:

  • MCP service workers join the project network as backend containers accessed via the Tool Gateway. Workers do not retain long-lived tokens; OAuth bearer tokens are injected dynamically from the host.
  • Resource-only plugins register markdown and prompt assets directly into Claude Code.

A plugin manifest can declare a host bridge (exemplified by the Figma plugin communicating with its desktop companion). Speedwave initializes a dedicated loopback listener for declared bridges with a default 1 MiB frame limit and 300-second pairing timeout.

The Desktop application renders bridge status cards with masked token controls and real-time connectivity indicators.

For installation instructions, consult Using plugins. For authoring guidelines, see Write a plugin.