Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Selective Disclosure in kotlinx.serialization #20

Open
iaik-jheher opened this issue Sep 4, 2023 · 3 comments
Open

Selective Disclosure in kotlinx.serialization #20

iaik-jheher opened this issue Sep 4, 2023 · 3 comments

Comments

@iaik-jheher
Copy link
Collaborator

For any actual real-life wallet use case, we will need some kind of selective disclosure of credentials.

It would be very nice to extend kotlinx.serialization with redactable fields; essentially serialization for a Redactable<T> object (essentially a fancy optional) with serialization to JWP or some other (non-binary) merkle tree-like structure.

Not a very well-formed idea yet, but it'd be very convenient to be able to do

@Serializable
data class Credential(
  val firstname: Redactable<String>,
  val lastname: Redactable<String>,
  val dob: Redactable<String>)

and then have this serialize to a (partially-redacted) Merkle tree. I am also not sure how to best handle revealing of individual nodes after the fact; this sounds like it might need code generation (akin to what kotlinx.serialization already does?) to be done efficiently.

It's... an idea, not very well-structured yet. @JesusMcCloud told me to post it here either way.

@JesusMcCloud
Copy link
Collaborator

@iaik-jheher don't we have something ready to use for that?

@nodh
Copy link
Contributor

nodh commented Oct 24, 2024

Any news on that?

@iaik-jheher
Copy link
Collaborator Author

tech demo exists in the internal gitlab (as jakob.heher/sd-jwt), I think it was complete when I left it... it's not the same approach as originally outlined in this issue though

@nodh nodh self-assigned this Oct 25, 2024
@nodh nodh removed their assignment Oct 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants