Security

How Vigil protects your code and infrastructure.

Read-Only Analysis

Vigil performs static, read-only analysis of your PR diffs. It does not clone your repository, execute any code, or modify any files. The analysis pipeline reads the diff provided by the GitHub API and runs all verification signals against it without ever touching your codebase directly.

  • No code execution — all analysis is static
  • No repository cloning — only diff data from the GitHub API
  • No access to your environment variables or secrets
  • No write access to your repository beyond PR comments and check runs

No Code Storage

Vigil does not store your source code. Diff data is processed in memory during the analysis pipeline and discarded after results are posted. Only metadata is persisted: scores, signal results, PR numbers, and timestamps. Your code never touches disk on our servers.

Fork PR Trust Model

🔒

Fork PRs use default branch config

When a fork opens a PR against your repository, Vigil reads .vigil.yml from your repository's default branch (usually main), not from the fork's PR head. This prevents untrusted forks from injecting malicious configuration.

Command Trust Gate

Vigil commands (/vigil retry, @vigil recheck, etc.) can only be triggered by users with OWNER, MEMBER, or COLLABORATOR association to the repository. This prevents external users from spamming re-runs on public repositories.

Credential Handling

Vigil never stores, logs, or displays actual credential values. When the Credential Scan detects a secret, the match is immediately redacted in all output — including PR comments, check run details, and server logs. The only information preserved is the type of credential detected and the line number.

LLM Data Boundaries

Vigil sends PR diffs and metadata to its hosted LLM for analysis. This data is used solely for verification and is not stored or used for model training. LLM prompts include data boundary markers and backtick escaping to prevent prompt injection from PR content.

Infrastructure

Vigil runs on EU-hosted servers (Germany). All data in transit is encrypted via TLS. The database stores only execution metadata (scores, signal results, timestamps) — never source code or diff content.