Skip to content

Presentation Definition

Presentation Definition is a standardized format that enables verifiers to articulate proof requirements to holders in decentralized identity systems. Developed by the Decentralized Identity Foundation (DIF), it addresses how parties can request specific verifiable information consistently and interoperably.

Verifiers need a clear way to communicate exactly what credentials and information they require. Presentation Definition provides:

  • Standardized, system-agnostic credential requests
  • Clear specification of required credential fields
  • Complex requirement combinations through logical operators
  • Constraints on acceptable credential formats and issuers
  • Built-in selective disclosure support

Without it, each verifier would implement custom request formats, causing compatibility issues, poor user experience, and increased development costs.

A Presentation Definition is a JSON object specifying what credentials a verifier needs, which fields within those credentials are required, and what combinations satisfy the requirements.

Core components:

  • Unique identifier: References the definition
  • Input descriptors: Define required credentials and their constraints
  • Submission requirements (optional): Specify logical combinations of inputs
  • Format requirements (optional): Acceptable credential formats

Example requesting email verification:

{
"id": "user_verification_example",
"input_descriptors": [
{
"id": "email_credential",
"name": "Email Verification",
"purpose": "We need to verify your email address",
"constraints": {
"fields": [
{
"path": ["$.credentialSubject.email"],
"filter": { "type": "string", "format": "email" }
}
]
}
}
]
}

Presentation Definition is part of a credential exchange workflow between verifier and holder:

  1. Request Formation: Verifier creates a Presentation Definition specifying required credentials
  2. Request Transmission: Definition is sent to the holder
  3. Holder Processing: Holder’s wallet interprets the requirements
  4. Credential Selection: Holder selects credentials satisfying the requirements
  5. Response: Holder returns a Presentation Submission mapping their credentials to requirements
sequenceDiagram
    participant Verifier
    participant Holder

    Note over Verifier: Creates Presentation Definition
    Verifier->>Holder: Sends Presentation Definition
    Note over Holder: Processes requirements
    Note over Holder: Selects matching credentials
    Holder->>Verifier: Returns Presentation Submission

Input Descriptors specify individual credential requirements. Each descriptor defines which credential fields are needed, acceptable values, and format requirements using JSONPath expressions and JSON Schema filters.

Submission Requirements enable logical combinations of Input Descriptors:

  • all: All inputs from a group must be submitted
  • pick: Minimum number of inputs from a group must be submitted
  • Nested rules: Complex combinations

Example - require either ID card OR (address proof AND employment proof):

"submission_requirements": [
{
"rule": "pick",
"min": 1,
"from": ["A", "B+C"]
}
]

Presentation Definition works with multiple credential formats:

  • W3C Verifiable Credentials
  • JSON Web Tokens (JWTs)
  • JSON Web Credentials
  • OpenID Connect tokens
  • Any JSON-serializable claim format

This ensures broad compatibility across identity systems.

Presentation Definition and Presentation Submission are complementary:

  • Presentation Definition: Specifies what the verifier wants (the request)
  • Presentation Submission: Maps holder’s credentials to the requirements (the response)

The submission references the definition to demonstrate how presented credentials satisfy requirements.

In Vidos, Presentation Definition integrates with OpenID for Verifiable Presentations (OpenID4VP):

  • Authorizer: Provides Presentation Definition to wallets during authorization, specifying required credentials and fields
  • Validator: Uses the definition to verify that Presentation Submissions match requirements

When users authenticate, Vidos Authorizer generates the appropriate definition based on policies, sends it to the wallet, receives the submission, and validates that presented credentials satisfy the original requirements.

Presentation Definition provides standardized, interoperable credential requests that work across systems and formats. It enables verifiers to clearly specify requirements while supporting privacy-preserving selective disclosure.

Key benefits:

  • Standardized credential request format
  • Complex logical requirement combinations
  • Format-agnostic design for broad compatibility
  • Precise field specification for enhanced privacy
  • Reduced implementation complexity

Through Presentation Definition, Vidos enables standardized verification workflows that balance privacy with flexibility for diverse scenarios.