Skip to main content

Architecture

How system requirements map to agent components, and what each platform dependency is used for.

Endpoint
# macOS
macOS 13+, root access
Network Extension approved
Keychain write access

# Windows
Windows 10 64-bit, SYSTEM
WinDivert driver installed
Cert store write access
Requirements by Component
Agent Core
LaunchDaemon / Service
macOS: LaunchDaemon plist
Windows: SentinelAgent service
Runs as root / SYSTEM
Bootstrap
Chain-of-trust validation
Signed binary verification
Spawns sentinel with --spawned-by-bootstrap
Network Monitor
macOS
Network Extension (kernel)
NETransparentProxyManager
System Extension approval required
Windows
WinDivert driver
Packet-level interception
Bundled in agent package
Certificate
macOS
Self-signed root CA
security add-trusted-cert
System Keychain write
Windows
Self-signed root CA
Cert:\LocalMachine\Root
Admin cert store write
Signed Binaries · Chain of Trust · Platform-native Auth · MDM / GPO Deployment
Operational State
LaunchDaemon runningSystem Extension activeRoot CA trustedBackend sync connectedWinDivert driver loadedService registered
QuilrAI

Component Dependency Map

Agent ComponentmacOS RequirementWindows Requirement
sentinel (main agent)root, signed binarySYSTEM, Authenticode signed
bootstraproot, signed binarySYSTEM, Authenticode signed
sentinel-proxyNetwork Extension entitlement, signedWinDivert driver, signed
SentinelProxyExtensionSystem Extension approvaln/a
ipc-light-brokerUnix socket accessNamed pipe access
sentinel-diagnosticsNo special requirementsNo special requirements

Security Model

The agent enforces a chain-of-trust before starting:

  1. Bootstrap verifies its own code signature using OS APIs
  2. Bootstrap verifies the sentinel agent binary against the manifest
  3. Bootstrap spawns sentinel with --spawned-by-bootstrap and passes its PID via SENTINEL_BOOTSTRAP_PID
  4. sentinel rejects startup if not spawned by bootstrap (exits with code 1)

This prevents the agent from running if tampered with or launched directly.

Installation Paths

PlatformPathContents
macOS app bundle/Applications/SentinelProxy.app/Contents/MacOS/All binaries
macOS support dir/Library/Application Support/Sentinel/Configs, certs, templates, logs
macOS daemon/Library/LaunchDaemons/com.sentinel.agentService definition
Windows binariesC:\Program Files\Sentinel\All binaries
Windows certC:\Program Files\Sentinel\certRoot CA
Windows serviceSentinelAgentRegistered Windows Service

Update Flow

The agent self-updates via sentinel-updater, which the installer registers as a scheduled task or LaunchDaemon:

  1. Checks the CDN for a new version every 30 minutes
  2. Downloads and verifies the package (RSA-PSS + SHA-256)
  3. Validates signatures in staging before stopping the running agent
  4. Deploys from staging, starts the agent, runs a 30-second health check
  5. Rolls back automatically on failure

The agent is never stopped until the staged package passes all verification checks.