# Use Case 2.1 Setup a remote PIN and biometric unlock ## Overview | Aspect | Description | | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Summary** | The user chooses and confirms a secure 6-digit remote Personal Identification Number (PIN) for the app, and enables biometric unlock if supported and desired. | | **Goal** | Securing the App with PIN and optionally biometrics. | | **Preconditions** | *None* | | **Postconditions** | | | **Triggered by** | | | **Additional Documentation** | | | **Possible errors** | | | **Logical Test Cases** | | --- ## Flow | # | Description | Next | | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | | **1** | **PRIMARY SCENARIO** | | | **1.1** | **System displays screen 'Choose PIN'** | | | 1.1a | User enters PIN | 1.2 | | 1.1b | User selects Back | Back | | 1.1c | User selects Info | Go to: [UC9.2 Get app information](UC9.2_GetAppInformation.md) | | **1.2** | **System validates entered PIN satisfies PIN policy** | | | 1.2a | Case: PIN matches PIN policy | 1.3 | | 1.2b | Case: PIN does not match PIN policy | 2 | | **1.3** | **System displays screen 'Repeat PIN'** | | | 1.3a | User enters PIN | 1.4 | | 1.3b | User selects Back | Back | | 1.3c | User selects Info | Go to: [UC9.2 Get app information](UC9.2_GetAppInformation.md) | | **1.4** | **System validates PINs match, displays loading message** | | | 1.4a | Case: PINs match | 1.5 | | 1.4b | Case: PINs do not match (first time) | 3 | | 1.4c | Case: PINs do not match (second time) | 4 | | **1.5** | **System executes account setup, displays loading message** | | | 1.5a | Case: Account setup succeeds | 1.6 | | 1.5b | Error: Device insecure | Error flow: Device insecure | | 1.5c | Error: No internet | Error flow: No internet | | 1.5d | Error: Server unreachable | Error flow: Server unreachable | | **1.6** | **System determines whether device supports biometrics** | | | 1.6a | Case: Device supports biometrics | 1.7 | | 1.6b | Case: Device does not support biometrics | 1.9 | | **1.7** | **System displays screen 'Configure Biometrics'** | | | 1.7a | User selects Enable | 1.9 | | 1.7b | User selects Skip | 1.9 | | 1.7c | User selects Info | Go to: [UC9.2 Get app information](UC9.2_GetAppInformation.md) | | **1.8** | **Operating system prompts user for biometric authentication** | | | 1.8a | User confirms with biometric authentication | 1.9 | | 1.8b | User rejects biometric authentication | 1.7 | | **1.9** | **System displays screen 'Confirm PIN/biometric setup'** | | | 1.9a | User selects Next | Go to: [UC3.1 Obtain PID](UC3.1_ObtainPidFromProvider.md) | | **2** | **WHEN PIN DOES NOT SATISFY POLICY (TOO SIMPLE)** | | | **2.1** | **System displays prompt 'PIN too simple'** | | | 2.1a | User selects OK | 1.3 | | **3** | **WHEN PINs ARE NOT EQUAL (FIRST TIME)** | | | **3.1** | **System displays prompt 'PIN is different, retry'** | | | 3.1a | User selects Try again | 1.3 | | **4** | **WHEN PINs ARE NOT EQUAL (SECOND TIME)** | | | **4.1** | **System displays prompt 'PIN is different, start over'** | | | 4.1a | User selects Start over | 1.1 |