Different jobs, same pull request.
Semgrep scans code against security and correctness rules. heygrc reasons about your compliance obligations and cites the control a change touches. A change can be ordinary code and still send personal data to a party you have no agreement with.
Semgrep
Semgrep is a static analysis tool that scans code against security and correctness rules and can block a merge when a rule matches.
heygrc
heygrc reviews each pull request against the compliance frameworks your company must meet (ISO 27001, SOC 2, GDPR, and more) and cites the specific control a change touches. It is built for compliance, not code quality.
Ordinary code that sends data to a new processor.
This change adds a call to a third-party enrichment API, sending the customer email and name. It is an ordinary HTTPS call.
async function enrich(user) {+ const res = await fetch("https://enrich.vendor.io/v1", {+ method: "POST", body: JSON.stringify({ email: user.email, name: user.name }) }) return res.json()}It sends personal data to a new processor, and using a processor without a data processing agreement is a GDPR Art. 28 issue. heygrc is built to notice when a change introduces a third party your compliance program has not covered.
Keep Semgrep. Add the compliance layer.
This is not a question of which tool wins. Semgrep catches the bugs and quality problems heygrc never looks for, and heygrc catches the compliance issues a code review is not built to see. Running both means a pull request is checked for whether the code is good and for whether the change is compliant, two different kinds of risk, on the same diff.
heygrc does not replace your code review, and it does not certify you. It reviews changes against your frameworks and cites the control, so the compliance question is answered where the change is made. heygrc is in early access.
heygrc and Semgrep, common questions.
Is heygrc an alternative to Semgrep?
Not exactly. Semgrep reviews your code; heygrc reviews each change for compliance against the frameworks your company must meet (ISO 27001, SOC 2, GDPR, and more) and cites the specific control it touches. They answer different questions about the same pull request, so heygrc is designed to run alongside it, not replace it.
Can I use heygrc and Semgrep together?
Yes. They look at different kinds of risk on the same diff: Semgrep on the code, heygrc on the compliance control a change touches. heygrc does not replace your code review.
What does heygrc check on a pull request?
heygrc reviews each pull request against the frameworks your company selected and cites the specific control a change touches, so the compliance question is answered in code review. heygrc does not certify you and is in early access.
How heygrc fits with other tools.
See also: Semgrep alternatives.