DuressUltimate — an emergency app that wipes phone data when you enter and submit any code with your configured length for reset instead of a password on the lock screen (for example: in cases when you unlock the phone against your will)
But DuressUltimate differs from regular Duress, which does the same thing, in that it has protection against failures. Instead of a direct reset, it sets the limit for password entry attempts to the minimum value in advance. Whereas regular Duress may simply not work if Accessibility service stops in case of a system failure, DuressUltimate will work because it set the minimum limit in advance and any incorrect password longer than 4 characters will become a reset code.
So how does it work in normal mode? To prevent the user from accidentally wiping data, when entering a length that differs from the reset length, it temporarily gives an additional safe attempt (that is, 2 attempts added to the current ones, meaning 1 right to mistake), but only up to 5 attempts or less — the user can configure the upper limit from 1 to 5. This attempt is immediately reset upon window change and other events, so that by default protection remains active as long as possible.
DuressUltimate does not catch a specific code, but catches only the length, but this is even better. Unlike regular Duress, the reset length can be not only greater but also smaller than the main password length, since the reset occurs only when sending any code of the specified length, not during input. Reset by length gives the big space for possibilities in this case. Also, for reset by length, symbol display is not required, which is good for security.
Source code (GitHub):
I’m currently trying to publish this app. F-droid/Data Merge request number on GitLab: 44438
If or when it is published, it will be on F-droid at this link: