Trust & Security

Security Architecture

Updated August 2026

Fleet is engineered with defense-in-depth principles to protect your servers, secrets, and deployment pipelines.

1. Architecture & Boundaries

Fleet establishes a strict separation of concerns between deployment orchestration and your host infrastructure:

  • Outbound-Only Connection: The Fleet Agent opens a single outbound WebSocket connection to the Control Plane. You never need to open inbound SSH ports or configure bastion hosts.
  • Host Ownership: The Agent runs as a standard OS service on your machine. You retain full control of firewall rules, system packages, and server access.

2. Cryptographic Message Signing (Ed25519)

Control channel security does not rely solely on static API keys:

  • During agent registration, a mutual cryptographic key pair is established using Ed25519 digital signatures.
  • Every WebSocket message sent between the Control Plane and the Agent is cryptographically signed and verified. Any unsigned or forged frames are dropped immediately.
  • Handshake requests include nonce tracking and strict timestamp verification to prevent replay attacks.

3. Secret & Environment Variable Encryption

  • Encrypted at Rest: All application environment secrets are encrypted using authenticated AES-256-GCM before being stored in the control plane database.
  • API Masking: Secret values are masked in all REST API responses and never displayed in plaintext across the dashboard.
  • In-Memory Delivery: Decryption occurs in-memory only when packaging a deploy job for the target agent.

4. Zero-Disk Git Credential Injection

  • In-Memory Headers: Git authentication tokens (such as GitHub App installation tokens) are passed strictly in memory using Git configuration environment variables (http.extraHeader).
  • No Plaintext on Disk: Repository remote URLs stored in .git/config on your host remain clean, public, and credential-free.
  • Automated Log Scrubbing: Build and deployment logs pass through an automated sanitizer that scrubs sensitive tokens before streaming to the dashboard.

5. Local Host & Socket Hardening

  • POSIX File Permissions: The local Unix domain socket (fleet.sock) is restricted to 0600 permissions, and service state directories are confined to 0700.
  • IPC Token Authentication: Local CLI commands authenticate with the agent daemon using a cryptographically generated 32-byte token.
  • Path Traversal Defenses: Service and deployment identifiers are mathematically confined to prevent directory escaping outside the Fleet base directory.

6. Responsible Vulnerability Disclosure

We take platform security seriously. If you discover a potential security vulnerability in the Fleet Agent, Control Plane, or UI, please report it directly to our security team:

Please include steps to reproduce the issue. We appreciate responsible disclosure and will respond promptly.