gitwtfhub

wtf is did-usecase-visitor?

kkdai/did-usecase-visitor — explained in plain English

Analysis updated 2026-05-18

20JavaScriptAudience · developerComplexity · 3/5Setup · moderate

TL;DR

A demo app for Taiwan's digital wallet system showing how employees can badge into a building and endorse temporary visitor passes using verified digital ID cards.

Mindmap

mindmap
  root((did-usecase-visitor))
    What it does
      Employee access
      Visitor passes
      Digital wallet demo
    Tech stack
      JavaScript
      Express
      Node.js
    Use cases
      Building access
      Event registration
      Visitor endorsement
    Audience
      Developers
      DID integrators

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Let employees badge into a building or event using their digital employee ID card instead of a physical badge.

REASON 2

Have an employee endorse a visitor so the visitor receives a temporary digital pass with an expiry time.

REASON 3

Prototype an issuer and verifier working together inside a real digital wallet ecosystem.

What's in the stack?

JavaScriptExpressNode.js

How it stacks up

kkdai/did-usecase-visitoraaronz345/athena-personal-academic-pagealana72212/akamai-vm
Stars202020
LanguageJavaScriptJavaScriptJavaScript
Setup difficultymoderatemoderatehard
Complexity3/52/55/5
Audiencedeveloperresearcherresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 1h+

Requires sandbox issuer and verifier access tokens from Taiwan's digital wallet platform before it will run.

Wtf does this do

This repository is a demonstration project built for Taiwan's official digital wallet system, known as MODA wallet.gov.tw. It shows how a company could use digital identity cards for two everyday tasks at once: letting employees badge into a building or sign up for an event, and letting an employee vouch for a visitor so that visitor receives their own temporary digital pass. The project extends an earlier example called did-usecase-HR and adds a second role on top of it. The system plays two parts in the digital identity chain. It acts as a verifier, checking that someone holds a valid employee card before granting access, and it acts as an issuer, creating new digital passes for visitors once that check succeeds. In the employee flow, a staff member shows their digital employee card through the wallet app, the app confirms the card is valid, and access is granted or registration completes. In the visitor flow, a current employee endorses a guest by presenting their own card, and once that endorsement is verified, a time-limited visitor pass is issued straight to the guest's digital wallet. A notable design choice is selective disclosure. The employee card only reveals whether the holder is a valid employee. Personal details like name, birth date, or family information stay private inside the wallet and are never exposed during the check. Technically, the project is an Express application written in JavaScript, split into a static frontend and a JSON API, with a helper module handling calls to the wallet sandbox. State is kept in memory rather than written to disk, which the README notes makes it friendlier to run on Google Cloud Run. The project supports two ways of issuing visitor passes depending on whether a dedicated visitor card template has been configured, falling back to the employee template's fields if not. To run it locally, the setup is a standard npm install followed by npm start. Deploying to Cloud Run requires setting several environment variables, including access tokens for the issuer and verifier sandboxes and the card template identifiers used for employees and visitors.

Yoink these prompts

Prompt 1
Walk me through how the verifier and issuer roles work together in this did-usecase-visitor project.
Prompt 2
Explain how selective disclosure lets an employee card prove valid employment without revealing personal details.
Prompt 3
What environment variables do I need to set to deploy this to Cloud Run?
Prompt 4
How does this project decide whether to issue a visitor pass using the employee template or a dedicated visitor template?

Frequently asked questions

wtf is did-usecase-visitor?

A demo app for Taiwan's digital wallet system showing how employees can badge into a building and endorse temporary visitor passes using verified digital ID cards.

What language is did-usecase-visitor written in?

Mainly JavaScript. The stack also includes JavaScript, Express, Node.js.

How hard is did-usecase-visitor to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is did-usecase-visitor for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.