eIDAS 2.0 compliant by design

A PID to test with.Exactly as WE BUILD specifies it.

The Credenco PID Issuer hands out PIDs in the encoding of the WE BUILD PID rulebook. Take the PID of one of the people in our demos, or compose one yourself with the attributes you need: only the mandatory ones, or a complete PID with address, birth names, contact details and a portrait. Everything is issued as SD-JWT VC with vct urn:eudi:pid:1.

How this works

Three roles, two protocols

Everything on this page follows the European Digital Identity standards. The terminology below is the same you will find in the specifications, so you can map what you see to what you read.

Issuer

The party that states something and signs it. Here that is the Credenco PID Issuer, a demo issuer that puts the PID you choose or compose into your wallet.

Holder

You. Your credentials live in your wallet on your phone, not in our database. You decide each time whether to share, and what.

Verifier

The party that asks for proof. That is up to you: any WE BUILD verifier that asks for urn:eudi:pid:1 should accept these PIDs.

Issuance: OpenID4VCI

You scan a credential offer. Your wallet fetches the credential from the issuer and stores it, cryptographically bound to a key that only your phone holds.

Presentation: OpenID4VP

A verifier sends a query describing what it needs. Your wallet shows you the request, and only what you approve is sent back, signed.

Why the verifier learns less than you might expect

Every claim of the WE BUILD PID is selectively disclosable, the parts of the address and the place of birth included. A verifier that only needs a nationality can ask for just that.

Next step

Step 1

Use a compatible EUDI wallet

You need a wallet app to receive and share credentials. Any wallet that speaks OpenID4VCI and OpenID4VP can hold them, but it also has to accept credentials from an issuer it does not know yet, and not every wallet does.

Credenco PID Issuer

Choose your PID

Pick a persona's PID or compose your own, then scan the QR code with your wallet. The data is fictional or yours to choose; nothing you type here is stored.

Compose your own PID

Fill in the mandatory attributes, or switch to a complete PID and add an address, birth names, contact details, numbers and a portrait.

Start composing

Next step

Step 3

Use the credentials for real

A PID on its own proves nothing to anyone. These are the next steps to put it to work in WE BUILD.

The Credenco PID Issuer for WE BUILD

WE BUILD PID issuer

github.com/webuild-consortium/webuild-attestation-rulebooks-catalog/tree/main/rulebooks/rb-pid

The PIDs on this page follow the WE BUILD PID rulebook: vct urn:eudi:pid:1, place of birth and address as structured objects, nationalities as a list and sex as an ISO/IEC 5218 code. Use them to test a WE BUILD wallet or verifier against PIDs whose content you know, or that you made up yourself. The PIDs are issued by a demo issuer; none of them is a real identity document.

What you can do with it

1

Pick a PID or compose your own

Every persona of the other demos is here with the same data, now in the WE BUILD encoding. Or start from scratch: the mandatory attributes are always asked for, the rest only when you choose a complete PID.

2

Scan it into your wallet

Scan the QR code with a wallet that supports OpenID4VCI and SD-JWT VC. The PID arrives with every claim selectively disclosable.

3

Check it against the rulebook

The claim names, the structure and the mandatory attributes follow rulebooks/rb-pid of the WE BUILD attestation rulebooks catalog. A wallet that shows the PID correctly reads the rulebook correctly.

4

Use it with a WE BUILD verifier

Present the PID wherever a verifier asks for urn:eudi:pid:1. Because you chose the content, you know exactly what the verifier should receive.

If something goes wrong

  • "No credentials available" at a verifier usually means it asks for a vct or claim this PID does not carry, for instance birth_date instead of birthdate. The WE BUILD PID uses the rulebook's names only.
  • If issuing stops halfway, pick the PID again rather than reloading the page you already scanned: every attempt gets its own code.