Verifiable Credentials DIDKit-python Open Questions

Context

We want to integrate DIDkit-python to:

  1. Issue verifiable credentials to users in JSON-LD format. Issuer will be configured by a operator of the system. Issuers may be identified by did-key or did-web. In case issuer is using did-key identifier, secrets are passed as env variables, or taken from DB based on different use cases.

  2. Include credential into a status list to have a possibility to revoke it in the future.

 

Questions

During investigation, we faced the following questions:

  1. Module maintenance: should it be updated if some critical vulnerabilities are addressed in a DIDKit or SIS core library? Does SpruceID maintain didkit-python to address this kind of issues?

    1. The core library is security reviewed and that’s an ongoing plan. They keep an eye on security and release as necessary.

    2. There are not on-going releases for the python bindings currently.

  2. Is there support for StatusList2021 in didkit-python? If no, what actions are required to add support for it, can it be included into SpruceID roadmap?

    1. Not currently sure. Would have to ask the engineering team.

  3. Our main focus is the OpenBadges v3.0 standard which is based on verifiable credentials data model. Have you any experience of issuing OBv3 with DIDkit, can you forsee any issues when Issuing OBv3 using didkit-python implementation?

  4. In the future we want to issue credentials in bulk, do you have any experience with it or protocol doesn't support bulk issuance as for now?

  5. We are planning to develop a Django application that acts as a primitive wallet for testing and as a very basic reference implementation. Any thoughts on this? Any similar applications that exist today that you are aware of?

    1. SpruceID has created a basic web wallet using flutter here https://github.com/spruceid/credible

    2. Not aware of an existing open wallet, so this feels like it would be valuable.

    3. Ideally a python version that uses the DidKit bindings would be useful.

  6. We noticed that there were features related to OBv3 that seem to be implemented in master, but that haven’t been pushed to PyPi.

    1. Spruce will investigate pushing the latest version.