Presentation Definition is a standardized data format that enables verifiers to clearly articulate proof requirements to holders in decentralized identity systems. Developed by the Decentralized Identity Foundation (DIF), it addresses the fundamental challenge of how parties can request specific verifiable information in a consistent, interoperable way.
When a verifier needs specific information from a holder to proceed with a transaction or service, they need a clear way to communicate exactly what's required. Presentation Definition solves this by providing:
Without Presentation Definition, each verifier would need to implement custom request formats, leading to compatibility issues, poor user experience, and increased development costs across the ecosystem.
A Presentation Definition is a JSON object that specifies:
At its core, a Presentation Definition contains:
Here's a simplified example requesting email verification:
Presentation Definition is one part of a complete credential exchange process. Here's how it fits into the workflow between a verifier and a holder:
After these steps, the holder responds with a Presentation Submission that maps their credentials to the requirements specified in the Presentation Definition. For details on that process, see the Presentation Submission documentation.
Input Descriptors are the primary building blocks of a Presentation Definition. Each descriptor specifies:
Input Descriptors use JSONPath expressions to target specific fields within credentials, allowing for precise requirements.
Constraints define specific requirements for credential fields. They can:
For example, a constraint might require a credential field to match a specific pattern:
Submission Requirements enable verifiers to specify logical combinations of Input Descriptors. They support:
For example, requiring either an ID card or a combination of other credentials:
This flexibility allows verifiers to express requirements like "provide either a government ID, or both a proof of address and proof of employment."
One key strength of Presentation Definition is its independence from specific credential formats. It works with:
This flexibility ensures broad compatibility across different identity systems and credential types.
Presentation Definition and Presentation Submission work together as complementary parts of the credential exchange process:
When a verifier sends a Presentation Definition, they expect to receive a Presentation Submission in return that maps the provided credentials to the requirements in the definition. For detailed information on how Presentation Submission works, see the Presentation Submission documentation.
Presentation Definition enables numerous verification scenarios:
When used with protocols like Self-Issued OpenID Provider v2 (SIOP), Presentation Definition allows verifiers to request specific identity attributes during authentication, combining traditional login with verified attribute checking.
By precisely defining which credential fields are required, Presentation Definition enables holders to share only the specific information a verifier needs, preserving privacy while still satisfying verification requirements.
Verifiers can use Submission Requirements to specify complex combinations of credentials from different issuers to satisfy verification needs, such as "education credential from an accredited university AND proof of residence."
The format-agnostic design allows Presentation Definition to work across different transport protocols, enabling consistent credential requests regardless of the underlying communication channel.
In the Vidos ecosystem, Presentation Definition plays a key role in the OpenID for Verifiable Presentations (OpenID4VP) flow:
Authorizer Service: The Authorizer provides the Presentation Definition to the wallet during the OpenID4VP authorize flow. This definition specifies exactly which credentials and fields the wallet needs to present to satisfy the verifier's requirements.
Validator Service: The Validator uses the Presentation Definition as a reference point to check the Presentation Submission as part of validator policies. It ensures that the presented credentials match what was requested.
For example, when a user initiates an authentication flow, the Vidos Authorizer generates the appropriate Presentation Definition based on the configured policies, sends it to the user's wallet, and later receives the corresponding Presentation Submission. The Authorizer then passes both the definition and submission to the Validator to verify that the presented credentials satisfy the original requirements.
Presentation Definition provides a standardized, interoperable way for verifiers to request specific verified attributes from holders. By clearly defining what credentials and fields are required, it enables consistent credential requests across different systems and formats.
Key benefits include:
Through Presentation Definition, the Vidos platform enables standardized, interoperable verification workflows that respect privacy while providing the flexibility needed for diverse verification scenarios.