Skip to main content

Digital Identity: A Practical Guide

From broken passwords to self-sovereign wallets — a step-by-step journey through modern digital identity.


What this is

This is a living book. It started as a behind-the-scenes account of building a working demo of EU-standard digital identity — and grew into something more: a complete guide to the ideas, standards, and code that power the next generation of digital identity.

It is written for two audiences at once:

  • Business readers who want to understand why digital identity matters, what the EU's eIDAS 2.0 regulation means in practice, and why the old approaches fell short.
  • Developers who want to build real systems using the standards the EU has mandated: OID4VCI, OID4VP, SD-JWT, and did:web.

Each chapter is written so that a business reader can follow the narrative, and a developer can follow the technical detail. You do not need to read every section — but if you read from the beginning, each chapter builds on the last.


The journey

We start with a simple question: why is proving your identity online still so hard? We follow that question through the philosophy of self-sovereign identity, into the EU regulation that is reshaping the landscape, and eventually into a working three-stage demo — a digital passport, a visa, and a boarding pass — all exchanged between a mobile wallet and a backend using open standards over plain HTTPS.

By the end, you will understand not just what these standards say, but why they were designed the way they were, and how to build with them yourself.


How to read this

The book is organised into five parts:

PartWhat it coversFor whom
Part 1 — FoundationsThe identity problem, SSI philosophy, why standards matterEveryone
Part 2 — The StackeIDAS 2.0, what came before, what replaced itBusiness + Dev
Part 3 — Building Blocksdid:web, SD-JWT, OID4VCI, OID4VP explainedDevelopers
Part 4 — A Real SystemCredGuard: 3-stage passport → visa → boarding pass demoEveryone
Part 5 — Going DeeperImplementing the pieces yourselfDevelopers

Start at Part 1 if you are new to the space. Jump to Part 3 if you already know the concepts and want the technical detail. Jump to Part 4 if you want to see everything in action first.


A note on the code

Code examples throughout this book are written as pseudocode — language-agnostic, readable by any developer regardless of their preferred language.


Publishing with Docusaurus

This repository now includes a Docusaurus site setup for publishing the book as a documentation website.

  • Install dependencies with npm install
  • Start a local docs site with npm run start
  • Build the static site with npm run build

The original Markdown in the root and part-* folders remains the source of truth. A sync step generates the Docusaurus docs/ tree automatically before local start and production build, so you do not need to edit docs/ directly.

If GitHub Pages is enabled for this repository using the GitHub Actions source, the workflow in .github/workflows/deploy.yml will publish the site on pushes to main.


Contributing and feedback

This is a living document. New chapters are added as the underlying system evolves. If you spot an error, have a question, or want to suggest a chapter — open an issue on the [GitHub repository]


Let's start at the beginning.

→ Chapter 1: The Identity Problem