jGRASP Privacy Policy

Purpose of Collected Information

Data provided through jGRASP bug reports is used to assist in diagnosing bugs.

Usage data and the data we currently collect during downloading and version checks is used to guide the future development of jGRASP, by providing us with information on the nature of jGRASP usage and the jGRASP user base. This data allows us to focus our efforts where they are most needed, and to evaluate the successfulness of those efforts. High level statistical data may also be provided for informational purposes to potential funding organizations, to help them assess the potential benefits of funding jGRASP development.

Types of Information Collected

Bug Reports - When an unexpected exception is encountered in jGRASP, the user is given the option to send a bug report. Users may also manually initiate a bug report. In addition to information explicitly provided by the user, system information such as the Java version and screen resolution is provided with these reports. No information that would allow identification of a particular system or that would generally be considered sensitive is sent. For exception-initiated reports, a trace of the JVM stack at the time of the exception is also sent. The detail present in this stack trace is generally enough to identify the last action at the time the error occurred, but never contains any sensitive information such as file contents or filenames.

Downloads - When jGRASP is downloaded through this website, the downloaded item, time, and Internet Protocol address provided by the browser are logged. Any optional information provided on the download page (email address, name, etc.) will be included in the log. If an email address is not provided, an anonymous id will be associated with the download. If an email address is provided and "OK to contact me" is checked, we may possibly contact the user to inform them of a critical bug fix or to ask them to participate in a survey.

Version Checks - By default, jGRASP checks to see if there is a newer version at most once each day that it is used. This feature can be turned off using Settings > Check for New Versions. Whenever jGRASP checks for a new version either automatically or through user action, the time and Internet Protocol address are logged. No information is uploaded except that which is present in every HTTP request.

Usage Data - When jGRASP is first run, the user is asked for permission to collect usage data. If permission is given, the number of times that several key features have been used (CSD generation, interactions, workbench, viewers, etc.) and the programming language for which those features were used, is collected and uploaded to our severs, at most once each day that jGRASP is used. Data uploading can be turned off using Settings > Usage Reporting. When data is sent, the time and Internet Protocol address in the HTTP request are logged.


Collected information is stored in secure locations. Access to the raw data is restricted to a subset of the jGRASP development team.

Information Disclosure

Under no circumstances will we release any information associated with individual users without their explicit consent. We may release the following:

1) High-level download, version check, or usage statistics. Examples may include such things as the number of downloads or version checks in a particular state or country for a particular time period, the ratio of Windows to Mac downloads, the percentage of users who generated a CSD for C++, or a graph of jGRASP version checks for all users combined over time.

2) Location information for downloads or version checks, at a granularity that can not be used to identify particular organizations. Examples may include such things as a world map or US map of jGRASP version checks at a scale such that the map fits onto a 1400x1000 pixel image.

3) Statistics at the organization level which have been voluntarily provided by users. An example would be the results of a survey on how jGRASP is being used at US universities.

Changes to this Policy

We may update this policy in the future. Changes to the general character of the policy are not anticipated. We will never release any information associated with individual users without their explicit consent, and this is not subject to change.


If you have any questions about this policy, feel free to contact us through the addresses provide on this web site.