hyperledger / aries-cloudagent-python

Hyperledger Aries Cloud Agent Python (ACA-Py) is a foundation for building decentralized identity applications and services running in non-mobile environments.
https://wiki.hyperledger.org/display/aries
Apache License 2.0
404 stars 511 forks source link

Is selective disclosure implemented yet? #1779

Closed tanjan-sj closed 2 years ago

tanjan-sj commented 2 years ago

Hi, my team wants to implement selective disclosure with encryption in a system that we're building. I found out in the aries-rfcs that this is probably underway? Is it by any chance already implemented? If not, what is a good point to start working on it? Thanks.

swcurran commented 2 years ago

Selective disclosure has been working for a years with AnonCreds credentials (based on Hyperledger Indy) and with BBS+ Signatures with W3C JSON-LD Credentials. Look in the /demo folder of the repo to get started -- default demos use AnonCreds. There is also an instruction file on using the demo with JSON-LD credentials -- although the functionality is not as rich as with AnonCreds.

HTH.

tanjan-sj commented 2 years ago

Is this what you meant? I cannot seem to find a way to implement selective disclosure - where an entity should be able to granularly decide which information to share. It seems in the above example, the full presentation is required to present in order to verify/validate.

swcurran commented 2 years ago

Sorry for the delay in responding -- I've been out of the office for a while.

The JSON-LD capability in ACA-Py does support selective disclosure capabilities for most JSON-LD structures (there are some limitations) if you use the BBS+ Signatures. I'm not very familiar with the demo, as we are using AnonCreds for the work we do. However, in looking at the example, in this presentation, there is selective disclosure being used. Note that:

That's an example of selective disclosure using JSON-LD credentials.