Product · the scan lifecycle

From zip to shredin about eleven seconds.

Your code is the most private thing you own. Sentinel reads it the way a careful reviewer would, follows your users’ data through it, in a machine that cannot talk to anyone, and forgets the code the moment the report is written. Here is everything that happens to it.

READ · NEVER EXECUTED
7steps
5scanners
0copies kept

The lifecycle

Seven steps. Nothing skipped.

Every scan follows the same path, whether it is a weekend project or a monorepo.

01
ZIP

You hand us a zip

Upload an archive of the project, or connect a repo, a cloud account or a live site with read-only access. Nothing is installed in your repository and nothing can write back to it.

What it handlesSource, lockfiles, configs, CI files and AI rules files (CLAUDE.md, .cursorrules, AGENTS.md).
What it never doesYour running app, your database or your customers’ data. We scan code, not production.
02
SEALED MACHINE

A fresh, sealed machine opens

The coordinator starts a brand-new microVM for this one scan. The network is denied at the machine boundary, so nothing inside can phone home, fetch a payload or leak a byte. The machine is not persisted.

What it handlesA Firecracker microVM, one per scan, network policy deny-all.
What it never doesA shared worker, a warm container or a machine that has held anyone else’s code.
03
READ, NEVER EXECUTE

Read, never executed

The archive is extracted with zip-slip, symlink, executable-bit, file-count, size and compression-ratio guards. Then the scanners parse your files. No npm install, no build scripts, no tests, no app start. A malicious postinstall in a dependency does nothing, because nothing runs.

What it handlesASTs, manifests, configs and text.
What it never doesA single line of your code executing.
04
FIVE SCANNERS

Five scanners read it in parallel

Sentinel’s own static engine, four Semgrep packs, a secrets detector, an offline OSV advisory index and the AI provenance scanner each take their own pass, with no network and no registry calls.

What it handlesRaw findings tagged with the tool that produced them.
What it never doesA model deciding what is a vulnerability. Findings come from software that measured something.
05
CORROBORATE

Findings are cross-checked

A finding two independent tools agree on is corroborated. One only a single tool sees is labelled single-source. A finding the tools disagree on is marked disputed. Nothing is hidden to make the list look shorter, and nothing is inflated to make it look longer.

What it handlesEach finding’s corroboration, severity, SOC 2 criterion and ISO Annex A control.
What it never doesSilent suppression.
06
REDACT + SEAL

Redacted, then sealed to your key

Secrets are cut down to a safe prefix before any finding leaves the machine. Anything derived from your code is encrypted to your organization’s public key inside the sandbox. Our scanners can write results; they cannot read them back.

What it handlesRedacted findings metadata, and a sealed blob only your org key opens.
What it never doesPlaintext code snippets or live credentials in our database.
07
SHRED

The source is shredded

The extracted source and the archive are overwritten and deleted inside the machine. The upload is destroyed from the bucket. The machine is stopped. The report is stamped with the engine, the rules hash and the date of the threat data it used, so anyone can tell exactly what scanned it.

What it handlesA stamped report, and a ledger entry for the scan.
What it never doesYour code, after the scan. Typically gone in about eleven seconds.

The five scanners

Five tools. Each one sees something the others miss.

No single scanner is trusted on its own. That is why there are five, and why their findings are cross-checked before any of them counts.

Sentinel static enginesentinel-static
50 rules

AST analysis plus taint tracing from request inputs (body, query, headers, cookies) to dangerous sinks: SQL, shell, eval, file paths, redirects, HTML. Also finds missing auth on routes, open CORS, weak crypto, unsafe cookies, PII flowing into logs and unpinned CI actions.

CC6.1 · CC6.6 · CC7.1 · A.8.28
Semgrepsemgrep
4 packs

Four curated rule packs run locally. The sandbox has no network, so there are no registry calls and no rules fetched at scan time. Semgrep’s pattern matching is a second opinion on injection, auth and crypto findings.

CC6.6 · A.8.25
Secrets detectordetect-secrets
patterns + entropy

Provider-shaped keys (Stripe, AWS, GitHub, Supabase, OpenAI and friends) and high-entropy strings in source, configs, notebooks and committed .env files. Matches are redacted before they leave the machine.

CC6.1 · A.5.17
OSV advisory indexosv-offline
rebuilt weekly

Your lockfiles are matched against an offline snapshot of the OSV vulnerability database, so no dependency list ever leaves the sandbox. Every report states the date of the snapshot it used.

CC7.1 · A.8.8
AI provenance scannerprovenance
hidden Unicode · rules files

Zero-width and bidirectional-override characters that hide code from reviewers; hidden or poisoned instructions in CLAUDE.md, .cursorrules and AGENTS.md; builder fingerprints and AI co-author trailers in git history. It reports what it finds. It does not claim to detect AI-written code in general.

CC6.8 · A.8.4

Controls shown are examples of the SOC 2 criteria and ISO 27001:2022 Annex A controls each scanner feeds. In total: 93 Annex A controls mapped (33 automated) and 43 SOC 2 Trust Services criteria (13 automated). The rest need policies or records only your team can write, and the report says which.

The engine stamp

Every report says exactly what scanned it.

The stamp pins the rules and the threat data used, so a result can be explained, repeated and audited. The OSV index and Semgrep packs are rebuilt weekly; the date is on every report.

If a scan ever runs without the sandbox, for example a local development run, the stamp says so on the face of the report.

Engine stampreport 0203f3 · acme-app
engine
sentinel-engine
rules hash
b4a03412
rules
50 static · 4 semgrep packs
threat data
OSV snapshot · 2026-10-07
ran in
microVM · network deny-all
source
shredded · 11.4s

What we never see

The short list of things that are not on our side.

Your code, after the scan

The source is overwritten and deleted inside the machine and the upload is destroyed from the bucket.

Your secrets, in plaintext

Keys are redacted to a short prefix before findings leave the sandbox.

Your results, unlogged

The web app reads results only through a vault call that writes the access ledger first. No log, no decrypt.

Your production data

Sentinel reads code and configuration. It never connects to your database or replays your traffic.

Your cloud credentials, afterwards

Cloud checks use read-only credentials you create, and they are not kept after the scan.

Read the Trust page →

Your first badge is a month away

See what it finds in your code.