Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
LABS
Glossary

Credential Presentation Policy

A machine-readable rule set issued by a verifier specifying the types, constraints, and required claims of Verifiable Credentials a holder must present.
Chainscore © 2026
definition
DECENTRALIZED IDENTITY

What is a Credential Presentation Policy?

A Credential Presentation Policy is a machine-readable set of rules that defines the specific requirements a verifier must satisfy to receive a credential from a holder in a decentralized identity system.

A Credential Presentation Policy is a formal specification, often expressed in a language like W3C Presentation Exchange or OpenID for Verifiable Credentials, that dictates the exact Verifiable Credentials a user must present to a verifier. It defines the required claims (e.g., date of birth, membership status), the trusted issuers of those credentials, and any necessary cryptographic proofs. This policy acts as the verifier's request, enabling selective, privacy-preserving disclosure where the user (the holder) shares only the minimum necessary information to satisfy the request, a principle known as data minimization.

The policy's structure typically includes descriptors for each required credential, specifying the credential type (e.g., "type": ["VerifiableCredential", "DriversLicense"]), constraints on the issuer's DID, and which specific fields must be revealed. Advanced policies can include logical operators (AND, OR) to create complex requirements, such as "present a government ID or two separate proofs of address." This machine-readable format allows wallets and agents to automatically evaluate if the holder possesses the necessary credentials and can generate a valid Verifiable Presentation in response.

Implementing a presentation policy is fundamental to trust frameworks and zero-knowledge proof systems. For example, a policy could require proof of being over 21 without revealing the exact birth date, or proof of a valid accreditation without disclosing the accrediting body. By decoupling the verification request from the underlying application logic, these policies enable interoperability across different decentralized identity ecosystems, allowing services to define clear, standardized, and auditable access rules without being locked into a single vendor's protocol.

how-it-works
VERIFIABLE CREDENTIALS

How a Credential Presentation Policy Works

A Credential Presentation Policy is a machine-readable rule set that defines the specific requirements a verifier must satisfy before accepting a digital credential from a holder.

A Credential Presentation Policy is a formal specification, often expressed in a language like the W3C's Presentation Exchange (DIDComm) or OpenID for Verifiable Credentials (OIDC4VC), that dictates the exact criteria for a credential presentation. It answers the what, how, and why of a verification request. This includes the type of credential required (e.g., a government-issued ID), the specific claims that must be disclosed (e.g., date of birth over 21), and the cryptographic proof formats that are acceptable, such as JSON Web Tokens (JWTs) or Data Integrity Proofs. The policy acts as the verifier's non-negotiable checklist.

The workflow begins when a verifier, such as a financial service or online platform, generates and transmits a presentation policy to the user's wallet or agent. The wallet software then evaluates the user's stored Verifiable Credentials (VCs) against this policy. This process, known as credential negotiation, may involve selecting the correct credential, generating the required cryptographic proofs, and potentially creating a Verifiable Presentation (VP)—a signed package that contains the disclosed credentials and fulfills the policy. The holder maintains control, as they can choose which credentials to share and can often use zero-knowledge proofs (ZKPs) to prove a claim (e.g., "I am over 18") without revealing the underlying data.

Key technical components of a policy include input descriptors, which define the schema and constraints for requested credentials, and submission requirements, which specify the logical relationships (e.g., "all of" or "pick one from") between them. For example, a policy for a loan application might require all of: a government ID and (a pay stub or a bank statement). This enables complex, conditional logic for real-world scenarios. Policies are crucial for selective disclosure, privacy preservation, and interoperability, ensuring different systems can understand and process verification requests in a standardized way.

In practice, a Credential Presentation Policy enables trusted, automated interactions. A decentralized application (dApp) might use a policy to gate access, requiring a credential from a trusted issuer. A physical venue could present a QR code encoding a policy to verify attendee credentials at the door. By shifting from ad-hoc data requests to a standardized policy framework, these systems reduce fraud, enhance user privacy through minimized data exposure, and create a more efficient and user-centric model for digital trust, forming the backbone of Self-Sovereign Identity (SSI) ecosystems.

key-features
CREDENTIAL VERIFICATION

Key Features of a Presentation Policy

A Presentation Policy is a machine-readable specification that defines the exact requirements a verifier demands from a credential holder. It acts as a formal request, ensuring the disclosed information is sufficient, authentic, and relevant for the specific verification context.

01

Credential Schema Constraints

The policy specifies the required credential schemas or types (e.g., a government-issued ID, a university degree). It defines the exact data structure and semantic meaning the verifier will accept, ensuring the presented credential contains the necessary fields in the correct format.

02

Selective Disclosure Rules

Policies enable zero-knowledge proofs and selective disclosure. A holder can prove they possess a valid credential and that specific claims (e.g., age > 21, degree type) are true, without revealing the entire credential or other unrelated personal data.

03

Issuer Trust & Validity Period

The policy mandates trusted issuer DIDs or public keys, ensuring credentials come from authorized sources. It also defines validity windows, requiring credentials to be non-revoked and issued/expired within acceptable timeframes, as verified against a revocation registry or status list.

04

Predicate Logic & Complex Proofs

Beyond simple equality, policies can express logical predicates (AND, OR) and numerical comparisons. Examples include proving a salary is within a range (salary >= 50000 AND salary <= 100000) or that a holder has one of several accepted credential types.

05

Holder Binding & Non-Transferability

Ensures the credential is presented by its legitimate owner. The policy can require a holder binding proof, linking the credential to a specific Decentralized Identifier (DID) or requiring a signature from a holder-controlled key, preventing credential sharing or theft.

06

Format & Protocol Compliance

Specifies the technical presentation exchange protocol (e.g., W3C Verifiable Presentation, AnonCreds Presentation) and serialization format (JSON-LD, JWT) required for interoperability. This ensures the verifier's system can correctly parse and validate the submitted proof.

common-policy-constraints
CREDENTIAL PRESENTATION POLICY

Common Policy Constraints & Rules

A Credential Presentation Policy defines the specific rules and constraints a Verifier requires a Holder to satisfy when presenting Verifiable Credentials. These policies ensure the data exchanged is sufficient, trustworthy, and relevant for the intended interaction.

01

Credential Type & Schema

Specifies the exact type of credential required (e.g., VerifiableCredential, UniversityDegreeCredential) and references its schema. The schema defines the mandatory and optional data fields (claims) that must be present, ensuring structural validity.

  • Example: type: ["VerifiableCredential", "DriversLicense"]
  • Constraint: A policy may require a credential conforming to the W3C https://schema.org/Person schema.
02

Issuer Constraints

Defines which entities are trusted to issue the credentials accepted by the Verifier. This is a critical trust anchor, preventing acceptance of credentials from unauthorized or fraudulent sources.

  • Trusted Issuers List: A whitelist of Decentralized Identifiers (DIDs) or issuer profiles.
  • Example: issuer: "did:example:issuer123" or issuer: { oneOf: ["did:web:dmv.gov", "did:ethr:0xabc..."] }
  • Purpose: Ensures the credential's provenance is from a recognized authority like a government agency or accredited institution.
03

Validity & Expiration

Governs the temporal validity of presented credentials. Policies enforce that credentials are currently active and were valid at a specific point in time relevant to the verification context.

  • Current Validity: Credential must not be expired or revoked.
  • Historical Validity: Credential must have been valid at a past date (e.g., "proof of age over 21 on January 1, 2023").
  • Mechanism: Checks against the credential's issuanceDate, expirationDate, and real-time revocation status via a registry or status list.
04

Selective Disclosure & Proof Requirements

Dictates how claims from a credential are revealed and cryptographically proven. This enables privacy-preserving verification where only necessary information is shared.

  • Disclosure: Specifies which specific claims must be disclosed (e.g., birthdate but not name).
  • Proof Type: Mandates a specific cryptographic proof suite (e.g., BBS+ signatures for zero-knowledge proofs, EdDSA for simple signatures).
  • Example: A policy may require a zero-knowledge proof that proves the Holder is over 18 without revealing their exact birth date.
05

Holder Binding & Authentication

Ensures the credential is presented by its legitimate owner, preventing credential theft and replay attacks. This binds the presentation act to the Holder's current authentication.

  • Challenge-Response: The Verifier provides a cryptographic nonce that must be included in the presentation proof.
  • Audience (aud): The presentation is cryptographically tied to the Verifier's DID.
  • Holder Authentication: May require the Holder to sign the presentation with a key proven to control their DID, establishing holder binding.
06

Policy Format & Expression

The machine-readable language or format used to encode the policy rules, enabling automated negotiation and enforcement between systems.

  • Common Formats: OpenID for Verifiable Presentations (OID4VP), W3C Verifiable Credentials Data Model conventions, or DIF Presentation Exchange schemas.
  • Structure: Often expressed as a JSON object specifying fields, constraints, and rules.
  • Function: Allows a Verifier to publish a policy and a Holder's wallet to automatically determine if it can satisfy the request.
technical-standards
TECHNICAL STANDARDS & FORMATS

Credential Presentation Policy

A Credential Presentation Policy is a machine-readable specification that defines the rules and requirements a verifier sets for a holder to present their digital credentials.

A Credential Presentation Policy is a structured set of rules, often expressed in a format like JSON or OAuth 2.0 scopes, that a verifier provides to a holder. It specifies precisely which Verifiable Credentials (VCs) are required, the specific claims needed from them, and any constraints on issuance or validity. For example, a policy might request proof of a university degree credential, specifically requiring the degree.type claim to equal "Bachelor of Science" and the issuer to be from an accredited institution. This policy acts as a formal request, enabling automated, interoperable credential exchanges without manual negotiation.

These policies are central to the W3C Verifiable Credentials Data Model ecosystem and are implemented in protocols like OpenID for Verifiable Presentations (OID4VP) and Presentation Exchange. They support complex logical requirements using operators like and, or, and not, allowing for sophisticated proofs. A policy could, for instance, require a holder to present either a government-issued ID or two separate credentials from trusted employers. By standardizing this request format, policies ensure that different wallet and verifier applications can understand and fulfill authentication and authorization requirements consistently.

From a developer's perspective, a Credential Presentation Policy decouples the verification logic from the presentation protocol. The verifier's backend generates the policy, which is then sent to the holder's wallet. The wallet evaluates the policy against the credentials in its storage, constructs a corresponding Verifiable Presentation that satisfies all rules, and returns it. This pattern enhances user privacy through selective disclosure, as the holder only reveals the minimal information necessary. It also enables policy-based access control for decentralized applications (dApps), physical access systems, and Know Your Customer (KYC) workflows, forming the contractual basis of trust in SSI (Self-Sovereign Identity) architectures.

examples
CREDENTIAL PRESENTATION POLICY

Real-World Examples & Use Cases

A Credential Presentation Policy defines the rules for how a Verifiable Credential must be shared. These policies are critical for privacy, security, and compliance in decentralized identity systems.

01

Age Verification Without ID

A liquor store's policy requires proof of age over 21, but not your exact birthdate or ID number. A user's wallet presents a cryptographically signed credential from a trusted issuer (e.g., DMV) containing only the statement "Holder is over 21." The policy ensures data minimization and privacy.

02

Selective Disclosure for KYC

A crypto exchange's KYC policy may require proof of residency and identity. Using Zero-Knowledge Proofs (ZKPs), a user can prove they are a resident of an allowed jurisdiction and that their government ID is valid, without revealing their full address or ID number. This satisfies regulatory compliance while protecting user data.

03

Professional Credential Access

A professional forum for doctors requires proof of a medical license. The platform's policy specifies the accepted credential schemas and trusted issuers (e.g., state medical boards). A doctor presents a W3C Verifiable Credential issued by their board. The policy's signature verification rules automatically grant access upon validation.

04

Physical Access with Digital Credentials

A corporate office uses a policy that requires an employee credential and a daily health attestation. To enter, an employee's mobile wallet must present two credentials: a DID-linked employment credential and a signed health status attestation. The door reader's policy verifies both signatures and the credential status (e.g., not revoked) before granting access.

05

Loan Application with Credit Score

A DeFi lending protocol's policy requires a credit score above 700 and proof of stable income. Instead of submitting raw financial data, a user presents two ZK-backed credentials from off-chain oracle services. The policy defines the minimum score, issuer trust registry, and credential freshness (e.g., issued within last 30 days) to assess risk programmatically.

06

Conference Ticket Verification

An event's entry policy requires a valid ticket and, for VIP areas, a speaker or sponsor credential. The scanner checks for a cryptographic nonce to prevent replay attacks, validates the ticket issuer's signature against a known list, and checks the credential's expiration date. Different policy rules are applied based on the credential type presented.

CREDENTIAL VERIFICATION

Presentation Policy vs. Simple Data Request

A comparison of structured credential verification policies versus basic data queries in decentralized identity systems.

FeaturePresentation PolicySimple Data Request

Purpose

Enforces specific verification logic and constraints

Requests raw data without verification rules

Structure

JSON-based policy document (e.g., W3C Presentation Definition)

Simple query string or parameter

Verification Logic

Supports predicates, constraints, and selective disclosure

Holder Control

Holder can satisfy policy with proofs from multiple sources

Holder returns raw data if available

Result Format

Verifiable Presentation containing proofs

Plain data object or array

Trust Model

Relies on cryptographic proofs and issuer signatures

Relies on data source honesty

Use Case

Access control, KYC, proof-of-ownership

Basic profile data fetch, API calls

Complexity

Higher; requires policy engine and proof validation

Lower; simple request-response

ecosystem-usage
CREDENTIAL PRESENTATION POLICY

Ecosystem Implementation

A Credential Presentation Policy is a machine-readable rule set that defines the specific requirements a verifier demands from a holder's Verifiable Credential (VC) during an interaction. It governs the flow of data in decentralized identity ecosystems.

01

Core Components of a Policy

A policy specifies the exact data a verifier needs. Key components include:

  • Credential Type: The specific schema (e.g., VerifiableCredential, DiplomaCredential).
  • Required Claims: The individual data fields that must be disclosed (e.g., dateOfBirth, degreeEarned).
  • Issuer Constraints: Rules about who must have issued the credential (e.g., a trusted university DID).
  • Proof Requirements: The cryptographic proof type the holder must provide (e.g., a BBS+ signature for selective disclosure).
02

Presentation Request & Submission

The policy is encoded into a Presentation Request (or Presentation Definition) sent by the verifier. The holder's wallet uses this request to:

  1. Locate matching credentials in their digital wallet.
  2. Create a Verifiable Presentation (VP), which is a cryptographically signed package containing the disclosed credentials or claims.
  3. Submit the VP back to the verifier for validation. This creates a standardized, interoperable request-response protocol.
03

Selective Disclosure & Data Minimization

Advanced policies enable selective disclosure, allowing holders to prove specific claims without revealing the entire credential. For example, proving you are over 21 without disclosing your exact birth date. This is achieved using zero-knowledge proofs (ZKPs) or predicate proofs within BBS+ signatures, enforcing the privacy principle of data minimization.

04

Policy Languages & Standards

Policies are written in standardized formats to ensure interoperability across different systems. The dominant standard is the W3C Presentation Exchange specification, which defines the presentation_definition JSON structure. Other frameworks include OpenID for Verifiable Presentations (OID4VP) and ISO mDL (mobile Driver's License) models, each with specific serializations for different use cases.

05

Real-World Example: Age Verification

A liquor store's point-of-sale system (verifier) requests proof a customer is over 21. Its policy requires:

  • Credential Type: GovernmentIdCredential
  • Issuer: did:example:state-dmv
  • Claim: age ≥ 21 (a predicate proof). The customer's wallet presents a VP containing a ZK proof of age, satisfying the policy without revealing their name or birth date.
06

Trust Frameworks & Governance

In large ecosystems, Trust Frameworks define the legal and technical rules that policies must adhere to. They establish:

  • Accredited issuers for specific credential types.
  • Accepted cryptographic suites and signature types.
  • Rules for credential revocation and expiration.
  • Liability and compliance requirements. This governance layer ensures policies are not just technically sound but also legally meaningful.
security-considerations
CREDENTIAL PRESENTATION POLICY

Security & Privacy Considerations

A Credential Presentation Policy defines the rules and constraints a verifier imposes on how a holder must present their verifiable credentials, directly impacting security, privacy, and user experience.

01

Selective Disclosure

A core privacy-enhancing feature that allows a holder to reveal only specific attributes from a credential, rather than the entire document. This minimizes data exposure and adheres to the principle of data minimization.

  • Example: Proving you are over 21 by revealing only your birth year from a driver's license credential, not your full name or address.
  • Mechanism: Often implemented using zero-knowledge proofs (ZKPs) or BBS+ signatures.
02

Holder Binding & Non-Transferability

A security measure ensuring that a presented credential is bound to the specific holder presenting it, preventing credential theft and unauthorized delegation.

  • Challenge-Response: The verifier issues a unique, time-bound nonce that the holder must sign with their private key, proving control.
  • DID Authentication: The presentation is cryptographically linked to the holder's Decentralized Identifier (DID).
  • Prevents: Replay attacks where a stolen credential presentation is reused.
03

Presentation Request Validity & Replay Protection

Policies enforce constraints on the presentation request itself to prevent fraud and ensure freshness.

  • Expiration Time: The request includes a validUntil timestamp, after which any presentation is rejected.
  • Unique Nonce: A random value generated by the verifier must be included in the proof, making each presentation unique and preventing replay.
  • Domain Binding: The presentation can be cryptographically bound to a specific verifier domain, preventing a request from one site from being fulfilled to another.
04

Credential Status & Revocation Checks

The policy can mandate that the verifier must check the current validity status of the presented credential, ensuring it has not been revoked by the issuer.

  • Status List 2021: A common method where credential status is checked against a revocation list on a ledger or HTTP endpoint.
  • On-Chain Registries: Smart contracts that maintain a mapping of credential IDs to their active/revoked state.
  • Policy Enforcement: The verifier's policy specifies which status check mechanisms are trusted and required.
05

Schema Conformance & Trusted Issuers

The policy defines the precise data structure and authorized sources for acceptable credentials, establishing trust boundaries.

  • Credential Schema: The exact JSON schema or type (e.g., https://schema.org/EducationalOccupationalCredential) that the credential must conform to.
  • Trust Registry: A list of DIDs or public keys of issuers the verifier trusts. The presentation must prove issuance from a trusted source.
  • Prevents: Acceptance of credentials from unknown or malicious issuers.
06

Privacy-Preserving Proof Formats

The policy can specify the use of advanced cryptographic proof formats that enhance privacy beyond simple selective disclosure.

  • Zero-Knowledge Proofs (ZKPs): Allow proving a statement (e.g., 'age > 18') without revealing the underlying data (the exact birth date).
  • BBS+ Signatures: Enable unlinkable presentations, where multiple presentations of the same credential cannot be correlated by the verifier.
  • Policy Goal: To achieve unobservability and minimal disclosure as defined by privacy frameworks.
CREDENTIAL PRESENTATION POLICY

Frequently Asked Questions

A Credential Presentation Policy (CPP) defines the rules and requirements a Verifier sets for accepting Verifiable Credentials. These FAQs clarify its purpose, structure, and implementation.

A Credential Presentation Policy (CPP) is a machine-readable specification, often expressed in a format like JSON or W3C's Presentation Definition, that defines the exact requirements a Verifier (relying party) has for accepting Verifiable Credentials (VCs) from a Holder. It specifies which credentials are needed, their types, the required claims (attributes), and any constraints like issuer trust frameworks or issuance dates. The policy is sent to the Holder's wallet, which uses it to select the appropriate credentials and construct a Verifiable Presentation that satisfies all the Verifier's rules, enabling a standardized, privacy-preserving exchange of attested data.

ENQUIRY

Get In Touch
today.

Our experts will offer a free quote and a 30min call to discuss your project.

NDA Protected
24h Response
Directly to Engineering Team
10+
Protocols Shipped
$20M+
TVL Overall
NDA Protected Directly to Engineering Team