The GitHub Workflow Plugin is designed to assist developers in managing GitHub Actions and Workflows directly from their IDE. As part of its functionalities, it processes and stores certain data. This document outlines the nature of this data and how we manage it.
Before version 3.0.0, workflow or action files were stored in plain text on the filesystem.
From version 3.0.0 onwards, significant improvements have been made in terms of privacy:
- On-the-Fly Processing: All necessary data is processed on-the-fly, minimizing the stored data to only essential parts.
- Cached Data: The data is stored in the IDE cache, specifically in githubActionCache.xml.
As of version 3.0.0, the plugin caches the following data for each workflow and action:
- Uses Value: The value specified in the
use
field of your workflow file. - Action Status: A boolean indicating whether the
usesValue
refers to a GitHub Action or a workflow, identified throughisAction
. - Local Reference: A boolean specifying whether the
usesValue
points to a local directory or file, indicated byisLocal
. - Suppression Status: An internal flag (
isSuppressed
) indicating whether validation for theusesValue
is currently deactivated. - Resolution Status: An internal flag (
isResolved
) that records if the action or workflow has been successfully imported. - Input/Output Variables: Variables obtained from the corresponding action or workflow.
- Guessed Name: A name extrapolated from the
usesValue
, stored asname
. - URL Information: Guessed URLs (
downloadUrl
andgithubUrl
) which are not considered more sensitive than the originalusesValue
.
Among these, only the input
and output
variables have the potential to be sensitive or private. The level of their
sensitivity depends on your unique data privacy considerations.
Given that the plugin operates within the same IDE environment where your code resides, the risk profile is generally no different from working directly with your IDE.
While the plugin has made considerable strides in improving data security from version 3.0.0, we are actively looking to implement further enhancements to offer an even more secure experience for users. One idea could be to encryption the data.
While there is a focus on maintaining user privacy and data security, it is important to understand that some data is stored. However, from version 3.0.0, these have been limited to the least sensitive and most essential pieces of information, and are processed in a way to minimize privacy risks.