Security & Privacy

Cerberus is a security product, so we treat your code and data with the same care we recommend to our users. This page explains how we handle source code, isolate agents, store reports, and manage customer data.

Source code handling

CLI (examine.py): Native checks and ALIGNMENT run locally and do not upload source code. Output is written only to paths selected with --json, --html, --sarif, and --feeder-json. Optional third-party feeders may have their own network behavior; review and isolate them before use.

Web app: Runs entirely in your browser. It fetches the repository tree and file contents directly from the public GitHub API and the raw.githubusercontent.com CDN, evaluates every check client-side, and never sends your source code to a Cerberus-operated server — because there isn't one. If you supply a personal access token, it is sent only to api.github.com, never to the raw CDN, and never leaves your browser otherwise.

What "agents" actually are

The nine native catalog agents are named groups of static checks in checks.json. ALIGNMENT is a bounded, read-only native analyzer with its own score. Neither executes repository content. External feeders are real third-party processes and are clearly distinguished by tool provenance.

External feeder boundary

Cerberus invokes only fixed executable names with argv-based subprocess calls; it never builds shell commands from repository text. Each feeder has a timeout, separate bounded stdout/stderr capture, structured error handling, JSON validation, path containment, and applicability checks. .cerberusignore, Git metadata, symlinks, and the nested scanner checkout are excluded where appropriate; Gitleaks and OSV-Scanner receive isolated filtered trees.

No tool is downloaded during a scan. Install exact reviewed versions separately, verify release provenance, grant minimum filesystem/network credentials, and use --native-only for the smallest offline trust boundary.

Report storage

The web app caches reports in your browser's localStorage, keyed by owner/repo@sha, with a 24-hour TTL — nothing is stored server-side. CLI reports are written wherever you point the output flags; that's the only copy that exists.

Network access

The web app makes requests to api.github.com and raw.githubusercontent.com. Native CLI checks and ALIGNMENT make no scanner-driven network calls for local targets. OSV-Scanner and Scorecard may require network access depending on their mode and environment; Zizmor is invoked offline. Cerberus itself never silently downloads code or tools during a scan.

Report confidentiality

Normalized findings omit credential values, and secret-bearing raw fields or source snippets are dropped when they cannot be retained safely. Reports can still reveal paths, dependency versions, workflow weaknesses, and vulnerability descriptions. Restrict artifact access and retention as you would for any security assessment.

Compliance posture

A subset of checks touch governance hygiene — a missing SECURITY.md, no CI pipeline, no automated dependency updates — but Cerberus does not evaluate SOC 2, GDPR, or HIPAA controls, and a Cerberus report is not a compliance certification of any kind.

Responsible disclosure

If you discover a security issue in Cerberus itself, please open an issue in the repository or contact the team directly. We take all reports seriously and will respond quickly.

Questions?

See the FAQ or contact the team for enterprise security questionnaires and compliance documentation.