demo ยท v133

Issuance flow builder — mDL onboarding

Wire up the issuance request for the W3C explainer's marquee use case: a state DMV provisioning a mobile driver's license into the user's wallet. Pick the issuer profile, sign-in proof, and claim set; the page builds the exact navigator.credentials.create({ digital }) options object.

Origin trial / behind flag: enable chrome://flags/#web-identity-digital-credentials and join the Digital Credentials origin trial. Without it the call rejects with NotSupportedError; the demo logs whatever returned.

1. issuer profile

2. user proof at issuer

3. generated request

{ }
click "create credential" to fire navigator.credentials.create({ digital, ... })

why issuance shipped first

Presentation got the spotlight, but issuance is the missing half: without a standard API for "please put this credential in my wallet", every state DMV, university, and bank had its own custom URL handler, QR code scanner, or deep-link scheme. The Chrome 133 issuance support adds the symmetric navigator.credentials.create({ digital }) path. The browser brokers between the website and CredMan / a wallet that registered as an issuer target, so the protocol selection (OpenID4VCI, ISO 18013-7) is one knob instead of fifteen.

const cred = await navigator.credentials.create({
  digital: {
    providers: [{
      protocol: "openid4vci",
      request: { /* issuer-specific blob */ }
    }]
  }
});

see also