JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.

If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.

If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.

CodeSonar® 9.2p0 CONFIDENTIAL CodeSecure Inc

Anonymous Usage Statistics

CodeSonar collects a range of anonymized statistics about usage and performance.

This section explains how to enable and disable uploading these statistics to CodeSecure and describes the measures taken to protect your privacy.



Overview

CodeSonar collects a range of anonymized statistics about usage and performance.

You can opt in or out of uploading the collected statistics to CodeSecure. If you opt in, the uploaded statistics are aggregated with all usage statistics collected from other sources.

In this section (and throughout this manual), $CSONAR indicates the CodeSonar installation directory.

Enable/Disable Upload

When you first install CodeSonar you will be asked to specify whether or not anonymous usage statistics should be uploaded to CodeSecure. At any point thereafter you can change your selection, as many times as you wish.

The collection of usage statistics is always active. If you have opted out of uploading the statistics to CodeSecure, they will be temporarily stored on your local system. This allows you to inspect them as needed; it also provides the option of sending manually-selected data to CodeSecure if it is ever required to resolve a question you have about CodeSonar usage or operation.

Enabling/Disabling at Installation

Windows Systems The third screen of the Windows installer will ask whether or not you want to submit anonymous usage statistics to CodeSecure.
All other systems Run the following command immediately after installing, as the same user who performed the installation.
codesonar activate

You will be prompted with two yes/no questions.

  1. First, you will be asked to accept the End User License Agreement (EULA).
  2. If you accept the EULA, you will be asked "Send anonymous usage statistics to CodeSecure?".

Opting Out/In at Any Time

If you change your mind about whether or not you want to submit usage statistics, you can opt in or out at any time.

There are several mechanisms available for opting in and out. CodeSonar checks each of these in turn in order to determine whether or not to submit statistics to CodeSecure. Once CodeSonar has made a concrete determination ("enabled" or "disabled"), it stops checking.

Checking Order
(i.e. Priority)
Check If "yes" upload is...
(otherwise go on to next check)
Windows Other Systems
1 n/a Does registry value HKEY_LOCAL_MACHINE\SOFTWARE\CodeSecure\TelemetryEnabled exist and have type DWORD? disabled if TelemetryEnabled==0
enabled if TelemetryEnabled≠0
n/a 1 Does system user gt_telemetry_disabled_user exist? disabled
n/a 2 Does system user gt_telemetry_enabled_user exist? enabled
n/a 3 Is the user executing the process a member of group gt_telemetry_disabled? disabled
n/a 4 Is the user executing the process a member of group gt_telemetry_enabled? enabled
n/a 5 Does file /etc/GT_TELEMETRY_DISABLED exist? disabled
n/a 6 Does file /etc/GT_TELEMETRY_ENABLED exist? enabled
2 7 Does file $CSONAR/TELEMETRY_DISABLED exist?
Note: CodeSonar creates this file automatically if you disable result submission at installation time.
disabled
3 8 Does file $CSONAR/TELEMETRY_ENABLED exist?
Note: CodeSonar creates this file automatically if you enable result submission at installation time.
enabled
4 9 otherwise: disabled

Information and Anonymization

To protect your privacy, only the following information is collected.

In particular, the following are NOT collected.

Inspecting Your Information

If you would like to inspect the collected information before enabling submission to CodeSecure, or are simply interested in seeing what the collected data looks like, do the following.

  1. Disable upload of anonymous statistics, if it is not not already disabled.
  2. Spend some time performing your regular CodeSonar tasks so that some statistics are generated. For example:
  3. Run the following command.
    Windows
    %CSONAR%\gtr\bin\telemetry_force_submissions.exe
    Otherwise
    $CSONAR/gtr/bin/telemetry_force_submissions
  4. Inspect the output from telemetry_force_submissions.
    1. Observe that the output states that result submission is currently disabled.
    2. Take note of the reported file name: this is where your statistics are stored.
  5. Open the file whose name you obtained in the previous step to examine the recorded statistics.

Sample Data File

File aggregated1.csv contains real CodeSonar data collected at CodeSecure. If you inspect it you will notice the following.

Opt In/Out Examples

Example 1: Disable result submission at installation time for all users of a CodeSonar installation

Windows The third screen of the Windows installer will ask "Send anonymous usage statistic to CodeSecure?".
  1. Select Don't submit statistics.
  2. Click Next.
Other systems Run the following command immediately after installing, as the same user who performed the installation.
codesonar activate
  1. You will be asked if you wish to accept the End User License Agreement (EULA). Enter y if you wish to accept the EULA and proceed.
  2. You will be asked "Send anonymous usage statistics to CodeSecure?". Enter n.

Note that in both these cases, the result is that CodeSonar creates file $CSONAR/TELEMETRY_DISABLED.

Once this has been done, CodeSonar will do the following every time it needs to determine whether to submit statistics.

Windows Systems Other Systems
  1. Check: does registry value HKEY_LOCAL_MACHINE\SOFTWARE\CodeSecure\TelemetryEnabled exist and have type DWORD?
    →NO, so CodeSonar goes on to the next check.
  2. Check: does file $CSONAR/TELEMETRY_DISABLED exist?
    → YES, so CodeSonar concludes that submission is disabled and does not submit the recorded statistics.
  1. Check: does system user gt_telemetry_disabled_user exist?
    →NO, so CodeSonar goes on to the next check.
  2. Check: does system user gt_telemetry_enabled_user exist?
    →NO, so CodeSonar goes on to the next check.
  3. Check: is the current user is a member of group gt_telemetry_disabled?.
    → NO, so CodeSonar goes on to the next check.
  4. Check: is the current user is a member of group gt_telemetry_enabled?
    → NO, so CodeSonar goes on to the next check.
  5. Check: does file /etc/GT_TELEMETRY_DISABLED exist?
    → NO, so CodeSonar goes on to the next check.
  6. Check: does file /etc/GT_TELEMETRY_ENABLED exist?
    → NO, so CodeSonar goes on to the next check.
  7. Check: does file $CSONAR/TELEMETRY_DISABLED exist?
    → YES, so CodeSonar concludes that submission is disabled and does not submit the recorded statistics.

Example 2: Disable result submission after initial setup for all users of a CodeSonar installation

The process is the same for both Windows and non-Windows systems.

  1. Sign in as the user who performed the installation.
  2. Remove file $CSONAR/TELEMETRY_ENABLED, if it exists.
  3. Create new, empty file $CSONAR/TELEMETRY_DISABLED.

Once this has been done, CodeSonar will perform the same checking procedure as in Example 1 (and with the same results) every time it needs to determine whether to submit statistics.

Example 3: Disable result submission for all users on a non-Windows system

To disable result submission for all users on a non-Windows system with one or more CodeSonar installations, a system administrator should create system user gt_telemetry_disabled_user.

To deploy the setting organization-wide, the user gt_telemetry_disabled_user should be created on every machine within the organization. For example, if the organization uses LDAP or NIS to manage users, then the user should be created on the LDAP or NIS server.

Once this has been done, CodeSonar will do the following every time it needs to determine whether to submit statistics:

  1. Check : does system user gt_telemetry_disabled_user exist?
    (As noted in the table above, this is the first feature that CodeSonar checks for on non-Windows systems.)

    →YES, so CodeSonar concludes that submission is disabled.

Example 4: More complex enabling/disabling policy on a non-Windows system

Suppose you have the following sets of users.

set A Users for whom statistics should never be submitted.
set B Users for whom statistics should always be submitted.
set C Users for whom you wish to decide whether or not to submit statistics on a day-by-day basis.

Then do the following.

  1. Ensure that system users gt_telemetry_disabled_user and gt_telemetry_enabled_user do not exist.
    If either or both exist, the remaining steps will have no effect.
  2. Create group gt_telemetry_disabled. Add the users in set A to this group. Do not add any other users to the group.
  3. Create group gt_telemetry_enabled. Add the users in set B to this group. Do not add any other users to the group.
  4. Manage submission for set C as follows.

Once this has been done, CodeSonar will do the following every time it needs to determine whether to submit statistics:

  1. Check: does system user gt_telemetry_disabled_user exist?
    →NO, so CodeSonar goes on to the next check.
  2. Check: does system user gt_telemetry_enabled_user exist?
    →NO, so CodeSonar goes on to the next check.
  3. Check: is the current user is a member of group gt_telemetry_disabled?.
    → YES for users in set A, NO for users in sets B and C.
    → For users in set A, CodeSonar concludes that submission is disabled. For users in sets B and C, it goes on to the next check.
  4. Check: is the current user is a member of group gt_telemetry_enabled?
    → YES for users in set B, NO for users in set C.
    → For users in set B, CodeSonar concludes that submission is enabled. For users in set C, it goes on to the next check.
  5. Check: does file /etc/GT_TELEMETRY_DISABLED exist?
    → If YES, CodeSonar concludes that submission is disabled and statistics are not submitted for users in set C. If NO, it goes on to the next check.
  6. Check: does file /etc/GT_TELEMETRY_ENABLED exist?
    → If CodeSonar has reached this point the answer must be YES, so CodeSonar concludes that submission is enabled and statistics are submitted for users in set C.

Whenever you add a new user, decide whether they are in set A, set B, or set C.

Example 5: Disable (or enable) result submission using Windows Group Policy

A Microsoft Windows System Administrator can use Windows Group Policy to enable or disable submission of anonymous statistics for a large user base. The following instructions describe the process for disabling submission on Windows Server 2016.

Note that this approach will override any local configurations of existing CodeSonar installations.

  1. Hold down the Windows key and press R.
    A Run dialog will open.
  2. Enter the following command in the Open field of the Run dialog, and click OK.
    gpmc.msc
    The Group Policy Management Console will open.
  3. In the panel at the left of the console, create a new Group Policy Object (GPO) as follows.
    1. Expand Forest > Domains.
    2. Under Domains, select the Organizational Unit (OU) you want to use and expand it.
    3. Under your expanded OU, right-click Group Policy Objects and select New from the menu that pops up.
      The New GPO dialog will open.
    4. In the Name field, enter a meaningful name for your new GPO, such as "Disable CodeSonar Telemetry".
    5. Click OK.
    Your new GPO will now be listed under Group Policy Objects.
  4. Right click the GPO you just created and select Edit from the menu that pops up.
    The Group Policy Management Editor will open.
  5. Open the Registry Properties dialog as follows.
    1. In the left panel, expand Computer Configuration > Preferences.
    2. Under Preferences, click Windows Settings to select it.
    3. In the main panel, click Registry to select it.
    4. Click the + icon in the menu bar.
    screenshot: Group Policy Management Editor

    The Registry Properties dialog will open.

  6. Enter the following information in the dialog.
    Action Update (this will create the item if it doesn't exist)
    Hive HKEY_LOCAL_MACHINE
    Key Path SOFTWARE\CodeSecure
    Value name TelemetryEnabled
    Value type REG_DWORD
    Value data 00000000
    Base either Hexadecimal or Decimal (00000000 has the same meaning in both)
    screenshot: Registry Properties
  7. Click OK.
  8. Go back to the Group Policy Management Console.
  9. Right-click your preferred OU and select Link an Existing GPO from the menu that pops up.
    The Select GPO dialog will open.
  10. Click your new GPO to select it, then click OK.
    The Registry update will be propagated to the OU you selected in the previous step.

Once this has been done, CodeSonar will do the following every time it needs to determine whether to submit statistics:

  1. Check: does registry value HKEY_LOCAL_MACHINE\SOFTWARE\CodeSecure\TelemetryEnabled exist and have type DWORD?
    →YES, so CodeSonar inspects the value of HKEY_LOCAL_MACHINE\SOFTWARE\CodeSecure\TelemetryEnabled.
    →It's 0, so CodeSonar concludes that submission is disabled and does not submit the recorded statistics.

Note: group policy is refreshed on a domain member computer:

 

To report problems with this documentation, please visit https://support.codesecure.com/.