SlopGradeby Maxor Global LLC
Sign inStart free
Docs · GitHub Action

Add the gate in two minutes.

One workflow file. A public repo works before you even sign up, with no secret to store — GitHub proves your repo with OIDC. Your code stays in your runner.

Quickstart

Three steps to a gated pull request.

1

Add the workflow

Create .github/workflows/slop-gate.yml. Keep the job name slop — it is the check you will require.

# .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 — inline findings on the PR
      security-events: write   # optional — Security tab (Code Scanning)
    steps:
      - uses: actions/checkout@v4
        with: { fetch-depth: 0 }
      - uses: maxor-tech/slopgrade-firewall@ad16c325dfe136c2f66107da87655b3b330e8575  # v0.9.2
2

Open a pull request

The slop check runs on the PR. Findings appear inline on their line, in the run summary and — with security-events: write — in the Security tab.

3

Require the check

Make slop a required status check on main (GitHub branch protection, or « Protect main » in the app). A blocking finding now stops the merge.

Inputs

Every option is off or safe by default.

InputDefaultWhat it does
firewall-modegategate blocks on a blocking finding when the repo is entitled ; advisory reports only ; off disables.
strictfalseFail closed when no verdict is available (default fails open).
upload-sariftrueSend findings to Code Scanning with your own token (needs security-events: write).
sarif-file—Also write the SARIF report to a file.
deep-scanfalsePaid, opt-in : also send the source of sink-bearing files (≤ 40 files) to the hosted taint engine. The only mode that sends code.
deep-scan-blockfalseWith deep-scan + gate : a new deep-scan finding fails the check.
Who gets blocked

Free where it matters most.

Free · blocks

Public repos

Cross-tenant gate + the 22 open-source classes block, forever.

Free · blocks

Your first private repo

Same classes as a public repo — one per account.

Advisory

Other private repos

Count + one located sample per class ; never blocked until the repo has a paid slot.

Outputs & troubleshooting

Wire it into the rest of your pipeline.

Outputs

verdict (advisory · gate-blocked · gate-unpaid · gate-pass), blocked, hard-leaks, blocking-findings, conformance, entitled, sarif-uploaded.

No comments on PRs from forks?

GitHub gives fork PRs a read-only token : the gate still runs, the inline feed and the Security-tab upload are skipped.

The run passed but found nothing — did it scan?

Every run prints a coverage line (packs · files scanned), so a clean run is never mistaken for an empty one.

See exactly what is sent

node isolation-gate.mjs --print-payload prints the payload and exits without contacting the server.