Security

Your code is handled with care

Pullwise reads code that matters to your business. Here is exactly what happens to it, and the controls you have.

Secrets masked before the model

API keys, tokens, JWTs, private keys and credentials in URLs are masked in the diff before it is sent to any model. This is a safety net alongside your own secret scanning.

Prompt-injection aware

The MR title, description and diff are treated as untrusted data. Instructions hidden in code or comments are reported as findings, not followed.

Strict output checks

Every model response is validated against a strict schema. Anything malformed is treated as high risk and is never approved.

Isolated workspaces

Each workspace has its own settings, AI keys, platform tokens and webhook secrets. Sessions are bound to a single workspace.

Keys stay hidden

Saved keys and tokens are write-only in the portal. They are never shown again, only whether they are set.

Verified webhooks

Every incoming webhook is checked against your workspace’s own secret or signature before anything runs.

Keep code on your network

Use a self-hosted model and inference runs on your own hardware, so the diff never reaches a third-party AI provider.

No code storage, no training

We fetch diffs to review them and do not keep them. We do not train models on your code.

What happens during a review

  1. Your platform calls our webhook when an MR is opened or updated. We verify the signature.
  2. We fetch the diff, title and description using the token you provided.
  3. Secrets are masked in the diff.
  4. The model reviews it: your provider, your own server, or the Pullwise model.
  5. We validate the response and post one comment on the MR.
  6. We log the outcome (risk, status, findings count and summary). The diff is discarded.

Questions from your security team? Email support@pullwise.ai or read our privacy policy.

Get your first AI review in five minutes

Free with your own AI key. No credit card. Connect a repository and open a merge request.

Choose which cookies we may use. You can change this at any time from the footer.

Cookie categories