Comparisons Semgrep
Semgrep alternative for Supabase and Next.js
Semgrep is a static analysis engine. You give it rules written in a syntax that looks like the code they match, and it flags anything matching them across your repository. The open-source engine is free, genuinely good, and there is a registry of thousands of community rules covering common vulnerability classes in most languages. The model is pattern matching over source files — which is exactly why the questions in this comparison are hard for it: the absence of a line is not a pattern, and a deployed JavaScript bundle is not a source file.
Where Semgrep wins
Semgrep is a better static analysis engine than anything inside Sentris, and it is not close. If you want to express a rule about your own codebase — a function nobody should call, an import that should never appear in a route handler — Semgrep will do it and Sentris will not. It also runs entirely offline, which for some teams settles the question on its own.
Side by side
| Semgrep | Sentris | |
|---|---|---|
| Runs offline / self-hosted | ■ yes | — no |
| You can write custom rules | ■ yes | — no |
| SAST breadth across many languages | ■ yes | — no |
| Free for a small team | ■ yes | ◧ partly |
| Knows Supabase RLS with no setup | — no | ■ yes |
| Detects a policy granting using (true) | ◧ partly | ■ yes |
| Reads the live deployed bundle | — no | ■ yes |
| Checks storage bucket configuration | — no | ■ yes |
| Rules you have to maintain yourself | ■ yes | — no |
| Re-scans on a schedule and alerts on new findings | ◧ partly | ■ yes |
| Price | OSS engine free; cloud free to 10 contributors, then about $35 per contributor / month | Free to scan; $19 / month flat for findings and fixes |
Prices checked 30 July 2026 against each vendor's public pricing page. Check theirs before deciding — ours is on this page.
Choose Semgrep if
- You want to write and own your own rules.
- Your code cannot leave your network, so the scanner has to run locally.
- You need SAST breadth across several languages.
- You have someone who will maintain a rule set as the codebase moves.
- You are already running it in CI and it is working.
Choose Sentris if
- You do not want to author a rule for “this table has no enable row level security anywhere in the migration history”.
- You want the tool to arrive already knowing what service_role, anon and publishable keys are and which of them is allowed in a browser.
- You want the deployed site checked, not only the repository.
- You want the finding to come with the SQL that fixes it.
- Nobody on your team wants to own a rule set.
Questions
Could I just write Semgrep rules for all of this?
For some of it, yes. A rule matching createBucket({ public: true }) is a morning's work. The ones that do not fit the model are the cross-file, stateful questions — whether a table that appears in one migration ever gets RLS enabled in any later one — and anything about your deployed bundle, which Semgrep never fetches. Getting those right is the part that takes longer than the tool costs.
Is Semgrep free?
The OSS engine is, permanently. The hosted platform is free up to 10 active contributors and 50 repositories, which covers a great many small teams outright. Above that it moves to per-contributor pricing.
Does Sentris run in CI?
Not as a CI step today. It runs against a connected repository and against the deployed URL, on a schedule, and alerts you the first time a finding is new. If a blocking pre-merge gate is what you need, Semgrep in CI is the right shape for that and Sentris is not.
One number nobody else on this list publishes
False-positive floods are the standing complaint about this whole category, and not one tool in it states its rate. Ours is precision 1.000, recall 1.000 over 24 planted findings in 9 repositories — with the date, the commit, the scoring rules and the command that reproduces it, plus a paragraph on why 9 repositories is a small corpus. Measured 2026-08-11.
Find out in about a minute.
A scan needs no account and no card. You see how many exposures you have before you decide whether any of this comparison matters.
Scan my app