SlopGradeby Maxor Global LLC
Sign inStart the free 14-day trial
By default, file contents stay on the runnerFor teams shipping AI-written code to multi-tenant production

Ship AI-written code
without shipping a security leak.

AI-written PRs quietly ship queries with no org filter, SQL injection, hardcoded secrets and SSRF. slopGrade Firewall blocks cross-tenant leaks and PHP echo/print XSS from unescaped request input; paid slots also block request-reachable HMAC/signature comparisons using ==. Other findings remain advisory, before merge — deterministic, $0, and only a {file · line · class} fingerprint is sent by default on a private repo. Public repos run the deep scan (heisen-slop) by default; on a private repo it is a paid opt-in.

0
lines of source stored
0
model calls · deterministic
125
classes when hosted
3
of them block today
Trust, proven — not promised
Open-source clientMIT · audit every line before you pin it
Audit the fingerprint--print-payload prints the exact bytes sent
Pin the SHAfreeze the exact code; a tag can be re-pointed
The content stays puton a private repo, by default only the structural fingerprint is posted
Fail-opena failure never breaks your build

Built for teams whose private code stays on the runner by default. Enterprise can run heisen-slop inside your network.

4 languagesJS/TS · Python · Go · .NET
OIDCno stored secrets
0 dependenciesnpm — Node builtins only
Advisory → gatestart in advisory, block when you're confident
The problem

By default, the security scan never sees your private code.

Hosted AI reviewers and SaaS scanners ingest your source code into their platform. For many teams — fintech, health, public sector — that alone is a dealbreaker. slopGrade Firewall runs the detectors inside your runner and, on a private repo, posts only a structural fingerprint by default. The deep scan (heisen-slop) is a paid opt-in there, and on by default on public repos.

Typical SaaS scanner

what leaves your infra

Your whole repo — every line, every secret — copied into a third-party platform.

slopGrade Firewall

what leaves your runner
{ "file": "api/orders.py", "line": 57, "kind": "sql-injection" }

A structural fingerprint — path, line, class. On a private repo the file content stays on the runner by default; the deep scan (heisen-slop) is a paid opt-in. On a public repo the deep scan runs by default. Audit the default payload with --print-payload.

How it works

Detect → adapt → verify. On a private repo, nothing else leaves by default.

01 · DETECT

Locally, in your runner

The open-source client walks the diff and builds a structural fingerprint — file paths, {file, line, kind}, and the table and column names the cross-tenant check needs. By default, the contents of your private files stay on the machine.

02 · ADAPT

Server verdict + gate

The fingerprint is classified server-side. Cross-tenant leaks and PHP echo/print XSS from unescaped request input block on public repos, the free private repo and paid slots. A timing-unsafe HMAC/signature comparison using == blocks only on a paid slot, when a request can reach it. All other XSS shapes and classes report without blocking. The paywall fails open. For XSS, only unescaped PHP echo/print of request input ($_GET / $_POST / $_REQUEST / $_COOKIE) blocks.

03 · VERIFY

Fix computed in your runner

Every finding posts inline on its line. For classes with a safe deterministic rewrite (TLS verification off, debug on, yaml.load…), the fix is generated AND verified in your runner — the server never touches it, and it's only offered once it's proven to clear the finding.

What it detects

Cross-tenant + PHP echo/print XSS block free. Other findings report only.

The 22 open-source detector packs run on every repo. Free blocking covers cross-tenant leaks and only PHP echo/print XSS from unescaped request input; other XSS shapes and classes report without blocking. Paid slots detect the full 125-class catalog; 3 classes block today, adding request-reachable HMAC/signature comparisons using ==. Cross-file dataflow is the deep scan (heisen-slop).

SQL injectionCWE-89
Command injectionCWE-78
XSSCWE-79
SSRFCWE-918
XXECWE-611
Insecure deser.CWE-502
Path traversalCWE-22
Hardcoded secretsCWE-798
Broken cryptoCWE-327
CORS reflectedCWE-942

The full paid detection catalog: 125 classes →

Under the hood

Deep scan (heisen-slop)

The deep scan (heisen-slop) is a deterministic dataflow pass across 6 languages. It is free on public repos, a paid opt-in on private repos, advisory by default, and the source is analysed in memory and dropped. Running it in your infrastructure is an Enterprise option, described on the engine page.

Free vs hosted

The free tier is real. The gate is where it pays.

Free (open source)
Hosted
Detection classes
Cross-tenant + PHP echo/print XSS block; 22 open-source packs run; other findings report only
full 125-class catalog
Dataflow
intra-function
Deep scan (heisen-slop), advisory — not the default gate
False-positive suppression
commodity context checks
calibrated on a large private corpus
Private repos
blocking on 1 private repo; advisory on the rest
blocking gate on every protected repo
Public repos
blocking gate, free
blocking gate, free
Inline PR feed + safe auto-fixes
✓ on gated repos
✓
Pricing

Block leaks on private repos. Solo for one person, Team for a team — never per seat.

Solo: 10 private repos for one person, up to 50. Team: 50 private repos, unlimited users, Deep Scan on every PR. Blocking is free on every public repo and one private repo. 14 days free, no card.

$129 / month on Solo, for one person
$49 for 10 repos + 20 repos at $4 · or $1,290 / year (2 months free)
A team: Team $299 / month — 50 repos, unlimited users
Free
$0 forever
Blocking on public repos + 1 private · advisory everywhere
Start in advisory
Solo
$49 / month
One person · 10 private repos, up to 50 · 3 classes block · Deep Scan API
Start Solo — 14 days, no card
Team
$299 / month
50 private repos · 3 classes block · Deep Scan on every PR · unlimited users
Start Team — 14 days, no card
Enterprise
Negotiated
Volume, custom packs, SLA · SSO and on-prem scoped in the contract
Book a 30-min call

Public repos are gated free, forever. Solo and Team: 14 days free, no card, once per account.

Ready to block the next leak before it merges?

Add it to one workflow file. The first AI-written PR you scan will tell you what it was about to let through.

2-min setup · no card · the client is open source (MIT) · fail-open
FAQ

The questions a security team asks first.

Does my source code leave the runner?

The contents of your private files never leave the runner by default. The client reads files locally and posts only a structural fingerprint — paths, {file, line, kind}, and the table and column names the cross-tenant check needs. Run node isolation-gate.mjs --print-payload to audit the exact bytes sent. Even a hardcoded secret emits only the location and kind, never the value. The deep scan (heisen-slop: a paid opt-in on a private repo, on by default on a public repo) sends at most 80 sink files / 2M characters, analyses them in memory and drops them. It is advisory unless you set deep-scan-block. A free private repo never sends source.

Will it spam my PRs or break my build?

No. Start in advisory mode — see every finding without blocking — then switch to gate when you're confident. Cross-tenant leaks and PHP echo/print XSS from unescaped request input block free; paid slots also block HMAC/signature comparisons using == when a request can reach the comparison. Other XSS shapes and classes remain advisory until they pass the public blind-evidence bar. The gate fails open by default: a network, server or OIDC failure never breaks a build; strict lets you fail closed.

The auto-fix — where does it run?

For classes with a safe deterministic rewrite (TLS verification off, debug on, yaml.load…): in your runner. The fix is generated and verified locally (we re-run the detector on the patched buffer and keep the fix only if it clears the leak) — the server never touches it, and your tree is never modified: applying it stays your call.

Can I audit the code that runs in my CI?

Yes — the client is open source (MIT). Pin the commit SHA to freeze the exact code (a tag can be re-pointed, a SHA can't). Zero npm dependencies; only Node builtins.

What languages?

JavaScript/TypeScript, Python, Go and .NET today, plus the PHP echo/print XSS shape. The 22 open-source detector packs report for free. Free blocking covers cross-tenant leaks and only PHP echo/print XSS from unescaped request input; other XSS shapes remain advisory. The paid firewall adds Java and the full 125-class catalog; 3 classes block today, including request-reachable HMAC/signature comparisons using ==.

Add it to one workflow file. Catch the leak before it merges.

# .github/workflows/slop-gate.yml name: slop-gate on: { pull_request: {} } jobs: slop: # keep the job name: it is the check you require runs-on: ubuntu-latest permissions: contents: read id-token: write # required — OIDC proves the repo, no secret pull-requests: write # optional — judges the PR on its own changes + inline findings security-events: write # optional — Security tab (Code Scanning) steps: - uses: actions/checkout@v7 with: { fetch-depth: 0 } - uses: maxor-tech/slopgrade-firewall@f18a953e15e84ff0f9e457da4a056ddea3548d46 # v0.13.6