# Telemetry

Your SonarQube installation sends telemetry data to Sonar daily. This data helps us understand how SonarQube is used, which helps us improve our products.

## No personally identifiable information is sent <a href="#no-personally-identifiable-information-is-sent" id="no-personally-identifiable-information-is-sent"></a>

The telemetry feature only sends anonymized, non-project-specific data related to which features of the product are being used.

Personal data, such as usernames or email addresses, is never sent. Neither is source code nor any project-specific data such as project name, repository, or author is ever sent. No IP addresses are ever sent.

The data is sent securely, held under restricted access, and not published outside of Sonar.

Protecting your privacy is important to us. If you have any concerns about telemetry data collection, please email us at `security@sonarsource.com`.

## Turning it off <a href="#turning-it-off" id="turning-it-off"></a>

You can disable telemetry at any time by setting the `sonar.telemetry.enable` property to `false` in `$SONARQUBE_HOME/conf/sonar.properties`. By default, it is set to `true`.

## What information is sent? <a href="#what-information-is-sent" id="what-information-is-sent"></a>

Once a day (every 24 hours), SonarQube sends a JSON payload to `https://telemetry.sonarsource.com/sonarqube`.

The data that is sent consists of *anonymized* information about:

* The SonarQube instance: Version, license type, edition, database type, etc.
* Each project on the instance, consisting of:
  * A technical identifier that does not reveal any project-specific details.
  * Project characteristics such as last analysis time, number of findings, and new code definition.
* Each user on the instance, consisting of:
  * A technical identifier that does not reveal any personal information about the user.
  * Information about the user’s usage of the instance, such as last activity time and current status.
* Each quality gate on the instance, consisting of:
  * A technical identifier that does not reveal any project-specific details.
  * A quality gate compliance status (see [clean-as-you-code](https://docs.sonarsource.com/sonarqube-server/10.1/user-guide/clean-as-you-code "mention")).
* Each branch on the instance, consisting of:
  * A technical identifier that does not reveal any branch-specific details.
  * Branch characteristics, such as its new code definition.

Here is an example of a telemetry payload:

```css-79elbk
{
   "id":"AAAAAAAA-BBBBBBBBBBBBBBBBBBBB",
   "version":"9.9",
   "messageSequenceNumber":1,
   "localTimestamp":"2023-02-01T13:12:23+0000",
   "ncdId":522677708,
   "edition":"developer",
   "licenseType":"TEST",
   "isValidLicense":true,
   "defaultQualityGate":"AWBWEMe2qGAMGEYPjJlm",
   "database":{
      "name":"PostgreSQL",
      "version":"14.6 (Ubuntu 14.6-1.pgdg20.04+1)"
   },
   "plugins":[
      {
         "name":"iac",
         "version":"1.11.0.2847"
      },
      {
         "name":"plsql",
         "version":"3.8.0.4948"
      }
   ],
   "installationDate":"2011-10-24T15:08:23+0000",
   "container":false,
   "users":[
      {
         "userUuid":"a53fff8dd075bed169e164743231ff533d8b9260b0b8073f0a4c1d20",
         "status":"active",
         "identityProvider":"sonarqube",
         "lastActivity":"2022-03-22T13:18:56+0000"
      }
   ],
   "projects":[
      {
         "projectUuid":"AV8WJCz7leTHsONfkGE1",
         "lastAnalysis":"2022-12-23T10:16:54+0000",
         "language":"css",
         "loc":9164
      },
      {
         "projectUuid":"AV8WJCz7leTHsONfkGE1",
         "lastAnalysis":"2022-12-23T10:16:54+0000",
         "language":"java",
         "loc":260882
      },
      {
         "projectUuid":"AX7juKJqVeQLJMPyb_b-",
         "lastAnalysis":"2022-12-23T10:16:54+0000",
         "language":"js",
         "loc":177
      },
      {
         "projectUuid":"AX7juKJqVeQLJMPyb_b-",
         "lastAnalysis":"2022-12-23T10:16:54+0000",
         "language":"ts",
         "loc":115565
      }
   ],
   "projects-general-stats":[
      {
         "projectUuid":"AV8WJCz7leTHsONfkGE1",
         "branchCount":2,
         "pullRequestCount":18,
         "qualityGate":"AWBWEMe4qGAMGEYPjJlp",
         "scm":"git",
         "ci":"CirrusCI",
         "devopsPlatform":"github_cloud",
         "ncdId":522677708,
         "bugs":7,
         "vulnerabilities":0,
         "securityHotspots":0,
         "technicalDebt":32725,
         "developmentCost":11215740
      },
      {
         "projectUuid":"AX7juKJqVeQLJMPyb_b-",
         "branchCount":7,
         "pullRequestCount":0,
         "qualityGate":"AWBWEMe2qGAMGEYPjJlm",
         "scm":"git",
         "ci":"TravisCI",
         "devopsPlatform":"undetected",
         "ncdId":522677708,
         "bugs":3,
         "vulnerabilities":0,
         "securityHotspots":0,
         "technicalDebt":23883,
         "developmentCost":9591570
      }
   ],
   "branches":[
      {
         "projectUuid":"AV8WJCz7leTHsONfkGE1",
         "branchUuid":"AXnOHqB_aPTkSwjfRJCQ",
         "ncdId":522677708,
         "greenQualityGateCount": 5,
         "analysisCount": 8,
         "excludeFromPurge": true
      },
      {
         "projectUuid":"AV8WJCz7leTHsONfkGE1",
         "branchUuid":"AW27TrrJRJSDlPujAEOd",
         "ncdId":-1107354350,
         "greenQualityGateCount": 2,
         "analysisCount": 2,
         "excludeFromPurge": false
      }
   ],
   "new-code-definitions":[
      {
         "ncdId":522677708,
         "type":"NUMBER_OF_DAYS",
         "value":"14",
         "scope":"instance"
      },
      {
         "ncdId":-1107354350,
         "type":"PREVIOUS_VERSION",
         "value":"",
         "scope":"branch"
      }
   ],
   "quality-gates":[
      {
         "uuid":"AWBWEMe2qGAMGEYPjJlm",
         "caycStatus":"over-compliant"
      },
      {
         "uuid":"AWBWEMe4qGAMGEYPjJlp",
         "caycStatus":"non-compliant"
      },
      {
         "uuid":"AWBWEMe4qGAMGEYPjJlr",
         "caycStatus":"compliant"
      }
   ],
    "cloudUsage": {
        "kubernetes": true,
        "kubernetesVersion": "1.25",
        "kubernetesPlatform": "linux/arm64",
        "kubernetesProvider": "5.4.181-99.354.amzn2.x86_64",
        "officialHelmChart": "10.1.0",
        "containerRuntime": "docker",
        "officialImage": true
      }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sonarsource.com/sonarqube-server/10.1/instance-administration/telemetry.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
