Skip to main content

16 posts tagged with "yivi"

yivi

View All Tags

First look at the Architecture Reference Framework 1.5

· 11 min read
Dibran Mulder
CTO @ Caesar Groep

Introduction

On the 4th of February 2025, version 1.5 of the Architecture Reference Framework (ARF), a crucial document guiding the development and implementation of the European Digital Identity Framework, was released. Given its significance, we conducted an initial review to assess the impact of the changes, particularly in relation to Yivi’s implementation and alignment with the evolving EUDI Wallet ecosystem.

The changes from ARF 1.4 to ARF 1.5 are substantial, introducing new concepts and refining existing ones. Additionally, the list of topics planned for the next version is extensive, covering various key aspects of interoperability, privacy, and security. Looking further ahead, ARF 2.0 is expected to introduce major architectural shifts, likely setting the stage for more definitive long-term structures within the ecosystem.

At Yivi, we are closely following the developments of the ARF and the broader EUDI Wallet ecosystem, ensuring that our roadmap remains aligned with emerging standards and regulatory requirements.

Exploring Authentication Options with Yivi

· 7 min read
Dibran Mulder
CTO @ Caesar Groep
Wouter Ensink
Developer @ Caesar Groep

Authentication and identification are critical components of digital services. This can be done with Yivi, our privacy-friendly ID-Wallet. It provides multiple options for verifying user identities. However, a significant challenge in implementing Yivi is the identifier used for authentication. Government and healthcare organizations can use the BSN (Burger Service Nummer), but private entities must explore alternative options. Below, we discuss potential authentication methods using Yivi, their advantages, and their limitations.

Authentication and Activation Using BRP Data

For registration purposes organizations often need a set of data to match the user to their own administration, this is often done by matching on data from the Dutch Personal Records Database (BRP). The data in the BRP is of such quality that it can be trusted to be correct. The challenge often is that the data of the user in the administration of verifing organization is not of the same quality. Resulting in the proces that when a user discloses its BRP information to an organization it sometimes results in a dropout. These dropsouts are a problem, because it blocks the user from identifying and thereby registering or authenticating itself. To circumvent this problem organizations often choose to either: request more data from the user, for instance an contractnumber or change the data in their adminstration to match the data from the BRP so that in a next match the user is matched correctly.

Governmental and/or Health care organizations can simply use the identifying BSN from the BRP to match a user to their administration. We often see that only the BSN is requested from the user and that the BSN is then used to call the BRP for name and address details. We are not a fan of that approach, because we think that the amount of backchannel communication about users should be reduced and that the user should be in control of what personal data is being shared with which organizaiton.

Pros

  • In most cases, unique identification is achievable.
  • High quality data for registration purposes.
  • No unique identifier available for non governmental/health care organizations.
  • BRP data can be used to increase data quality in the administration of organizations.

Cons

  • Dropouts require additional data or manual processes which may negatively influence the user experience.
  • No unique identifier is available for private sector.
  • Name and/or address scans can have negative effects on performance.

Attribute Index of Municipality

Below is the attribute index of the BRP disclosed by the municipality.

Adding email address or phone number

In addition to BRP data organizations may want to request users to disclose their email address and/or phonenumber. It's a common practice for authentication purposes to have the email address as a unique identifier of the user. The same goes for phone number, while it has to be said that phone numbers are more often transfered to other users, especially in a business setting. In that sense an email address is more stable. In the context of registration and authentication Yivi supports the combination of multiple data sources being disclosed, this can be done with the so called condiscon feature. Verifing organizations can make a composition of attributes that they request the user to disclose. In the context of registration/identification organizations may want to compose the following session request:

{
"@context": "https://irma.app/ld/request/disclosure/v2",
"disclose": [
[
[ "pbdf.pbdf.email" ],
[ "pbdf.pbdf.mobilenumber" ]
],
[
"pbdf.gemeente.personalData.firstnames",
"pbdf.gemeente.personalData.familyname",
"pbdf.gemeente.personalData.fullname",
"pbdf.gemeente.personalData.surname",
"pbdf.gemeente.address.street",
"pbdf.gemeente.address.houseNumber",
"pbdf.gemeente.address.zipcode",
"pbdf.gemeente.address.city"
]
]
}

In this example we request users to disclose either their email address or phone number and their name and address details, which are often required in a registration process. Once the identifying data has been added to the administration of the verifying organization a subsequent authentication request might look like this:

{
"@context": "https://irma.app/ld/request/disclosure/v2",
"disclose": [
[
[ "pbdf.pbdf.email" ],
[ "pbdf.pbdf.mobilenumber" ]
]
]
}

There is no need to request the user's personal data for authentication purposes once the organization has stored the identifier which can be the phone number or the email address.

Pros

  • Having a separate registration and subsequent authentication flow is a well known practise in the field. It's a familiar user experience.
  • Working with identifiers reduces the amount of potential login failures to nearly zero, causing practically no dropouts.

Cons

  • Disclosing data from multiple sources may result in a more complex user experience when the user does not have the data already issued at their Yivi app.

Issuing a unique identifier to the Wallet

Organizations can enhance user authentication by issuing a unique identifier, such as a membership card, directly to users’ Yivi wallets. This approach allows users to authenticate seamlessly without repeatedly disclosing sensitive personal data. The unique identifier can be tied to an internal identifier known only to the organization, ensuring a smooth authentication experience while maintaining user privacy.

This process can be facilitated using chained Yivi sessions. Users first disclose the necessary information for registration. If any mismatches arise that prevent automatic registration, additional identifying information, such as a contract number, can be requested to complete the registration. Once a user is successfully registered, the organization can issue a Yivi credential containing the unique identifier, which can be used for subsequent authentications.

A notable example of this implementation is PubHubs, where users are issued a club membership credential that allows seamless authentication for entry and participation.

Disclosure of informationIssuance of registration

Pros

  • Provides a privacy-preserving authentication method without requiring repeated data disclosures.
  • Reduces user friction in subsequent login attempts.
  • Can be tied to existing internal identifiers within the organization.
  • Enables a high level of security with minimal backchannel verification.

Cons

  • Chained Yivi sessions are not yet widely supported by many identity brokers such as Signicat and Ver.iD.
  • Having organization specific credentials in a Wallet and using them on a subsequent authentication is not a well-known user experience yet.

Authentication Using the Yivi Wallet Instance Identifier

Every Yivi wallet instance is associated with a unique app-ID, which is issued by the Yivi keyshare server. This identifier provides an alternative authentication mechanism that does not rely on personal attributes.

Organizations can use the app-ID as a pseudonymous identifier to authenticate users across sessions. This method provides a straightforward way to recognize returning users without requesting sensitive personal data. However, the app-ID has limitations that make it less suitable for long-term authentication.

Disclosure of App-ID information

Pros

  • Functions as a pseudonymized identifier for users, maintaining privacy.
  • Enables quick and easy authentication without requiring additional attributes to be issued.

Cons

  • The app-ID is not unique across different devices or installations. For example, an iOS and an Android installation of the same user will generate distinct appid values.

Final Thoughts

Each authentication method using Yivi presents unique strengths and challenges. The choice depends on factors such as regulatory compliance, infrastructure readiness, and user experience. Organizations must carefully assess their needs and available resources before implementing an authentication solution with Yivi.

January update - Migration announcement

· 6 min read
Dibran Mulder
CTO @ Caesar Groep

In our effort to invest in the long-term sustainability of Yivi, we are migrating all Yivi components, including core components, away from SIDN to our reliable hosting environment. Along the way, we are addressing technical debt and implementing improvements where possible.

Additionally, we are collaborating with the Privacy By Design Foundation to migrate critical components, essential to the Yivi ecosystem, away from their servers to our hosting environment. Caesar Groep is taking charge to ensure the foundation no longer runs critical components essential to the Yivi ecosystem.

This blog post outlines the migration's impact. If you are affected in any way or have questions, feel free to contact us.

December update

· 7 min read
Wouter Ensink
Developer @ Caesar Groep
Sara Vahdati Pour
Developer @ Caesar Groep
Dibran Mulder
CTO @ Caesar Groep

Hey everyone!

As we approach the end of 2024, our team is working hard to deliver as much progress on the project as possible. In keeping with our commitment to the community, we’re excited to share some of the improvements we’ve been working on. A lot of work has been put into getting a production grade hosting environment, but next to that we also delivered on some other areas.

November update

· 4 min read
Dibran Mulder
CTO @ Caesar Groep

He all, I thought it would be nice to update you on our progress. Our dedicated team started the development and operations of Yivi effectively on the 1st of November. The existing code base (70+ repositories) is quite large, and the learning curve is rather steep, however I think we are making great progress. We touched a lot of components already and we are learning as we go.

As told during the Yivi meetup we have a roadmap ahead of us containing 3 epics, namely: Cloud Migration, Development and eIDAS2.0. I will update our progress on each of them.

Caesar Groep to continue development of Yivi - Our roadmap

· 5 min read
Dibran Mulder
CTO @ Caesar Groep

We are excited to announce that Caesar Groep will be continuing the development of Yivi. Yivi is the most privacy friendly ID-Wallet that empowers users with privacy-first, secure, and user-friendly solutions. Our mission is to build upon the excellent foundation already laid and innovate further to ensure Yivi remains at the forefront of digital identity technology.