diff --git a/Docs/XXMessengerClient.md b/Docs/XXMessengerClient.md
index 971aefd97c91f7b210ea1bdeb456a257cb89ae71..efbb9de768ea89616473b3df51837785ee880dd4 100644
--- a/Docs/XXMessengerClient.md
+++ b/Docs/XXMessengerClient.md
@@ -148,7 +148,11 @@ let result = try messenger.restoreBackup(
   backupPassphrase: "backup-passphrase"
 )
 
-// handle restoration result
+// handle restoration result:
+let restoredUsername = result.restoredParams.username
+let facts = try messenger.ud.tryGet().getFacts()
+let restoredEmail = facts.get(.email)?.value
+let restoredPhone = facts.get(.phone)?.value
 ```
 
 If no error was thrown during restoration, the `Messenger` is already loaded, started, connected, and logged in.
\ No newline at end of file
diff --git a/Examples/xx-messenger/Sources/RestoreFeature/RestoreFeature.swift b/Examples/xx-messenger/Sources/RestoreFeature/RestoreFeature.swift
index d1872840470448de3dccfb2e9af2b2f4ad135324..66d7df2f0cb2ffc960270caad1aecf6c2da1100a 100644
--- a/Examples/xx-messenger/Sources/RestoreFeature/RestoreFeature.swift
+++ b/Examples/xx-messenger/Sources/RestoreFeature/RestoreFeature.swift
@@ -132,11 +132,12 @@ public let restoreReducer = Reducer<RestoreState, RestoreAction, RestoreEnvironm
           backupData: backupData,
           backupPassphrase: backupPassphrase
         )
+        let facts = try env.messenger.ud.tryGet().getFacts()
         try env.db().saveContact(Contact(
           id: try env.messenger.e2e.tryGet().getContact().getId(),
           username: result.restoredParams.username,
-          email: result.restoredParams.email,
-          phone: result.restoredParams.phone,
+          email: facts.get(.email)?.value,
+          phone: facts.get(.phone)?.value,
           createdAt: env.now()
         ))
         return .success(.finished)
diff --git a/Examples/xx-messenger/Tests/RestoreFeatureTests/RestoreFeatureTests.swift b/Examples/xx-messenger/Tests/RestoreFeatureTests/RestoreFeatureTests.swift
index 4e55f78bf14a04fe0aea7885f2f86d3783e6b04c..9b0a7b87928e8568acf78c8f63077920a8c9fd2e 100644
--- a/Examples/xx-messenger/Tests/RestoreFeatureTests/RestoreFeatureTests.swift
+++ b/Examples/xx-messenger/Tests/RestoreFeatureTests/RestoreFeatureTests.swift
@@ -79,17 +79,18 @@ final class RestoreFeatureTests: XCTestCase {
   func testRestore() {
     let backupData = "backup-data".data(using: .utf8)!
     let backupPassphrase = "backup-passphrase"
+    let restoredFacts = [
+      Fact(type: .email, value: "restored-email"),
+      Fact(type: .phone, value: "restored-phone"),
+    ]
     let restoreResult = MessengerRestoreBackup.Result(
-      restoredParams: BackupParams.init(
-        username: "restored-username",
-        email: "restored-email",
-        phone: "restored-phone"
-      ),
+      restoredParams: BackupParams(username: "restored-username"),
       restoredContacts: []
     )
     let now = Date()
     let contactId = "contact-id".data(using: .utf8)!
 
+    var udFacts: [Fact] = []
     var didRestoreWithData: [Data] = []
     var didRestoreWithPassphrase: [String] = []
     var didSaveContact: [XXModels.Contact] = []
@@ -108,6 +109,7 @@ final class RestoreFeatureTests: XCTestCase {
     store.environment.messenger.restoreBackup.run = { data, passphrase in
       didRestoreWithData.append(data)
       didRestoreWithPassphrase.append(passphrase)
+      udFacts = restoredFacts
       return restoreResult
     }
     store.environment.messenger.e2e.get = {
@@ -119,6 +121,11 @@ final class RestoreFeatureTests: XCTestCase {
       }
       return e2e
     }
+    store.environment.messenger.ud.get = {
+      var ud: UserDiscovery = .unimplemented
+      ud.getFacts.run = { udFacts }
+      return ud
+    }
     store.environment.db.run = {
       var db: Database = .unimplemented
       db.saveContact.run = { contact in
@@ -141,8 +148,8 @@ final class RestoreFeatureTests: XCTestCase {
     XCTAssertNoDifference(didSaveContact, [Contact(
       id: contactId,
       username: restoreResult.restoredParams.username,
-      email: restoreResult.restoredParams.email,
-      phone: restoreResult.restoredParams.phone,
+      email: restoredFacts.get(.email)?.value,
+      phone: restoredFacts.get(.phone)?.value,
       createdAt: now
     )])
 
diff --git a/Sources/XXMessengerClient/Utils/BackupParams.swift b/Sources/XXMessengerClient/Utils/BackupParams.swift
index c3bd8fc0f8e566348bb1d731bf8606c2f8bea5ce..8bf39a5189049f234ec9ab991c63ecdf59b0f1ce 100644
--- a/Sources/XXMessengerClient/Utils/BackupParams.swift
+++ b/Sources/XXMessengerClient/Utils/BackupParams.swift
@@ -2,18 +2,12 @@ import Foundation
 
 public struct BackupParams: Equatable {
   public init(
-    username: String,
-    email: String?,
-    phone: String?
+    username: String
   ) {
     self.username = username
-    self.email = email
-    self.phone = phone
   }
 
   public var username: String
-  public var email: String?
-  public var phone: String?
 }
 
 extension BackupParams: Codable {
diff --git a/Tests/XXMessengerClientTests/Messenger/Functions/MessengerBackupParamsTests.swift b/Tests/XXMessengerClientTests/Messenger/Functions/MessengerBackupParamsTests.swift
index e0af7129f1f82f9c5fbce7b67d2ea4c3ff05060e..b65a34b9fbac97ab2a3fc629a7bce09552ae39b1 100644
--- a/Tests/XXMessengerClientTests/Messenger/Functions/MessengerBackupParamsTests.swift
+++ b/Tests/XXMessengerClientTests/Messenger/Functions/MessengerBackupParamsTests.swift
@@ -15,16 +15,11 @@ final class MessengerBackupParamsTests: XCTestCase {
       return backup
     }
     let backup: MessengerBackupParams = .live(env)
-    let params = BackupParams(
-      username: "test-username",
-      email: "test-email",
-      phone: "test-phone"
-    )
 
-    try backup(params)
+    try backup(.stub)
 
     XCTAssertNoDifference(didAddJSON, [
-      String(data: try params.encode(), encoding: .utf8)!
+      String(data: try BackupParams.stub.encode(), encoding: .utf8)!
     ])
   }
 
@@ -32,9 +27,8 @@ final class MessengerBackupParamsTests: XCTestCase {
     var env: MessengerEnvironment = .unimplemented
     env.backup.get = { nil }
     let backup: MessengerBackupParams = .live(env)
-    let params = BackupParams(username: "test", email: nil, phone: nil)
 
-    XCTAssertThrowsError(try backup(params)) { error in
+    XCTAssertThrowsError(try backup(.stub)) { error in
       XCTAssertNoDifference(
         error as NSError,
         MessengerBackupParams.Error.notRunning as NSError
@@ -50,9 +44,8 @@ final class MessengerBackupParamsTests: XCTestCase {
       return backup
     }
     let backup: MessengerBackupParams = .live(env)
-    let params = BackupParams(username: "test", email: nil, phone: nil)
 
-    XCTAssertThrowsError(try backup(params)) { error in
+    XCTAssertThrowsError(try backup(.stub)) { error in
       XCTAssertNoDifference(
         error as NSError,
         MessengerBackupParams.Error.notRunning as NSError
diff --git a/Tests/XXMessengerClientTests/Messenger/Functions/MessengerRestoreBackupTests.swift b/Tests/XXMessengerClientTests/Messenger/Functions/MessengerRestoreBackupTests.swift
index 67663feebde5554f9810dc36260bd2055c15a66f..672adc37550225bdab6a9ea7953c2b5a0b86b248 100644
--- a/Tests/XXMessengerClientTests/Messenger/Functions/MessengerRestoreBackupTests.swift
+++ b/Tests/XXMessengerClientTests/Messenger/Functions/MessengerRestoreBackupTests.swift
@@ -10,11 +10,7 @@ final class MessengerRestoreBackupTests: XCTestCase {
     let ndfData = "ndf-data".data(using: .utf8)!
     let password = "password".data(using: .utf8)!
     let backupContacts: [Data] = (1...3).map { "contact-\($0)" }.map { $0.data(using: .utf8)! }
-    let backupParams = BackupParams(
-      username: "backup-username",
-      email: "backup-email",
-      phone: "backup-phone"
-    )
+    let backupParams = BackupParams.stub
     let backupReport = BackupReport(
       restoredContacts: backupContacts,
       params: String(data: try! JSONEncoder().encode(backupParams), encoding: .utf8)!
diff --git a/Tests/XXMessengerClientTests/TestHelpers/TestDoubles.swift b/Tests/XXMessengerClientTests/TestHelpers/TestDoubles.swift
index 4d57e29363d3f22bdbb836622d7bfa92b014b683..c9a90bde352a9da4ac0c359c26fed8e1a89d9f8f 100644
--- a/Tests/XXMessengerClientTests/TestHelpers/TestDoubles.swift
+++ b/Tests/XXMessengerClientTests/TestHelpers/TestDoubles.swift
@@ -20,8 +20,6 @@ extension Message {
 
 extension BackupParams {
   static let stub = BackupParams(
-    username: "stub-username",
-    email: "stub-email",
-    phone: "stub-phone"
+    username: "stub-username"
   )
 }