Docs

Up and running in minutes.

SENTINEL-X runs wherever Node.js 20 or Docker runs. These are the essentials; full documentation ships with the product.

Quickstart

Requires Node.js 20 or later.

terminal
npm install
cp .env.example .env
npm run db:migrate      # creates the local database
npm run dev             # http://localhost:3001

Sign-in is off in development until you set SENTINEL_ADMIN_PASSWORD.

Deploy with Docker

terminal
cp .env.example .env    # set SENTINEL_ADMIN_PASSWORD and SENTINEL_SESSION_SECRET
docker compose up -d --build
  • The database lives on a named volume; migrations run automatically at start-up.
  • GET /api/health needs no sign-in and backs the image's health check.
  • Put it behind HTTPS; session cookies are marked secure on HTTPS.

Production checklist

  • Set SENTINEL_ADMIN_PASSWORD and SENTINEL_SESSION_SECRET. Production refuses to serve without a password.
  • Add a judge: set ANTHROPIC_API_KEY or OPENAI_API_KEY, or add models under Test → Evaluator Models.
  • Set the key variables your systems and models refer to; Workspace settings lists any that are missing.
  • Optional: SENTINEL_API_TOKEN for CI, SENTINEL_WEBHOOK_URL for Slack or Teams, SENTINEL_RETENTION_DAYS to prune old runs.
  • Back up the database nightly.

The workflow

  • Connect — Systems → Connect. Describe the system and prove the link works.
  • Design — Test → Test Studio. Generate, edit, import and export the suite.
  • Run — Test → Test Runs. Plan selection, trials, AI roles and the release gate.
  • Review — Test → Review Queue. Decide results that need human judgement.
  • Release — Govern → Release Readiness. Gate, sign-off, evidence pack.
  • Monitor — Monitor → Risk Posture and Conversations.

Gate CI

Save a plan for the system in Test Runs, then:

terminal
SENTINEL_URL=https://sentinel.example.com SENTINEL_API_TOKEN=*** \
  node scripts/ci-gate.mjs --system "Support bot" --plan "Release gate" --junit sentinel.xml

Exits 0 when the release gate passes, 1 when it fails, 2 when the run is incomplete. It writes a JUnit report and prints a link to the run.

API

Every call needs a session or Authorization: Bearer $SENTINEL_API_TOKEN.

GET/api/assetsList systems
POST/api/assets/{id}/runsStart a run by plan name, plan id, or filter and options (202 with runId)
GET/api/assets/{id}/runs/{runId}?lite=1Status, progress, report and gate
GET/api/assets/{id}/runs/{runId}/export?format=junit|csv|jsonExport results
GET/api/assets/{id}/evidenceEvidence pack
GET/api/healthLiveness and database check (no sign-in)

Need the full docs or a hand getting started? Get in touch.

See SENTINEL-X test your own AI system.

Bring an endpoint. In one session we connect it, generate its suite, and run it live — you keep the report.