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/healthneeds 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_PASSWORDandSENTINEL_SESSION_SECRET. Production refuses to serve without a password. - Add a judge: set
ANTHROPIC_API_KEYorOPENAI_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_TOKENfor CI,SENTINEL_WEBHOOK_URLfor Slack or Teams,SENTINEL_RETENTION_DAYSto 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/assets | List systems |
| POST | /api/assets/{id}/runs | Start a run by plan name, plan id, or filter and options (202 with runId) |
| GET | /api/assets/{id}/runs/{runId}?lite=1 | Status, progress, report and gate |
| GET | /api/assets/{id}/runs/{runId}/export?format=junit|csv|json | Export results |
| GET | /api/assets/{id}/evidence | Evidence pack |
| GET | /api/health | Liveness 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.