The contactView has three security states:
- insecure (Postcard)
- secure but unverified (gray letter envelope)
- secure and verified (green letter envelope)
The contactView can either show information about a contact or the user of the app. The view of the user of the app shows a qr code that can be used by other users of the app to verify the public key of the user.
Each contact may have multiple trays, depending on the number of keys associated to it.
The contactViewController also offers to view the system native contact view or to add a new contact to the system address book if no associated contact was found.
At the top of the contactView is a little header explaining the state of the contact and showing the associated icon and color. Below it there is an action offered to help the user to move to a higher security state.
Summary of offered actions on different states:
insecure | secure & unverified | secure & verified | |
---|---|---|---|
user of app | switch to secure tray | — | QR Code + key migration options |
contact without pub key | invite to use app | — | — |
contact with pub key | verify pub key | — | — |
contact that sent a secure mail before | switch to secure tray | verify pub key |
|