When Vidoc scans
Vidoc scans the head commit of the PR.
Vidoc runs one scan for each PR at a time. When a new scan starts, Vidoc stops the running scan for the same PR.
Vidoc does not filter PRs by draft status, branch name, or size. Vidoc also scans draft PRs.
The first scan of a repository can take longer than usual. Vidoc prepares data about the repository during that scan.
For scan commands, refer to Commands.
Which files Vidoc checks
In a PR scan, Vidoc checks only the files that the PR changes. In each file, Vidoc looks for security issues in the changed code. Scanned in PR scans:- Source code in all languages, for example
src/orders/search.tsorService.java DockerfileandJenkinsfile- Terraform and Pulumi files, for example
main.tf,prod.tfvars,Pulumi.yaml .gitlab-ci.ymlanddocker-compose.yml, only at the repository root- Files in a
k8s/,kubernetes/,helm/, orcharts/folder below the root folder, for exampledeploy/k8s/app.yaml
- Documentation and text files, for example
README.md - Data and configuration files:
.json,.xml,.toml,.ini,.conf,.properties - All other YAML files, also CI include files and CI files that are not at the root
- Files that Vidoc never indexes, for example binary files, lock files,
.envfiles, andnode_modules/
The flow of a scan
For more about detection and validation, refer to How it works.The summary comment
Vidoc writes one summary comment on each PR. The heading is Vidoc security review. Vidoc does not write a new summary comment for each scan. It edits the same comment. While a scan runs, the comment shows this text:
These results are advice. Vidoc does not block the merge. Your team rules decide if you can merge.
The summary shows only open findings that the validation agent confirmed, with critical, high, or medium severity. It does not show findings in a compliance category, for example weak cryptography. A medium finding is a finding that the validation agent confirmed but rated lower than detection did.
If Vidoc found issues, the comment has a table with the columns Severity, Finding, and Location. The location links to the file and line. If there are critical or high findings, the medium findings go in a collapsed section with the name Non-blocking. The Full analysis link opens the PR in the Vidoc web app. You must have a Vidoc account to open this link.
The examples below use
app.vidoc.dev for dashboard links. On a custom deployment, generated links use your configured web app URL.
This is an example of a complete summary comment on GitHub:
How the comments look on each platform
Inline comments
For each finding in the summary, Vidoc starts a comment thread on the changed line. Vidoc writes these threads while the scan runs. Thus, some threads can appear before the summary comment shows the final result. Each inline comment has these parts:- A header: Potential issue · High severity (or Critical, or Medium).
- A short summary of the risk.
- A collapsed Explanation section. On GitHub and GitLab, it also contains a Debug section with identifiers for Vidoc support.
- A collapsed Possible fix - diff section, when Vidoc has a proposed fix.
- An Export to AI agent link. It opens the finding in the Vidoc web app, where you can copy a prompt for an AI coding agent. You must have a Vidoc account to open this link.
- A feedback prompt: “Did we do a good job? 👍 Was helpful, 👎 Needs improvement”.
Automatic thread resolution
Vidoc resolves its thread for a finding when a later scan analyzed all changed files and the finding is gone. After a Partial review, Vidoc does not resolve threads. This applies to all platforms.Status check
Vidoc can also show a status on the head commit of the PR. It shows only when status reporting is on for your installation.
The status shows as running while the scan runs. It shows as failed when Vidoc reports findings, when Vidoc could not analyze any changed file, or when the scan fails. It shows as successful when Vidoc finds no issues. Your platform uses this status to block a merge only if your team rules require it.
On GitHub, select Run Vidoc on the check to scan the PR again. You must have the write, maintain, or admin permission on the repository.
When a scan fails
What to expect. If a scan fails, Vidoc does not update the summary comment. The comment continues to show “Currently scanning commit …”. Your platform shows a failure status only when status reporting is on. If the summary comment still shows this text after 30 minutes, the scan probably failed. What to do:- On GitHub and GitLab, write
@<handle> rescanas a new PR comment. On Bitbucket, push a new commit. On all platforms, you can also click Rerun scan on the PR in the Pull requests page of the web app. You need the Developer role or higher in Vidoc. - If the comment still does not change, ask your AppSec team to contact Vidoc support.
@<handle> rescan (GitHub and GitLab) to try again.
Limits
Common questions
Why is there no Vidoc comment on my PR?
Why is there no Vidoc comment on my PR?
- The scan still runs. Wait some minutes.
- The PR changes only files that Vidoc does not scan in PR scans.
- PR reviews or PR comments is off for the repository. Ask your AppSec team.
- On Bitbucket, the repository has no Vidoc webhook. Ask your admin.
- The scan failed. Send
@<handle> rescan(GitHub and GitLab) or push a new commit (Bitbucket).
Why did my scan restart?
Why did my scan restart?
Each new commit starts a new scan and stops the old scan. On GitLab and Bitbucket, a change to the title, description, or labels also starts a new scan. A
restart command (GitHub and GitLab) also starts a new scan.Why is a finding in the summary but without an inline comment?
Why is a finding in the summary but without an inline comment?
Your platform did not accept a thread on that line. On Bitbucket Data Center, this occurs when the finding is not on an added line. Use the location link in the summary.
Can I ignore a finding and merge?
Can I ignore a finding and merge?
Vidoc does not block the merge. Your team rules decide if you can merge. To tell Vidoc that a finding is wrong, refer to Feedback.

