Sentrail

Features

Seven checks in. One verdict out.

Sentrail is not a checklist and not a wrapper around npm audit. It collects timestamped evidence from your database, repositories and deployments, and will only call a project ready when all of that evidence exists and is current.

Required checks

What does Sentrail read during a security check?

Sentrail reads and timestamps evidence from your database, repositories, and deployments into append-only scan receipts. Original provenance is preserved while permitted finding lifecycle fields can change, and the launch verdict is recomputed from current qualifying evidence.

needs Supabase + GitHub

Connectivity

Confirms the connectors an audit depends on are actually active, so no verdict is ever computed with a blind spot.

connectivity

needs Supabase

Database RLS

Reads every non-system table and its policy count to catch tables with Row Level Security off, and tables with RLS on but zero policies.

rls_scan

needs Supabase

Supabase advisors

Pulls Supabase's own security and performance advisor lints — exposed views, definer functions, unsafe function search paths, auth configuration.

supabase_advisors

needs GitHub

Code scan

Searches your connected repositories for service-role keys and other credentials sitting in client-reachable paths or public-prefixed env vars.

code_static_scan

needs GitHub

High-risk file review

Locates and reads the security-critical files — auth handling, middleware, webhooks, env plumbing, migrations — and reviews what they actually do.

repo_high_risk_read

needs GitHub

Dependency audit

Resolves your package manifests and checks each dependency against the OSV vulnerability database for known advisories.

dependency_audit

needs Vercel

Deployment posture

Classifies deployment environment variables by risk and inspects deployment protection settings on the hosting side.

deployment_check

Verdict logic

How are the four security states decided?

Sentrail decides security states by validating if evidence is current within a 24-hour freshness window. Critical or high severity findings block launches outright, while lesser findings cap the score to 'needs review'.

Ready

Every required check has fresh evidence and there are zero open critical or high findings.

Needs review

Evidence is complete and nothing critical or high is open, but medium and low findings are waiting on a human decision.

Blocked

Evidence is complete and at least one open critical or high finding stands between you and launch.

Insufficient evidence

One or more required checks has never run, failed, or has gone stale — so no score is reported at all.

The ready boundary

Evidence is only counted as current inside a freshness window — 24 hours by default. Outside it, the check is stale and the verdict drops to insufficient evidence. Findings that are still open at critical or high severity block a launch outright; medium and low findings hold the verdict at needs review and are capped so they cannot quietly sink the score.

"Ready" certifies required connectors are active, every required check has evidence from the last 24h (default), and there are zero open critical/high findings across code, database, Supabase advisors, dependencies, and deployment posture. It does not include the deep Semgrep/Gitleaks/OSV scanner, DAST-lite, the LLM-wiring audit, or a human review — those are separate, optional checks.

Beyond the seven

Deeper checks, kept out of the verdict on purpose.

These run on demand. They are useful, they are real, and they are excluded from the ready boundary so that boundary stays precise.

Deep code scan

Runs Gitleaks, OSV-Scanner and Semgrep against a commit in an isolated scanner service, with secrets redacted before triage.

DAST-lite

Probes a running deployment for a small set of externally observable issues, such as missing security headers.

LLM wiring audit

Reviews how the codebase wires up language models — key handling, prompt construction and tool exposure.

Remediation

A fix is a proposal until a human says otherwise.

Sentrail writes fixes. It does not apply them behind your back, and it never merges anything.

  1. 01

    Proposal

    The agent writes a fix proposal — SQL, or exact file contents — against the finding. Nothing is written to your database or repository at this stage.

  2. 02

    Awaiting approval

    The proposal parks in an approval queue with its diff, its blast radius, and the finding it closes. Sensitive actions cannot skip this queue.

  3. 03

    Human approval

    A reviewer on your side approves or rejects. Approval is recorded with who approved it and when.

  4. 04

    Draft PR only

    On approval Sentrail opens a draft pull request on its own branch. It re-checks the base commit first and aborts if the branch moved underneath it.

  5. 05

    You merge

    Sentrail never merges. Every change lands through your normal review and CI, and the re-verification scan runs after the merge you performed.

Draft pull requests only. Merges stay with you and your CI.

Agent behaviour

An operator that has to show its work.

Runs the checks itself

Ask for an audit and the agent triggers the checks that are missing or stale, rather than reasoning over old evidence.

Refuses to guess

If required evidence cannot be collected, the answer is insufficient evidence — not a confident verdict.

Specialist subagents

Database, code, secrets, posture and recon work is delegated to focused agents with only the tools that job needs.

Sensitive actions queue

Anything that would change your database or repository is written to an approval queue instead of being executed.

Continuous scanning

The same rigour on every commit.

  1. Webhook

    A push or pull request on a monitored repository queues a scan run.

  2. Scanners

    An isolated scanner service runs Gitleaks, OSV-Scanner and Semgrep against the commit tarball.

  3. Redaction

    Matched secrets are fingerprinted and redacted before any finding reaches a language model.

  4. Triage

    Findings are ranked and labelled — true positive, likely false positive, needs review — with reasoning attached.

  5. Report

    Results post back as a pull request comment and a check run. Blocking merges on criticals is opt-in per repository.

Connectors

What Sentrail connects to today.

Supabase

via OAuth

Schema, RLS policies, advisor lints and auth configuration — read through the Management API.

GitHub

via GitHub App

Repository reads and evidence-backed review of connected source, with remediation guidance.

Vercel

via OAuth

Environment variable risk classification and deployment protection posture.

MCP access

29 tools for your coding agent.

Mint a scoped token and point Claude Code or Cursor at the Sentrail MCP server. Read-scoped tokens can inspect findings; scan-scoped tokens can also trigger audits. Fix proposals still land in the approval queue.

endpoint
https://sentrail.dev/api/mcp
transport
Streamable HTTP
auth
Bearer token, scoped read or scan

Control mapping

Findings mapped to the frameworks you get asked about.

OWASP ASVS

4.0.3

Application security verification requirements

SOC 2

TSC 2017

Trust services criteria

ISO/IEC 27001

2022

Annex A controls

PCI DSS

v4.0

Requirement references

Sentrail maps findings to control references. It does not assess, attest, or certify compliance.

Get started

Run the seven against your own project.

Connect Supabase and GitHub, then read the verdict alongside the evidence that produced it.