Skip to content

[Story] Validate and approve presentation as a Holder #314

@marinakarampatsa

Description

@marinakarampatsa

User Story

Description

As a EUDI Wallet Holder
I want to validate a EUDI Wallet Verifier’s request and approve the presentation
So that I only share information I explicitly consent to

Assumptions

  • The user has already activated Wallet-to-Wallet mode and selected the "Holder" role
  • The Wallet contains at least one issued attestation in the mdoc format
  • The user's device supports BLE for data transfer.
  • The Wallet can compare the request with the PresentationOffer (if present).

Acceptance Criteria:

Validation:
These criteria describe what the Wallet must check before the Holder is allowed to approve anything.

  • The Wallet checks that the request only asks for information the Holder originally offered (when a Presentation Offer exists).
  • The Wallet checks that the request does not include anything the Holder does not have or cannot provide (when no Presentation Offer exists).
  • The Wallet checks that all “keep this data” flags (IntentToRetain) are set to false, as required in Wallet-to-Wallet interactions.
  • If any part of the request is not allowed, the Wallet immediately stops the process.
  • When the request is invalid, the Wallet sends an error response (DeviceResponse with status = 10) and does not share any information.

Approval:
These criteria describe what happens once the request has passed validation, and the Holder is asked to make a decision.

  • The Wallet shows the Holder a clear, readable list of the information the Verifier wants to receive.
  • The Holder must actively choose whether to share the information or not.
  • No data is sent unless the Holder explicitly selects Approve.
  • When the Holder approves, the Wallet creates a presentation and sends it to the Verifier.
  • After presentation, the Holder sees confirmation that the information has been shared.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions