Old school security wisdom assumes a layered approach based on the risks addressed and your "Have What" and your "Know What". As has become clear in previous posts, it is not that easy to achieve 7*24 support.
It stands to reason that you will store information in a database. Therefore, take into account that you secure it in the right way and use it in such a way that it cannot be abused. Do not forget to look and use the tips from Erel:
[B4X] Features that Erel recommends to avoid
[B4X] "Code Smells" - common mistakes and other tips
The best security is security by design. That means giving an authorized person access only to their authorized information. Follow Erel's advices and prevent abuse by using parameterized queries, and implement security updates for the software you use as soon as possible.
Also be aware that third party software use can use software versions that may have security bugs.
I am not a lawyer, but I make the user legally responsible for the security of his account data and used device. Let your app encrypt specific user information with the public RSA key at every login attempt and save the result. With your secret private key you can decrypt which authorized user account was used.
This way you can prove that the information was requested and provided by the account of the authorized user. The combination of user ID and user email together with the login time and the legal responsibility of the user to protect the user account and the used device together to only grant access to his authorized data is I think a good security starting point. Communicate with the user via his email address to establish that you are communicating with the intended user who has the responsibility to protect his email address. Let the user accept the risk that a user can consciously or unconsciously "give away" the software and account information to third parties and thus only have access to the data of the authorized user.