NL Wallet Logo
  • About

Get Started

  • Preparations
  • Create a Verifier
  • Create an Issuer

Architecture

  • Overview in C4
    • System Context (C4)
    • Software System overview
  • Relevant Use Cases
    • Disclosure-based Issuance
    • Disclosure with OpenID4VP
    • Issuance with OpenID4VCI
    • Mobile App Startup
    • Pin Validation
    • Wallet Creation
  • Components Overview

Functional Design

  • Use case overview
  • About the Functional Design
  • Use Cases
    • Use Case 1.1 Introduce the app
    • Use Case 1.2 Open the app
    • Use Case 1.3 App tour
    • Use Case 2.1 Setup a remote PIN and biometric unlock
    • Use Case 2.2 Change biometric unlock
    • Use Case 2.3 Unlock the app
    • Use Case 2.6 Change remote PIN
    • Use Case 3.1 Obtain PID
    • Use Case 4.1 Obtain one or more cards from a (Q)EAA Issuer
    • Use Case 5.1 Share data with a Relying Party
    • Use Case 5.2 Log in to Relying Party application
    • Use Case 6.1 Show complete history
    • Use Case 6.2 Show card history
    • Use Case 6.3 Show history event
    • Use Case 7.1 Show all available cards
    • Use Case 7.2 Show card details
    • Use Case 9.1 Show app menu
    • Use Case 9.2 Get app information
    • Use Case 9.3 Change app language
    • Use Case 9.4 Wipe all app data
    • Use Case 9.6 Get help
    • Use Case 9.7 Log out of the app
    • Use Case 9.9 Scan QR
  • Partial Flows
    • Partial Flow 1.4 Apply update policy
    • Partial Flow 2.4 Confirm a protected action
    • Partial Flow 2.7 Resolve a universal link
    • Partial Flow 2.8 Validate entered PIN
  • Logical Test Cases

Development

  • Generic Issuance
  • OpenAPI Specifications
  • SD-JWT VC Profile
  • Specification References
  • Sphinx Documentation
  • Updating Rust
  • Using Lokalise

Community

  • Onboarding
  • Create a CA

Way of Working

  • Definition of Done
  • Merge Requests
  • Releases Howto

Glossary

  • Glossary

Release Notes

  • v0.3.0
  • v0.4.0 (in development)
NL Wallet
  • Partial Flows
  • Partial Flow 2.7 Resolve a universal link
  • View page source

Partial Flow 2.7 Resolve a universal link

Overview

Aspect

Description

Summary

The system validates universal link and determines next step for the user.

Goal

Resolving a universal link invoked by the user.

Preconditions

None

Postconditions

None

Used by

  • UC1.2 Open the app
  • UC2.3 Unlock the app

Parameters

None

Possible Results

  • No (valid) universal link
In case of a valid UL, the system continues with the corresponding use case

Additional Documentation

None

Possible errors

  • No internet
  • Server unreachable
  • Device incompatible

Logical test cases

  • LTC43 Open app via universal link
  • LTC46 Universal link invoked with external QR scanner
  • LTC54 Wallet not created when universal link is invoked
  • LTC55 Invalid universal link


Flow

#

Description

Next

1

UNIVERSAL LINK

1.1

System determines whether universal link is present

  • Provided by the operating system

1.1a

Case: universal link is present

1.2

1.1b

Case: universal link is not present

Result: No (valid) universal link

1.2

System validates universal link

  • Duration: 0.0 - 0.1 seconds

1.2a

Case: universal link is valid

1.2b

Case: universal link is scanned with external QR scanner (not allowed)

2

1.2c

Case: universal link is invalid

Result: No (valid) universal link

1.3

System resolves universal link

  • Contacts the URL provided in the UL
  • Duration: 0.0 - 0.1 seconds

1.3a

Case: UL resolves to issuance flow

Go to: UC4.1 Obtain cards

1.3b

Case: UL resolves to sharing flow

Go to: UC5.1 Share data

1.3c

Case: UL resolves to login flow

Go to: UC5.2 Log in to Relying Party application

2

WHEN EXTERNAL QR SCANNER WAS USED

2.1

System displays prompt ‘Scan QR code with NL Wallet’

  • Actions: Close, Scan QR code

2.1a

User selects Close

Result: No (valid) universal link

2.1b

User selects Scan QR code

Go to: UC9.9 Scan QR

Previous Next

© Copyright 2025, NL Wallet.

Other Versions v: main
Branches
main