"ZKP makes it possible for people to prove that something about them is true without exchanging any other data. So, for example, a person visiting a website can verifiably prove he or she is over 18, without sharing anything else at all." But not "...without sharing anything else even when setting up your token." Can I prove that some cryptographic token A) doesn't contain any PII and B) that the token itself can't b…
As I understand it, ZKPs can prove both those properties. You can get a certificate from whoever is trusted to verify that you're over 18, and then you can use that to generate tokens that only encode the information 'X has verified that I am over 18' without either the original verifier or the entity you are providing it to being able to link that to the original certificate. See section 2 of this document: https://…
I suspect the ZKP proof or token is practically unique and related to you, so I could be personal data if you use the definition from GDPR.
With ZKP the entity and the original verifier shouldn't be able to match your identity to the ZKP proof or token, but the app on your phone of course can do that.
The app probably will be made some government contractor and there is no technical measure that would prevent them to just share all that data with whoever they want.