Ok, let me start by saying I’m not a lawyer. Also, I’m not an Atlassian staff member. However, I do have some insights into GDPR as a result of running a privacy consultancy firm together with a lawyer at the height of GDPR implementation madness.
The key to the paragraph that you have posted is:
The data subjects are identifiable if they can be directly or indirectly identified
Let’s say a random number 1858230
is the database identifier for my account in any e-commerce system. The number itself is not personal data, because, well, it’s just a number.
It does however become personal data when compounded with additional information. For instance, if you would know that this is an Amazon ID and you would somehow have a means to retrieve my personal information from Amazon using that ID, the number 1858230
can be used to identify me.
Within the context of Atlassian, that means that storing a random string like the Atlassian ID in a database in and of itself does not make that information personal data. An attacker would not be able to actively use the data from your database to identify a data subject, any more than it would if you would have stored a field containing 1858230
.
Only compounded with the knowledge that this is an Atlassian ID, and with the means to extract additional information from Atlassian based on that ID would the random string turn into personally identifiable data.
Having said that, please do keep in mind that when you store the base URL of the client instance (A), the shared secret for your app (B) and the account ID of users (C) into the same database or database table, you create a compounded set of information that together does constitute personal identifiable data, following this logic:
A is semi-public information and does not in itself represent PII
B will grant API access to all data to which the app has access (based on scopes) for those instances for which the app is installed
C will allow you to directly query information for that user based on their ID
If you have A+B, you can connect to the API and potentially retrieve PII for all users of that instance. Now if you have A+B+C you can directly retrieve PII for that user, only limited by app scope and global user privacy settings.
I hope this clarifies how random data becomes PII within the context of GDPR.