What leaves your CI. What never does.
slopGrade is a GitHub Action that runs in your runner. By default your code never leaves it — only a structural fingerprint does. Here is exactly what is sent, where it goes, and how to check it yourself.
It depends only on what you turn on.
Fingerprint only
- Sent
- File paths and {file, line, kind} per finding.
- Never sent
- Your code, file contents, secret values.
- Where
app.slopgrade.ai, proven by a GitHub OIDC token.
Deep scan
- Sent
- The source of at most 40 files / 2M characters — only files that hold a dangerous sink.
- Kept
- Nothing of the code — forwarded to the engine, then dropped. Only file:line, the CWE and a one-line evidence stay.
- Default
- Off. Advisory when on ; blocking only if you choose.
Self-hosted
- Sent
- Nothing. The engine runs in your infrastructure, air-gapped.
- For
- Code that must never leave (regulated, air-gapped networks).
A location and a kind. Never the line itself.
// one finding, as posted by the default run { "file": "src/export.ts", "hits": [{ "line": 14, "kind": "node-exec" }] }
Don't trust us — check the payload.
Print the payload
node isolation-gate.mjs --print-payload prints exactly what would be posted, then exits without contacting the server.
Pin the commit
The client is MIT open source with zero npm dependencies. Pin the commit SHA — a tag can move, a SHA cannot.
Your token, your repo
The PR comments and the Security-tab upload use your own GITHUB_TOKEN, to your own repo. Those findings never reach us.
No stored secret. A fixed endpoint. Fail-open by default.
A short-lived, GitHub-signed OIDC token, audience-bound to our origin. There is no API key to store or leak.
No. The endpoint is fixed ; a custom origin is refused unless you explicitly allow it for your own self-hosted server.
Closed-source extractors for the rest of the catalog, downloaded at run time, size-bounded and sha256-checked. Their output passes a second egress filter that drops any source-bearing field.
The build never breaks : every call is bounded and fails open. Set strict: "true" if you'd rather fail closed.
Found something? Tell us first.
Write to hello@slopgrade.ai — our /.well-known/security.txt lists the same contact.