| Compiler Explorer and Privacy |
| ----------------------------- |
| |
| *This is a summary of our Privacy policy, not a legal document, and might be incomplete.* |
| |
| *For the full Privacy policy, see `static/policies/privacy.html`, or visit https://godbolt.org/#privacy* |
| |
| The main Compiler Explorer site (at https://godbolt.org/) has a cookie and privacy policy, and it's expected that any |
| changes to the code are in compliance with those policies. It's worth taking a look at them if you're touching any area |
| of the code relating to storing or logging user data. |
| |
| Specifically, we must remain compliant with the EU's GDPR law, which applies to EU residents wherever they are in the |
| world. The main way to think about the GDPR, and privacy in general, is the user should be in control of their data. As |
| such we go to great pains to explain what we do with their data, and that we don't store any user-identifying |
| information. Of course, we _do_ (at least temporarily) store their source code, which may be precious and sensitive. We |
| are transparent with what we do with their data. When making short links, we send an encoding of their source code for |
| storage, and again we must be clear how that process works. When compiling with some Microsoft compilers we send data to |
| the sister site www.godbolt.ms and that data is covered by |
| [Microsoft's Privacy Policy](https://privacy.microsoft.com/en-US/). |
| |
| Users have rights over the data they create: so in theory they could ask for any data stored on them to be removed. We |
| have no way of tracking data (a short link, perhaps) back to an individual user, and when I asked some experts on this |
| the consensus was that we're OK not to supply this. If, however, we ever have user attribution (e.g., we start |
| having accounts), we need to support the user being able to close their account, and/or delete any data they created |
| (e.g., short links). All this makes perfect sense and would probably be done anyway, as it seems useful! |
| |
| We anonymise IP addresses so there's no exact mapping back to an individual using an IP. Not that it's trivial to map an |
| IP to a user anyway. |
| |
| We shouldn't store data forever: our web logs are set to delete after a few months. |
| |
| Short URLs do turn up in the web logs: from the short URL of course one can easily extract the source code embedded in |
| that short URL. Users are notified of this in the privacy policy. The ultimate recourse for users concerned about this |
| is to not use the main Compiler Explorer but instead run their own local service, which is relatively straightforward. |
| |
| ### Admins |
| |
| A very small group of people have administrator rights on the public Compiler Explorer. Those individuals can: |
| |
| * Read the logs |
| * Log in to the running Compiler Explorer compilation nodes |
| * Access the S3 storage where caches and stored information may be kept |
| * Access and modify the EFS storage where compilers are stored |
| |
| In short, administrators can see everything that goes on. It is expected that administrators keep this deep |
| responsibility in mind when performing actions on Compiler Explorer, and that they keep users' privacy at the forefront |
| of their minds when using their administration privileges. |