Skip to main content

Routes & Middleware

Route Organization

Routes are organized by module in backend/src/api/:

FileAuthPurpose
browser.routes.tsClerkSecurity test browser
analytics.routes.tsClerkElasticsearch analytics
agent-admin.routes.tsClerkAgent management
agent-device.routes.tsAgent keyDevice endpoints
tests.routes.tsClerkBuild system, certificates
defender.routes.tsClerkDefender integration
alerting.routes.tsClerkAlert configuration

Middleware Stack

  1. Helmet — Security headers
  2. CORS — Configurable origin restrictions
  3. Rate limiting — Per-endpoint budgets
  4. Clerk auth — JWT validation for web routes
  5. Agent auth — API key validation for device routes
  6. Error handler — Catches AppError and unhandled errors

Rate Limits

Endpoint GroupLimit
Enrollment5 / 15 min per IP
Device (heartbeat, tasks)100 / 15 min per agent
Binary download10 / 15 min per IP
Key rotation3 / 15 min per IP
Auth20 / 15 min per IP