Privacy of BashSupport Pro

BashSupport Pro never sends metrics without your consent.

Please note, that preview and beta versions of the plugin always send telemetry data. Preview and beta versions must be installed by choice and are not automatically installed.

A notification or dialog is displayed at startup to ask for your consent. If you don’t opt-in to metrics, then nothing will be sent.

Metric data is a small piece of information to tell what’s happening and which features are used or unused. Data is sent in the form of events. An event is sent when something happens, e.g. when the Bash debugger was started.

Where is the data sent?
The data is sent to a self–hosted installation of Sentry. The data is never shared with anyone else. The endpoint is https://sentry.j-a.dev, in case that you’re keeping a whitelist.
What is not sent?
No personal information is sent.
This means that data like your hostname, your login name, or your own name are never sent.
Your actions are not tracked. No unique IDs to identify you are sent. Sentry usually sends the hostname, but this has been disabled for BashSupport Pro.
What is sent?
Data is sent in the form of events. Each event has a name and a set of properties (name and value). The events are sent to learn what’s happening on a global scale, but not to track actions of individual users.

Error Reporting

Exception reports are also sent to the Sentry application above. Only the information which you entered into the dialog is sent. Please note, that the common properties shown above are also sent with the error report.

Transmitted Data

The following section shows exactly what’s sent. This list displays the data, which is used by the latest public release of BashSupport Pro.

I’m not aware of any other company offering such a list. Personally I strongly dislike tracking. I need some data to make sure BashSupport Pro is developing into the right direction — therefore I’m tracking software, not people. I try to be very open about what’s going on under the hood.

Common Properties

These are the properties which are sent with every event.

PropertyDescription
datetime
Example: 2020-01-30T21:33:14.000000Z
Timestamp when the event is send to the server.
environment
Example: eap
A string to tell if the plugin is a development or stable version
ide.build
Example: IU-193.6015.39
The full build id of your IDE.
ide.lang
Example: zh
The installed language pack or en if none is found.
ide.major
Example: 2019
The major build number of your IDE.
ide.type
Example: IU
The product code of your IDE.
jdk.vendor
Example: JetBrains
The vendor of the Java runtime used to execute the IDE.
jdk.version
Example: 11.0.4+10-b520.11
Version of the Java runtime used to execute the IDE.
licensed
Example: true
Boolean value if a license is found for the plugin.
os.64bit
Example: true
The 'bit-ness' of the CPU, i.e. 64bit or 32bit.
os.arch
Example: amd64
The CPU architecture.
os.name
Example: Windows
The name of the operating system you're using.
os.version
Example: 10.15.1
The version of the operating system you're using.
platform
Example: java
Name of the used software platform, used internally by Sentry.
plugin.bashsupport
Example: true
A boolean value to tell if the open-source BashSupport plugin is used with BashSupport Pro.
plugin.shell
Example: true
A boolean value to tell if the JetBrains Shell plugin is used with BashSupport Pro.
release
Example: 1.0.0
The installed version of the BashSupport Pro plugin
trial
Example: true
Boolean value if the current license is for trial.
trial_days
Example: 28
Number of remaining days if the current license is for a trial

Event Properties

These are the events and properties which are sent. The common properties are sent with each event, but not listed again. You can expand the “Properties” sections to see the properties of a specific event.

EventDescription and properties
app_startingFired when the IDE is starting and the BashSupport Pro plugin is initialized
Properties
plugin_id (example: “pro.bashsupport”)
The ID of the BashSupport Pro plugin
release_date (example: “20221004”)
Release date of the BashSupport Pro plugin
release_version (example: “300”)
Release version of the BashSupport Pro plugin
caller_hierarchyFired when the caller hierarchy panel is refreshed
debug_session_pausedFired when a Bash debug session stopped at a breakpoint.
debug_session_resumedFired when a Bash debug session was resumed.
debug_session_startedFired when a new debug session was started
Properties
file_ext (example: “sh”)
File extension of the debugged file
config_type (example: “LegacyShRunConfiguration”)
Type of the executed run configuration
interpreter_type (example: “automatic”)
The selected default interpreter type
remote_target (example: “false”)
Boolean value to tell if executed on a remote run target
debug_session_stoppedFired when a Bash debug session terminated, either successfully or with an error.
intentionFired when an intention of BashSupport Pro was applied in a file
Properties
intention_name (example: “ConvertToQuotedString”)
The ID of the applied intention
new_file_actionFired when a new shell script file has been created using BashSupport Pro's new file action
Properties
template (example: “BashSupport Pro Bash”)
Name of the file template
file_ext (example: “bash”)
The file extension of the new file
plugin_loadFired when the BashSupport Pro plugin is dynamically loaded, e.g. when a user installed it for the first time
plugin_unloadFired when the BashSupport Pro plugin is unloaded
Properties
plugin_update
Boolean value to tell if the unload is for a plugin update
quickfixFired when a quickfix of BashSupport Pro was applied in a file
Properties
quickfix_name (example: “CreateShellcheckSourceDirective”)
The ID of the applied quickfix
refactoring_move_left_rightFired when the refactoring "Move element left or right" was used
refactoring_move_up_downFired when the refactoring "Move statement up or down" was used
run_config_startedFired when a run configuration is executed
Properties
file_ext (example: “sh”)
File extension of the debugged file
type (example: “window”)
Type of the execution target: window or terminal
config_type (example: “LegacyShRunConfiguration”)
Type of the executed run configuration
interpreter_type (example: “automatic”)
The selected default interpreter type
charset (example: “UTF-8”)
The charset used to parse the output
remote_target (example: “false”)
Boolean value to tell if executed on a remote run target
setup_wizardFired when the setup wizard of BashSupport Pro was opened
statusAggregated numbers of often used features
Properties
status_c (example: “10”)
Number how often code completion was requested, this is the sum of the other completion values
status_c_var (example: “10”)
Number how often code completion of variables was requested
status_c_def (example: “10”)
Number how often code completion of variable definition was requested
status_c_cmd (example: “10”)
Number how often code completion of command names was requested
status_doc (example: “10”)
Number how often code quick documentation was shown
status_doc_bash (example: “10”)
Number how often code quick documentation of a Bash command was shown
status_doc_script (example: “10”)
Number how often code quick documentation of script elements was shown
status_file_posix (example: “10”)
Number how often a POSIX .sh file was opened or activated
status_file_bash (example: “10”)
Number how often a Bash file was opened or activated
status_file_scratch (example: “10”)
Number how often a Shell/Bash scratch file was opened or activated
status_shellcheck (example: “10”)
Number how often ShellCheck was executed
status_shfmt (example: “10”)
Number how often shfmt was executed
structure_viewFired when the structure view panel is shown
test_batsFired when a bats-core run configuration is executed
Properties
name_filter (example: “false”)
Boolean value to tell if the run configuration is filtering tests by name
recursive (example: “true”)
Boolean value to tell if the run configuration is recursively searching for tests
parallel (example: “1”)
Integer value to tell how many tests are executed in parallel
path_mapper (example: “Automatic”)
The path mapping used for this run configuration
trial_end_notificationFired when a notification was shown, which informs trial users that the trial expires soon.
uninstalledFired when the BashSupport Pro plugin was uninstalled
unlicensed_actionFired when a feature is executed, but no valid license was found. A stack trace is included in the event data.

© 2020–2024 Joachim Ansorg
Imprint
Privacy Policy
Legal