Security & compliance deep-dive · for evaluators

Your code security agent — built for the perimeter

A technical brief for security and compliance teams in regulated sectors. goju runs entirely inside your environment — static, dynamic, supply-chain and regulatory analysis in one signed binary — and turns every scan into auditor- and board-ready evidence. No upload step. No telemetry. Air-gap capable.

Banking & financial services Healthcare Public sector & defense Critical infrastructure
The problem in regulated sectors

Cloud scanners ask you to upload the very thing you're regulated to protect

Most code-security vendors are SaaS: your source, dependency trees and findings leave your control to be analysed. For a bank, hospital or government team that is the wrong default — and it still doesn't answer the question your regulator actually asks: show me the evidence.

Data residency & sovereignty

Source code and lockfiles are among your most sensitive assets. Uploading them to a third-party analyser creates exposure, contractual risk and cross-border data-transfer questions you have to defend.

Evidence, not assertions

DORA, NIS2 and the EU CRA expect demonstrable control of your software supply chain — measured, dated, attributable. A green dashboard isn't evidence; a scored control with the finding behind it is.

The supply chain is the attack surface

Shai-Hulud, event-stream, tj-actions, XZ — the recent high-impact incidents are supply-chain compromises, not classic CVEs. CVE scanners report yesterday's known bugs; they don't detect the compromise pattern itself.

AI/ML is a new, unscanned front

Model artifacts (.pkl/.pt/.ckpt) can carry code-execution payloads, and LLM-backed features add a fresh class of application risk. Most toolchains have no coverage here at all.

Deployment & data handling

One signed binary, inside your boundary

goju is a single statically-linked Go binary with no external service dependencies. It runs on a laptop, a build agent, a VM or a Kubernetes pod in your own network. Here is exactly what it does — and does not — touch.

Stays local

Everything by default. Source, lockfiles, scan results, findings and the SQLite datastore live on the host you run it on. There is no goju cloud and no account.

Embedded, offline

~227k known-malicious packages and the typosquat corpus are baked into the binary. Supply-chain matching needs no network call — it runs fully air-gapped.

No telemetry

No phone-home. goju emits no usage analytics. The only outbound traffic is what you configure — e.g. a Slack/webhook alert or an SMTP report.

  • Signed & verifiable releases. Every build is minisign-signed (Ed25519) and verified in-process from an embedded trusted key — tamper-evident, supply-chain-hardened delivery of goju itself.
  • Runs where you do. CLI for engineers and CI, goju serve for the dashboard, container image and Kubernetes manifests with TLS for a shared internal deployment.
  • SSO, RBAC & full audit. OIDC single sign-on against your IdP, least-privilege roles (admin / analyst / viewer), and an append-only audit trail of every mutating action.
  • Your secrets stay yours. SMTP, IdP and webhook credentials live in your config; goju never transmits them anywhere but the endpoints you point it at.
Coverage

Four fronts, one agent — what each one actually does

Three fronts are deep, built-in and run offline; the fourth orchestrates the industry-standard dynamic engines against your running apps.

Static — code & config at rest

  • SAST via Semgrep & gosec, with optional LLM-assisted review
  • Secrets in the working tree and across full git history
  • IaC misconfiguration (Terraform, Kubernetes, Docker)
  • PII / cardholder data detection in source
  • OSS licence policy & obligations
built-in · offline

Dynamic — your running apps

  • OWASP ZAP & Nuclei, orchestrated by goju
  • Baseline, OpenAPI-driven and authenticated scans
  • Automatic environment / target detection
  • Industry engines, run entirely on your infrastructure
ZAP · Nuclei · your infra

Supply chain — the code you didn't write

  • ~227k known-malicious packages (full OSV set) matched offline
  • Malicious install hooks — postinstall exfiltration / worms
  • Typosquats & homoglyphs (edit-distance + Cyrillic/Greek)
  • Transitive tree walk — node_modules, .venv, vendor/
  • CI/CD attacks — unpinned actions, pull_request_target
  • AI/ML artifacts — pickle-opcode disassembly
goju's deepest front · 14 manifest formats

Regulatory — evidence from real data

  • 6 frameworks — DORA, NIS2, EU CRA, SOC 2, GDPR, PCI-DSS
  • Scored from your actual scan results, not a questionnaire
  • Per-control status, gaps, recommendations, reporting deadlines
  • Role cockpits — Executive, CTO, Dev, Legal & Compliance
scored · auto-evidenced

Detection is measured, not asserted: every release is scored against a labelled benchmark corpus (make bench), and the numbers are published in the repository. The headline figure on our supply-chain corpus is 100% detection at 0% false positives.

Compliance evidence

From scan results to scored control evidence

goju's compliance engine reads your real findings and posture and computes, per framework, a scored report your auditors can actually use — every control backed by the data behind it, with the gaps and remediations made explicit.

Per-control scoring

Each framework breaks into controls with a status — met, partial, not met or manual — derived from the underlying findings, plus an overall score and auto-evidenced coverage percentage.

Gaps & recommendations

Open gaps are listed with priority and the specific requirement or article they map to, each paired with a concrete recommendation — so remediation is a work-list, not a research project.

Reporting deadlines

Incident-reporting clocks for DORA and NIS2 (initial notification, intermediate, final report) are surfaced where the obligation actually bites — in the Legal & Compliance cockpit.

Auto-evidenced only — manual attestations excluded

Scores reflect what goju can evidence directly from scans. Controls that require human attestation are flagged manual rather than silently passed — so the number you present is defensible, and you know exactly what is left to attest.

Reporting & audit

Board-, auditor- and team-ready outputs

The same posture data feeds every audience — from a one-page board PDF to a per-repository owner's report to a machine-readable export for your SIEM or code-scanning UI.

Executive report

A formal, printable posture report — overall grade, risk KPIs, regulatory posture, top critical findings and methodology. Print or save as PDF for the CISO, board or auditors.

PDF · white-label

Posture trend

A modelled posture sparkline over the quarter, with grade delta (e.g. F → C) — the trajectory, not just today's number, for the board narrative.

90-day trend

Per-framework evidence packs

Each framework's controls, gaps and recommendations as a printable report or raw JSON — drop straight into an audit folder or GRC tool.

printable · JSON

Per-repository reports

The same template scoped to a single repository, for application-team owners to act on their own posture and criticals.

scoped

Scheduled digests

A monthly (or weekly) posture email to your distribution list, with a link to the live report — sent via your own SMTP, on your schedule.

SMTP · monthly

White-label & exports

Brand reports with your organisation's name and logo. Export findings as SARIF, CSV or JSON; generate SBOMs (CycloneDX / SPDX) per project.

SARIF · SBOM · branding
Regulation mapping

What goju evidences, by framework

A starting map from each regime to the goju capability that produces the evidence. Indicative, not a substitute for your own control mapping — but a concrete place to begin the conversation.

FrameworkWhat goju evidencesOutput
DORA ICT third-party / supply-chain risk in code, vulnerability management posture, incident-reporting clocks. Scored report · deadlines · digest
NIS2 Supply-chain security, vulnerability handling and disclosure posture, evidence of continuous scanning. Scored report · deadlines
EU CRA Secure-development evidence, SBOM, known-vulnerability and malicious-component handling across the dependency tree. Scored report · SBOM
SOC 2 Change/vulnerability-management controls, secrets handling, audit trail of security activity. Scored report · audit log
GDPR PII / personal-data detection in source, secrets exposure, data-handling risk surfaced for review. Scored report
PCI-DSS Cardholder-data detection, secure-coding (SAST), dependency and secrets controls in the CDE codebase. Scored report
Governance & operability

The controls a regulated team needs to run it

Access & identity

  • OIDC SSO against your IdP
  • RBAC — admin / analyst / viewer
  • Writes gated to authorised roles

Accountability

  • Append-only audit log of every mutation
  • Who changed what, and when
  • Exportable for review

Pipeline integration

  • CI gate--fail-on-critical
  • SARIF for code-scanning UIs
  • Auto-scan on push; auto-fix PRs
Evaluation path

How to put it to work — a four-step pilot

Designed to prove value inside your perimeter in days, not quarters, with nothing leaving your environment.

1

Run it on one repo

Drop the binary on a build agent and point it at a representative service. No account, no upload, no database to stand up.

2

Review the evidence

Walk the supply-chain findings and the scored compliance reports with your security and GRC leads. Check them against your own corpus.

3

Deploy the dashboard

Stand up goju serve with SSO and TLS for a shared view; wire a CI gate on a pilot pipeline.

4

Operationalise

Enable scheduled scans and the monthly posture digest; brand the reports; roll out across teams behind RBAC.

Let's scope a pilot for your environment

We'll help you map goju to your control framework, stand up an air-gapped or on-prem deployment, and run it against a representative slice of your estate — all inside your boundary.

Talk to us about a pilot Back to overview