← Back to PullGuard

Privacy Policy

Last updated: April 8, 2026

1. What We Collect

PullGuard collects minimal information necessary to provide the service:

2. What We Do NOT Collect

PullGuard does not collect, transmit, or store:

3. External API Calls

During analysis, the scanner makes calls to the following public APIs for license validation, dependency vulnerability, and version checking:

No source code, file contents, or analysis results are transmitted in these API calls. Air-gapped mode disables all external calls using a local vulnerability database.

4. Data Processing

PullGuard is a self-hosted tool. All data processing occurs on your infrastructure:

5. GDPR Compliance

PullGuard processes minimal personal data: email address (for account setup), organization and repository names (for license binding), and source-IP address (used by the licensing Worker for rate limiting). The source IP is always hashed via SHA-256 before storage — your raw IP is never written to our data plane. The hashed value is retained only for the rate-limiting window: ≤60 seconds for licence validation, key retrieval, OTP requests and repo-binding, and up to 24 hours for the abuse-sensitive repo-rebinding endpoint (a longer window is needed to throttle repeated re-bind attempts on an already-bound licence).

We do not process source code on our servers — code is analyzed by the Docker image running on your own GitHub Actions runners and never transmitted to PullGuard infrastructure. Because we do not act as a processor of customer source code, the standard GDPR Article 28 Data Processing Agreement (DPA) requirement does not apply to code analysis itself.

For Enterprise customers who require a signed DPA covering the limited account / billing / license-validation processing we DO perform: see our Data Processing Addendum (executable as an addendum to your subscription terms; standard contractual clauses apply for any sub-processor located outside the EEA).

For questions about data rights or to request a signed DPA, contact hello@pullguard.dev.

6. Data Retention

We retain your email address and organization name for the duration of your subscription. Upon cancellation, account data is deleted within 30 days. We do not retain any source code or analysis results as these never leave your infrastructure.

7. Cookies & Website Services

The PullGuard website (pullguard.dev) uses Cloudflare Web Analytics — a privacy-first, cookieless analytics that measures aggregate page views, traffic sources, and page performance. It sets no cookies, uses no local storage or client-side fingerprinting, and collects no personally identifying data, so no cookie-consent banner is required. We load no cookie-based or cross-site trackers (Google Analytics, Mixpanel, Segment, etc.). The scanner itself remains zero-telemetry (see Section 2).

The website also offers an optional AI search & chat assistant (powered by Cloudflare AI Search) that answers questions using only our public documentation and marketing pages. When you type a query into the search box or chat bubble, that text is sent to Cloudflare to generate a response. Please do not enter personal, confidential, or proprietary information into it. The assistant is opt-in — it processes nothing unless you choose to use it — and it has no access to your source code, account, or scan results.

8. GDPR Rights

If you are in the European Economic Area (EEA), you have the right to:

To exercise any of these rights, contact hello@pullguard.dev. We will respond within 30 days.

9. Sub-processors & Third-Party Services

PullGuard relies on the following sub-processors for the limited account / billing / license-validation processing we perform. Your source code is never sent to any of them (it stays on your CI runners):

We do not use any other third-party services for data processing. Enterprise customers requiring a signed sub-processor list / DPA: see our Data Processing Addendum.

10. Contact

For privacy questions or data requests: hello@pullguard.dev