diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/Tooltip.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/Tooltip.kt
index 3a1729d60a6663de6006820b25bbb837d567098b..932b7aef8a3ef5025a068d8525b1ee8231697087 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/Tooltip.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/Tooltip.kt
@@ -55,6 +55,6 @@ fun Tooltip(
     },
     delayMillis = delayMillis,
     tooltipPlacement = tooltipPlacement,
-    modifier = modifier,
+    modifier = modifier, // todo: use tooltip text for semantic description
     content = content,
 )
diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/TrustIndicator.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/TrustIndicator.kt
index 3cecbd9dfc03f83ef15ce971df3bbc360bd45a4f..608d7a0e85ea2c35605bd008d680a18288baf438 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/TrustIndicator.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/ui/TrustIndicator.kt
@@ -18,6 +18,7 @@
 
 package org.briarproject.briar.desktop.ui
 
+import androidx.compose.foundation.ExperimentalFoundationApi
 import androidx.compose.foundation.layout.size
 import androidx.compose.material.Icon
 import androidx.compose.material.MaterialTheme
@@ -38,8 +39,17 @@ import org.briarproject.briar.desktop.theme.Orange500
 import org.briarproject.briar.desktop.theme.Red500
 import org.briarproject.briar.desktop.utils.InternationalizationUtils.i18n
 
+@OptIn(ExperimentalFoundationApi::class)
 @Composable
-fun TrustIndicator(status: AuthorInfo.Status) {
+fun TrustIndicator(status: AuthorInfo.Status) = Tooltip(
+    text = when (status) {
+        AuthorInfo.Status.NONE -> error("Unexpected status: $status")
+        AuthorInfo.Status.UNKNOWN -> i18n("peer.trust.stranger")
+        AuthorInfo.Status.UNVERIFIED -> i18n("peer.trust.unverified")
+        AuthorInfo.Status.VERIFIED -> i18n("peer.trust.verified")
+        AuthorInfo.Status.OURSELVES -> i18n("peer.trust.ourselves")
+    }
+) {
     if (status == AuthorInfo.Status.OURSELVES) {
         Icon(
             imageVector = Icons.Filled.Person,
@@ -50,7 +60,7 @@ fun TrustIndicator(status: AuthorInfo.Status) {
     } else {
         val gray = MaterialTheme.colors.onSurface
         val (first, second, third) = when (status) {
-            AuthorInfo.Status.NONE -> return
+            AuthorInfo.Status.NONE -> error("Unexpected status: $status")
             AuthorInfo.Status.UNKNOWN -> Triple(Red500, gray, gray)
             AuthorInfo.Status.UNVERIFIED -> Triple(Orange500, Orange500, gray)
             AuthorInfo.Status.VERIFIED -> Triple(Lime500, Lime500, Lime500)
diff --git a/briar-desktop/src/main/resources/strings/BriarDesktop.properties b/briar-desktop/src/main/resources/strings/BriarDesktop.properties
index bf6b68a8463f7bc2763d24db6ce00a503f0eb07b..c0888d808d1bcd84c3076001179cac8689746241 100644
--- a/briar-desktop/src/main/resources/strings/BriarDesktop.properties
+++ b/briar-desktop/src/main/resources/strings/BriarDesktop.properties
@@ -202,6 +202,12 @@ blog.invitation.response.declined.auto=The blog invitation from {0} was automati
 blog.invitation.response.accepted.received={0} accepted the blog invitation.
 blog.invitation.response.declined.received={0} declined the blog invitation.
 
+# Peer trust level
+peer.trust.unverified=Unverified contact
+peer.trust.verified=Verified contact
+peer.trust.ourselves=Me
+peer.trust.stranger=Stranger
+
 
 # Main
 main.title=Briar Desktop