vpkit OpenID4VP 1.0 · SD-JWT VC · Demo

Is the average step count 8,000 or more?
Prove that, and nothing else.

The Wallet app on your iPhone summarizes 30 days of HealthKit data and hands this site a single boolean: whether the condition is met. The step count itself is never shared, and the result page lets you confirm exactly what was withheld.

A QR code will appear. Scan it with the vpkit Wallet on your iPhone. If you are viewing this page on the iPhone itself, a single tap on the link opens the Wallet.

How it works

The Wallet issues an SD-JWT VC to itself, signs it with a Secure Enclave key, and keeps it on the device. This site (the Verifier) sends a signed OpenID for Verifiable Presentations 1.0 request and, via DCQL, asks for just two claims: avg_steps_30d_over_8000 and period. The Wallet selects only the matching Disclosures, attaches a Key Binding JWT, and returns the presentation with direct_post.

What this does not prove

The credential is self-issued. All that can be verified is that this app on this device created it and that it arrived unaltered. Whether the step count is true is not attested by anyone. That is the premise of the demo, stated up front.

Try it

Wallet app
Coming soon (TestFlight planned)
Write-up
Coming soon
Source code
Coming soon