> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vidocsecurity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Supported platforms

> The source code platforms that Vidoc supports, and the capabilities on each platform.

Vidoc connects to these source code platforms:

* **GitHub**: github.com only.
* **GitLab**: GitLab.com and self-managed GitLab.
* **Bitbucket**: Bitbucket Cloud or Bitbucket Data Center. One Vidoc installation connects to one Bitbucket type only.

This documentation uses "pull request (PR)" for all platforms. GitLab calls a pull request a merge request (MR).

```mermaid theme={null}
flowchart LR
    GH[GitHub<br/>github.com] -->|GitHub App,<br/>automatic webhook| VIDOC[Vidoc]
    GL[GitLab<br/>GitLab.com or self-managed] -->|bot token,<br/>automatic webhook| VIDOC
    BB[Bitbucket<br/>Cloud or Data Center] -->|access token,<br/>manual webhook| VIDOC
    VIDOC -->|comments and status| GH
    VIDOC -->|comments and status| GL
    VIDOC -->|comments and status| BB
```

For the setup steps, refer to [GitHub](/integrations/github), [GitLab](/integrations/gitlab), and [Bitbucket](/integrations/bitbucket).

## Availability by deployment

| Platform              | Vidoc Cloud | Self-hosted |
| --------------------- | ----------- | ----------- |
| GitHub (github.com)   | ✓           | ✓           |
| GitLab.com            | ✓           | ✓           |
| Self-managed GitLab   | ✗           | ✓           |
| Bitbucket Cloud       | ✗           | ✓           |
| Bitbucket Data Center | ✗           | ✓           |

On a self-hosted installation, your operators turn on each platform. The **Integrations** page shows **Not available in this deployment** for a platform that is not turned on.

## Capability matrix

✓ means supported. ✗ means not supported. – means not applicable.

| Capability                                                                           | GitHub                          | GitLab                                   | Bitbucket Cloud | Bitbucket Data Center |
| ------------------------------------------------------------------------------------ | ------------------------------- | ---------------------------------------- | --------------- | --------------------- |
| **Setup**                                                                            |                                 |                                          |                 |                       |
| Self-managed instance                                                                | ✗ (github.com only)             | ✓                                        | –               | ✓                     |
| Connection method                                                                    | GitHub App                      | Bot user access token                    | Access token    | HTTP access token     |
| Webhook setup                                                                        | Automatic                       | Automatic, for each project              | Manual          | Manual                |
| Repository import and settings for each repository (**PR reviews**, **PR comments**) | ✓                               | ✓                                        | ✓               | ✓                     |
| Links from the web app to files                                                      | ✓                               | ✓                                        | ✓               | ✓                     |
| **Scans**                                                                            |                                 |                                          |                 |                       |
| Scan when a PR opens                                                                 | ✓                               | ✓                                        | ✓               | ✓                     |
| Scan when new commits are pushed to the PR                                           | ✓                               | ✓                                        | ✓               | ✓                     |
| New scan when the title, description, or labels change                               | ✗                               | ✓                                        | ✓               | ✓                     |
| Scan when a closed PR is reopened                                                    | ✗                               | ✗                                        | ✗               | ✗                     |
| Stop the running scan when the PR is closed or merged                                | ✓                               | ✓                                        | ✓               | ✓                     |
| Scan on a push to the default branch                                                 | ✗                               | ✗                                        | ✗               | ✗                     |
| **Comments**                                                                         |                                 |                                          |                 |                       |
| Summary comment, edited in place                                                     | ✓                               | ✓                                        | ✓               | ✓                     |
| Inline comments on changed lines                                                     | ✓                               | ✓                                        | ✓               | Added lines only ¹    |
| Resolve the Vidoc thread when the finding is fixed                                   | ✓                               | ✓                                        | ✓               | ✓                     |
| Commit status or check ²                                                             | Check run "Vidoc Security Scan" | Commit status                            | Build status    | Build status          |
| **Run Vidoc** button on the check ²                                                  | ✓                               | ✗                                        | ✗               | ✗                     |
| Comment formatting                                                                   | Native                          | Native, alert blocks from GitLab 17.10 ³ | Converted ⁴     | Converted ⁴           |
| **Developer interaction**                                                            |                                 |                                          |                 |                       |
| Scan commands (`scan`, `rescan`, `restart`, `help`)                                  | ✓                               | ✓                                        | ✗               | ✗                     |
| Questions to the bot in a PR comment                                                 | ✓                               | ✓                                        | ✗               | ✗                     |
| "Remember" requests (memory entries)                                                 | ✓                               | ✓                                        | ✗               | ✗                     |
| **Feedback**                                                                         |                                 |                                          |                 |                       |
| Reply on a finding to give a verdict (creates a learning)                            | ✓                               | ✓                                        | ✗               | ✗                     |
| 👍 and 👎 reactions as feedback                                                      | ✓                               | ✓                                        | ✗               | ✓ (7.21 and later)    |
| Link platform users to Vidoc users (**SCM usernames**)                               | ✓ (handle)                      | ✓ (handle)                               | ✓ (nickname) ⁵  | ✓ (username)          |

Notes:

1. On Bitbucket Data Center, Vidoc writes inline comments only on added lines. A finding on another line shows only in the summary comment.
2. The status or check shows only when status reporting is on for your installation. On self-hosted installations, status reporting is off by default.
3. Vidoc comments use alert blocks such as `> [!CAUTION]`. GitLab 17.10 and later show them as colored alerts. Earlier versions show a normal quote.
4. Vidoc converts its comments to Bitbucket markdown. Collapsed sections show expanded, the **Debug** section is removed, and alert blocks can show as normal quotes.
5. Bitbucket Cloud does not give the email of a user to Vidoc. Thus, Vidoc cannot match a Bitbucket Cloud user by email. Each user must enter the Bitbucket nickname in **SCM usernames**. Refer to [Settings](/web-app/settings).

## Bitbucket limits

On Bitbucket, Vidoc does not read PR comments. Commands, questions, "remember" requests, and replies to findings do not work. To change the status of a finding or to give feedback, use the [web app](/web-app/findings).

## Who can use commands and questions

| Platform  | Scan commands                                                                                                 | Questions and "remember" requests                                          |
| --------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| GitHub    | The commenter needs the write, maintain, or admin permission on the repository.                               | The GitHub user must be linked to a Vidoc user with access to the project. |
| GitLab    | The commenter needs the Developer role or higher on the project. The commenter does not need a Vidoc account. | Same as scan commands.                                                     |
| Bitbucket | Not supported.                                                                                                | Not supported.                                                             |

For the commands, refer to [Commands](/pull-requests/commands).

## Not supported

* GitHub Enterprise Server
* Azure DevOps
