Add an option to mark any of your contact as untrusted
Feature Issue
User Story
As a user, I want to be able to Mark a contact as untrusted so that so that the next time I enter the chat with this user, I see a note about it that I should be cautious.
Description
How it is done on the Desktop app:
Mark as untrusted option
Untrusted sign
Remove untrusted mark
Acceptance Criteria
- The new option
Mark as untrustedshould appear before the optionBlock user, as shown in the screenshot and in Figma - There's a thin line dividing destructive actions, this should be implemented (see in Figma).
- The new
Mark as untrustedoption should appear in context menus of any contact, group member, etc. All places whereBlock userappears. - After pressing on
Mark as untrusted, the bottom sheet in Figma should be displayed. See also screenshot - Similarly to the desktop client, the option
Remove untrusted markshould appear when any contact is currently marked as untrusted. The same icon with an exclamation mark should be used.
I'm a fan of this type of feature @mariia-skrypnyk. Every time I need to verify identities in the mobile app I miss this feature, or the reverse even more: allowing a user to mark a contact as trusted. Personally, I prefer this method (an allowlist) because, ideally, I want all my Status contacts to have a green checkmark, indicating that I have verified their identity at least once. The alternative (a blocklist), where some users are marked as untrusted, would likely result in having contacts I haven't verified, making me more susceptible to impersonation attempts.
Both the allowlist and blocklist features are valid and would be useful in their own right.
FYI @mariia-skrypnyk I updated this issue's description with the acceptance criteria and links to relevant Figma nodes so that the issue is ready for development.
I'm working on this.
Update
I've completed the basic implementation and am now preparing to integrate it across all relevant areas where this option is needed. Before proceeding, I wanted to confirm a few things and get your feedback. I've attached a screen recording demonstrating the flow starting from the Chat Home Screen.
https://github.com/user-attachments/assets/80125518-9e1d-4657-baec-3c56ae32c0a4
-
I'm currently following the desktop app flow, which includes showing success toasts. But on mobile, similar actions like "Block" don't show a toast. Should I keep the toast here for consistency with desktop, or remove it to match the mobile pattern?
If there's a user flow for this feature in Figma, that would be really helpful. -
I've only added the English (
en) version of the localization keys for now. I'm unsure how to correctly add keys for other languages. Is there a documentation link or guide I can follow for this? -
In this PR, I updated the "Remove from contacts" option to appear in red since it's a destructive action. Please let me know if you'd prefer I revert this change.
Happy to make any changes based on your feedback!
cc: @ilmotta, @mariia-skrypnyk
edit: In the video the divider above the destructive action is missing, I have added that.
Hey @ajayesivan !
Sorry for a such a delay in my answers! 🙏
- I personally like having a toast here — it gives immediate feedback that the action was successful. I’d support adding a toast when blocking a user on mobile as well, to make the experience more consistent and clear.
- Unfortunately, I’m not familiar with this topic either — I haven’t worked with localization beyond adding English keys. Sorry I can’t be more helpful here!
- I actually like that it’s red — makes sense for a destructive action.
cc @ilmotta
@ajayesivan @mariia-skrypnyk on the points you asked Ajay in https://github.com/status-im/status-mobile/issues/21393#issuecomment-2844417869
- As long as the toast is presented only after a guaranteed successful return from the status-go endpoint I think it's good to show it.
- Localization will be a strong point this year. For now, please add only the English keys.
- I also like that it's marked as a destructive action in red.
@mariia-skrypnyk @ilmotta Thank you for the response!
I've completed the implementation and updated the PR, and moved it to Ready for Review.
The Figma design includes an "Remove identity verification" option in the Mark as Untrusted confirmation drawer. However, I haven't implemented this part yet as I'm not sure how it's supposed to be handled.
From what I can tell, it seems like this functionality isn't implemented yet - could you please confirm? If it is implemented somewhere, I’d appreciate some guidance on how to integrate it here.
Thanks!
I've completed the implementation and updated the https://github.com/status-im/status-mobile/pull/22562, and moved it to Ready for Review.
Thank you. We will review the PR. FYI: no reviewers were set in that PR.
From what I can tell, it seems like this functionality isn't implemented yet - could you please confirm? If it is implemented somewhere, I’d appreciate some guidance on how to integrate it here.
The identity verification features have been descoped long ago and can be ignored from Figma. @xAlisher Figma can be updated when possible to reflect this.
@ilmotta I can’t add reviewers. Should I request a review from the CCs who have worked on this code via a comment?
@ilmotta I can’t add reviewers. Should I request a review from the CCs who have worked on this code via a comment?
I actually don't know of a way to manage this permission in GitHub. A comment based on recent changes to the files you touched is a good idea @ajayesivan. I can also add the Mobile Core GH team as reviewer, and in fact I'm going to do this now.
Thank you! I’ll tag the relevant contributors next time.