(ios) Custom PIN as an option for “app access” #560
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We've had many requests for a "custom PIN" option. That is, the ability to set a PIN/passcode that's specific to Phoenix, and possibly different than the system PIN/passcode.
This PR allows us to explore how that feature would operate in practice.
On the surface it's quite simple:
A new PIN option is added to the "app access" section. The user can choose any of the following options:
The custom PIN length is 6 digits. (This matches the iOS default PIN length.)
And the PIN will be presented to the user from within the Lock screen:
The usual suspects are there:
However, there are some iOS specific "things to consider":
The "system PIN fallback" was added in PR #478. Recall that when we prompt for "system authentication" we basically only have 3 options on iOS:
In other words, prompting for the system PIN is not an option. It's only available as a fallback option (after biometrics fails).
So the "system PIN fallback" option was primarily motivated by user expectations. But was also partly motivated by user reports of broken Face ID (due to broken hardware). It was thought that, if Face ID breaks, then users would still be able to access Phoenix via the system PIN. However, recent reports have cast doubt on that assumption.
In other words, in certain situations when Face ID breaks, the system automatically disables it on a system level. Making it no longer accessible from within apps. Meaning even with the "system PIN fallback" users would be locked out of Phoenix. To re-access their wallet, they would need to reinstall & restore their wallet. The custom PIN option does present an alternative here.