alpha-wallet-android icon indicating copy to clipboard operation
alpha-wallet-android copied to clipboard

Add option to Settings enable app protection via default biometrics/swipe/passcode/PIN + a app-managed 6 digit PIN

Open hboon opened this issue 2 years ago • 6 comments

When user taps to enable in Settings:

if enabled
    //let user enter a 6 digit PIN mananged by the app
    //enter again to confirm
end

Upon app launch/resume:

if enabled
    if biometrics/swipe/passcode/PIN enabled in OS
        //Gate with biometrics/swipe/passcode/PIN
    else
        //Gate with app-managed 6-digit PIN
    end
else
    //Show app as usual
end

This is how it looks like on iOS:

Settings Set Confirm Upon launch/resume
Screenshot 2023-04-03 at 10 02 40 AM Screenshot 2023-04-03 at 10 02 44 AM Screenshot 2023-04-03 at 10 02 49 AM Screenshot 2023-04-03 at 10 03 25 AM

Looks like this if entry fails:

First few times After exceeding the number of attempts
Screenshot 2023-04-03 at 10 10 04 AM Screenshot 2023-04-03 at 10 10 56 AM

(screenshot should say "passcode" instead of "password")

hboon avatar Apr 03 '23 02:04 hboon

@hboon this is to launch the app, right?

JamesSmartCell avatar Apr 03 '23 02:04 JamesSmartCell

I propose that each unlock is valid for a specific length of time even after closing or swiping away - this is so if you're using WalletConnect or periodically using the wallet we don't want to keep having to unlock the app. Maybe half an hour?

Also this should be disabled for debug builds (with a flag for testing).

JamesSmartCell avatar Apr 03 '23 02:04 JamesSmartCell

@hboon this is to launch the app, right?

Yes, also for "resume" if the app is running in the background

hboon avatar Apr 03 '23 02:04 hboon

I propose that each unlock is valid for a specific length of time even after closing or swiping away - this is so if you're using WalletConnect or periodically using the wallet we don't want to keep having to unlock the app. Maybe half an hour?

Not sure if it defeats the purpose though. I guess users who want to enable this really don't like others to look at what they have in their wallets even if they can see the photos or make a phone call. Up to you as long as we don't spend too much time on it.

hboon avatar Apr 03 '23 02:04 hboon

Also this should be disabled for debug builds (with a flag for testing).

My 2 cents: don't bother. Just don't enable it in Settings during development?

hboon avatar Apr 03 '23 02:04 hboon

Also this should be disabled for debug builds (with a flag for testing).

My 2 cents: don't bother. Just don't enable it in Settings during development?

If it's optional then that's fine, if I can toggle it then right, no need.

JamesSmartCell avatar Apr 06 '23 00:04 JamesSmartCell