...
See also details in the issue tracker.
Personal User Data Processing
In relation to TeamCity product JetBrains does not collect any personal data of the final TeamCity installation users. Related documents governing relationship with JetBrains can be found on the official web site: privacy policy, terms of purchase, TeamCity license agreement.
The notes below can be useful when assessing how your usage of TeamCity complies with the General Data Protection Regulation (GDPR) (EU) 2016/679 regulation. These notes are meant to address the most basic questions and serve as an input to the assessment of your specific TeamCity installation.
TeamCity and Users' Personal Data
The most important user-related data stored by TeamCity is:
- full name and username - stored in the database and shown on user's profile and whenever the user is referenced. When a user triggers a buld, these are also stored in the build's parameters and passed into the build
- user's email - stored in the database and shown on user's profile, used to send out notifications
- IP adderss of the clients accessing the server - can appear in the internal logs
TeamCity insternal logs can also record some unstructured user-related information (e.g. submitted by the user or sent by the browser with the HTTP requests)
Deleting the User Data
When you want to delete personal data of a specific user, the way to do it is to delete the user in TeamCity. This way all the references to the user will only store numeric user id and full name, username as well as email will not be stored anymore. Note that Audit records will get
If the user triggered any bulds (i.e. had "Run build" permission in any of the projects which are still present on the server), user's username and full name will be recorded in the build's parameters as text values as those were part of the build's "environment". If you need to remove those, you can either delete the related builds (and all the builds which artifact- or snapshot-depend on them), or delete parameters of those affected builds (those parameters are stored in archived files under <TeamCity Data directory>\system\artifacts***\.teamcity\properties directories).
After the user deletion and other data cleaning, make sure to reset search index to prune possibly cached data of the deleted user from the search index.
User Agreement
If you want the users to accept a special ageement before using your TeamCity instance, you can install a dedicated plugin developed by JetBrains for this purpose. Refer to the plugins's documentation for more details.
Encryption
If you want to encrypt the data used by TeamCity, it is recommedned to use generic, non-TeamCity-specific tools for this as TeamCity does not provide dedicated funcaionality.
TeamCity stores the data in the SQL database and on the file system.
You can configure the database to store the data in encrypted form and use secure JDBC-backed connection to the database (configured in the database.properties).
Also, you can configure encryption on the disk storage on the OS level.
Logs and Debugging Data
If you want to ensure that you do not store the internal TeamCity logs for more than a limited amount of days, you can configure internal logging to rotate the log files each day and limit the number of files to keep. TeamCity agents generally do not operate with any user-related data in a structural way, but if you need to ensure the logs are regularly rotated on the agent, you will need to configure agent logging the same way.
Per-day rotation can be configured by adding <param name="rotateOnDayChange" value="true"/>
line within all <appender name="ROLL" class="jetbrains.buildServer.util.TCRollingFileAppender">
appenders.
hidden-data |
---|
https://youtrack.jetbrains.com/issue/TW-52220 |
hidden-data |
---|
https://youtrack.jetbrains.com/issue/TW-54874 |
logs\catalina.out
file if not rotated automatically at all. It is recommended to establish an automatic procedure to rotate the file regularly.Customizations
These notes only address bundled TeamCity functionality with the most common documented settings. You should assess your specific TeamCity instalaltion considering customizations like the configured build scripts, installed plugins, external systems communicating with Teamity via API, etc.
TeamCity Release Cycle
The information below can be used for reference purposes only.
...