Airlock Windsurf Enforcer

Airlock Windsurf Enforcer

Human approval for AI actions in Windsurf

Prerequisites

  • Windsurf IDE installed
  • An Airlock account
  • The Airlock Mobile Approver app installed on your phone (Android or iOS)

Getting Started

  1. 1

    Install the Extension

    In Windsurf, open the Extensions panel (Ctrl+Shift+X / Cmd+Shift+X), search for Airlock Enforcer, and install Airlock Windsurf Enforcer.

  2. 2

    Sign In

    Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P) and run Airlock: Sign In. Authenticate with your Airlock account.

  3. 3

    Pair with Mobile App

    Run Airlock: Start Mobile Pairing from the Command Palette. A QR code will be displayed. On the Airlock Mobile Approver app, go to Settings → Pair Another Workspace, scan the QR code or enter the pairing code manually.

  4. 4

    Enable Auto Mode

    Run Airlock: Enable Auto Mode to start intercepting AI actions. All agent commands will now require your mobile approval.

Extension Commands

Command Description
Airlock: Sign InAuthenticate with the Gateway
Airlock: Sign OutClear authentication
Airlock: Start Mobile PairingPair with the Airlock mobile app (QR code)
Airlock: Unpair Mobile ApproverRemove paired device
Airlock: Enable Auto ModeStart automatic approval gating
Airlock: Disable Auto ModeStop gating
Airlock: Show StatusShow current endpoint, enforcer ID, pairing state

Windsurf-Specific Notes

Auto Mode: When Windsurf is in "Auto" mode, the enforcer hooks into the command execution pipeline. Rejected commands will cause the AI agent to receive a rejection error, preventing further execution of the blocked action.

How It Works

The Airlock Windsurf Enforcer intercepts all AI-generated terminal commands and file mutations. Each action is encrypted with AES-256-GCM and submitted to the Gateway. Your Mobile Approver receives a push notification — you review the action and sign your decision with Ed25519. The enforcer verifies the signature locally before allowing execution.

Security model: The enforcer operates in fail-closed mode. If the gateway is unreachable, the signature is invalid, or the request times out — the action is blocked. No exceptions.