AltID

AltID is a Danish national wallet implementation - https://digst.dk/it-loesninger/altid/. It is currently not a fully verified EU Digital Identity Wallet, however the interface and design remains similar to an EU Digital Identity Wallet. The goal is also for AltID to eventually become a EU Digital Identity Wallet.

AltID is however a verified age verification service as can be seen by the official EU Age Verification trust list.

We distinguish between two primary flows: Age Verification and Person Identification Data (PID). The reason for this distinction is that the Age Verification flow does not require a Relying Party Registration. This makes it easy to use and very accessible.

Age Verification

This flow supports any Proof of Age Attestation Services on the official EU Age Verification trust list and is not just limited to AltID.

The age verification flow is a data minimal flow where the user is simply asked whether they are above a certain age. This simple flow is easy to set up and requires minimal configuration. To get started you need to enable the EU wallet in the broker administration site. Once enabled, you select the service provider you wish to use for your service and then configure the EU Digital Identity Wallet identity provider. Ensure it is enabled and select unsigned as the type for the service provider IdP configuration. Any client under this service provider now supports the flow.

To request age verification, include one or more age_over:{age} values in the scope parameter.

For example:

scope=openid age_over:18 age_over:21 age_over:67

If the wallet can satisfy the request, it will return a corresponding claim for each requested scope:

{
  "age_over_18": true,
  "age_over_21": true,
  "age_over_67": false
}

AltID returns false if the user is below the requested age. Some providers may not give this information

Supported Age Verification scope values

| Scope | Claim | Description | |—————-|——————|————-| | age_over:{age} | age_over_{age} | Requests verification that the holder is over the specified age. Multiple age_over:{age} scopes may be included in a single request. A corresponding claim is returned for each requested scope that is successfully verified. |

Different identity providers may support different age thresholds. Requests for unsupported ages may be ignored and not returned.

AltID supported ages

AltID currently supports the following age thresholds:

Provider Supported age_over scopes
AltID 13, 15, 16, 18, 21, 23, 25, 27, 67

For more information on the Age Verification flow and other supported identity providers see Age Verification.

Person Identification Data (PID)

Requesting person identification data (PID) requires more configuration. This requires a Relying Party certificate and verifier info from a Relying Party Registry. For AltID this certificate should be a system certificate issued from MitID erhverv and added to AltIDs Relying Party Registry. Details of how this can be done can be found at AltID modtagerregister. Once added to the AltID Relying Party Registry it must be added to the broker administration site along the verifier info provided by the AltID Relying Party Registry.

In the broker administration site this requires configuring the certificate as well as the verifier info. This is done by selecting the EU Digital Identity Wallet configuration on the specific service provider. Selecting the type to be Relying Party Registration and then uploading the certificate and verifier info.

The verifier name provided is what will be visible to the user when they are asked to provide their Person Identification Data (PID). The name must be present in the JWT for it to be valid.

AltID Supported PID scopes

Each requested scope returns a claim with the same name in the credential.

Scope / Claim Description
full_name Full name of the user.
family_name Last name(s) of the user.
given_name First and middle name(s) of the user.
birth_date The user’s date of birth.
birth_place The area where the user’s birth was registered, such as a parish, hospital, or other location.
nationality One or more Alpha-2 country codes representing the user’s nationalities. DK is listed first if present.
resident_address The user’s full residential address.
personal_administrative_number The user’s CPR number.

Metadata scopes

| Scope / Claim | Description | |—————|————-| | expiry_date | Expiry date of the source document or data the credential is based on (not the credential itself). | | issuing_authority | The authority that issued the PID attestation. For AltID this is always Digitaliseringsstyrelsen. | | issuing_country | Country of the issuing authority. For AltID this is always DK. |

Age Verification scopes

Age verification scopes are also supported in this flow, see Supported Age Verification scope values


This site uses Just the Docs, a documentation theme for Jekyll.