Skip to content
Jacob Centner edited this page Apr 10, 2026 · 3 revisions

Web UI

Sentinel includes a browser-based triage dashboard for reviewing and acting on findings.

Setup

pip install sentinel[web]
sentinel serve /path/to/repo

Opens automatically at http://127.0.0.1:8888. Use --no-open for headless mode.

Run dashboard

The main view after selecting a scan run. Severity stat cards give an at-a-glance summary, with findings grouped by severity level below.

Run overview — severity cards, filters, and grouped findings

  • Severity cards: Critical / High / Medium / Low counts at the top
  • Filters: Narrow by severity, status, or detector type
  • Compare: Select a previous run to see what changed
  • Grouping: Findings are grouped by severity, then by directory

Expanded findings

Click a directory folder to expand and see individual findings. Each row shows the status badge, title, detector, and file location.

Expanded findings list showing complexity and lint findings

  • Bulk triage: checkboxes on each finding with per-severity "select all" toggle
  • Sticky action bar appears for batch approve or suppress

Finding detail

Click any finding to see the full detail page with metadata, evidence, notes, and actions.

Finding detail page — metadata, evidence, notes, and actions

  • Metadata: detector, category, severity, confidence, fingerprint, file location
  • Recurrence: how many times this finding has been seen across scans
  • Evidence: code snippets with line numbers, git history for the affected file
  • Notes: add annotations for team context
  • Actions: approve for GitHub issue creation, or suppress with an optional reason

Run history

All past scans with finding counts and scope badges (full / incremental / targeted).

Run history table

Select any run to drill into its findings. Use the "Compare" dropdown on a run page to diff against a previous run and see new, resolved, and persistent findings.

New scan

Start a scan from the browser with full control over provider, model, capability tier, and detector selection.

New scan form with provider, model, and detector options

  • Repository path, LLM model, and embedding model fields
  • Provider and Capability Tiers dropdowns
  • Skip-judge and incremental toggles
  • Per-detector checkboxes with capability tier badges

Settings

View the active configuration, whether a sentinel.toml was found, and environment variable status.

Settings page showing active configuration and env vars

Other pages

GitHub Issues

  • View approved findings ready for issue creation
  • Create GitHub issues or dry-run preview
  • Config status indicator (token, owner, repo)

Evaluation

  • Run detectors against ground-truth for precision/recall measurement
  • Results history with server-side SVG trend chart

Configuration

sentinel serve /repo --host 0.0.0.0 --port 9000  # custom bind
sentinel serve /repo --db /path/to/custom.db       # custom database
sentinel serve /repo --no-open                      # don't open browser

Security

  • CSRF protection via HMAC-signed tokens (SameSite=Strict cookies)
  • Scan paths validated against configurable allowed_scan_roots
  • Path traversal prevention via Path.resolve()
  • Binds to 127.0.0.1 by default (localhost only)

Theme

"Night Watch" dark-first theme with light mode toggle. System font stack — no external font dependencies.

Clone this wiki locally