diff --git a/Frameworks/Bindings.txt b/Frameworks/Bindings.txt
index e1d97f9ea6ab2f793acea06f8d5cce486274c4fd..dc7f663c40aed53e584265343b9c0411f276199a 100644
--- a/Frameworks/Bindings.txt
+++ b/Frameworks/Bindings.txt
@@ -1,4 +1,4 @@
-https://git.xx.network/elixxir/client/-/commit/046d5d0cbea24743322ff153829b8d61a7b06d2b
+https://git.xx.network/elixxir/client/-/commit/48a852df34d526a042af08f613c259c6fe7bbd97
 go version go1.17.13 darwin/arm64
 Xcode 14.0 Build version 14A309
 gomobile bind target: ios,iossimulator,macos
diff --git a/Frameworks/Bindings.xcframework/Info.plist b/Frameworks/Bindings.xcframework/Info.plist
index 3d81013ba0ba606da4b42b6f3119f688c6d9b97d..1e6b67e7e5ab26303902b1288f432c61b61a6f28 100644
--- a/Frameworks/Bindings.xcframework/Info.plist
+++ b/Frameworks/Bindings.xcframework/Info.plist
@@ -6,22 +6,19 @@
 	<array>
 		<dict>
 			<key>LibraryIdentifier</key>
-			<string>ios-arm64_x86_64-simulator</string>
+			<string>ios-arm64</string>
 			<key>LibraryPath</key>
 			<string>Bindings.framework</string>
 			<key>SupportedArchitectures</key>
 			<array>
 				<string>arm64</string>
-				<string>x86_64</string>
 			</array>
 			<key>SupportedPlatform</key>
 			<string>ios</string>
-			<key>SupportedPlatformVariant</key>
-			<string>simulator</string>
 		</dict>
 		<dict>
 			<key>LibraryIdentifier</key>
-			<string>macos-arm64_x86_64</string>
+			<string>ios-arm64_x86_64-simulator</string>
 			<key>LibraryPath</key>
 			<string>Bindings.framework</string>
 			<key>SupportedArchitectures</key>
@@ -30,19 +27,22 @@
 				<string>x86_64</string>
 			</array>
 			<key>SupportedPlatform</key>
-			<string>macos</string>
+			<string>ios</string>
+			<key>SupportedPlatformVariant</key>
+			<string>simulator</string>
 		</dict>
 		<dict>
 			<key>LibraryIdentifier</key>
-			<string>ios-arm64</string>
+			<string>macos-arm64_x86_64</string>
 			<key>LibraryPath</key>
 			<string>Bindings.framework</string>
 			<key>SupportedArchitectures</key>
 			<array>
 				<string>arm64</string>
+				<string>x86_64</string>
 			</array>
 			<key>SupportedPlatform</key>
-			<string>ios</string>
+			<string>macos</string>
 		</dict>
 	</array>
 	<key>CFBundlePackageType</key>
diff --git a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Bindings b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Bindings
index 2687b02a50d1be5e1a36292d8f1614e505f271ff..cf98b62a4b26ef37a545833eb6e0c9280daf1fde 100644
Binary files a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Bindings and b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Bindings differ
diff --git a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Headers/Bindings.objc.h b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Headers/Bindings.objc.h
index 96523f8825cf04317f17fab6d169b33c1e82c90c..86749f1498e93490d371a0e779b1c9000b6abb05 100644
--- a/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Headers/Bindings.objc.h
+++ b/Frameworks/Bindings.xcframework/ios-arm64/Bindings.framework/Versions/A/Headers/Bindings.objc.h
@@ -2272,29 +2272,24 @@ FOUNDATION_EXPORT BindingsUserDiscovery* _Nullable BindingsNewOrLoadUd(long e2eI
 
 /**
  * NewUdManagerFromBackup builds a new user discover manager from a backup. It
-will construct a manager that is already registered and restore already
-registered facts into store.
+will construct a manager that is already registered. Confirmed facts have
+already been restored via the call NewCmixFromBackup.
 
 Parameters:
  - e2eID - e2e object ID in the tracker
  - follower - network follower func wrapped in UdNetworkStatus
- - username - The username this user registered with initially. This should
-              not be nullable, and be JSON marshalled as retrieved from
-              UserDiscovery.GetFacts().
- - emailFactJson - nullable JSON marshalled email [fact.Fact]
- - phoneFactJson - nullable JSON marshalled phone [fact.Fact]
  - cert - the TLS certificate for the UD server this call will connect with.
    You may use the UD server run by the xx network team by using
-   E2e.GetUdCertFromNdf.
- - contactFile - the data within a marshalled contact.Contact. This
+   [E2e.GetUdCertFromNdf].
+ - contactFile - the data within a marshalled [contact.Contact]. This
    represents the contact file of the server this call will connect with. You
    may use the UD server run by the xx network team by using
-   E2e.GetUdContactFromNdf.
+   [E2e.GetUdContactFromNdf].
  - address - the IP address of the UD server this call will connect with. You
    may use the UD server run by the xx network team by using
-   E2e.GetUdAddressFromNdf.
+   [E2e.GetUdAddressFromNdf].
  */
-FOUNDATION_EXPORT BindingsUserDiscovery* _Nullable BindingsNewUdManagerFromBackup(long e2eID, id<BindingsUdNetworkStatus> _Nullable follower, NSData* _Nullable usernameJson, NSData* _Nullable emailFactJson, NSData* _Nullable phoneFactJson, NSData* _Nullable cert, NSData* _Nullable contactFile, NSString* _Nullable address, NSError* _Nullable* _Nullable error);
+FOUNDATION_EXPORT BindingsUserDiscovery* _Nullable BindingsNewUdManagerFromBackup(long e2eID, id<BindingsUdNetworkStatus> _Nullable follower, NSData* _Nullable cert, NSData* _Nullable contactFile, NSString* _Nullable address, NSError* _Nullable* _Nullable error);
 
 /**
  * RegisterForNotifications allows a client to register for push notifications.
diff --git a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Bindings b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Bindings
index 927d04b238c85baf5f4903afdcb50ab29df07ba6..b605f2cdbe416b3fced0a02b77d2ae25a1accc0d 100644
Binary files a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Bindings and b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Bindings differ
diff --git a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Headers/Bindings.objc.h b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Headers/Bindings.objc.h
index 96523f8825cf04317f17fab6d169b33c1e82c90c..86749f1498e93490d371a0e779b1c9000b6abb05 100644
--- a/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Headers/Bindings.objc.h
+++ b/Frameworks/Bindings.xcframework/ios-arm64_x86_64-simulator/Bindings.framework/Versions/A/Headers/Bindings.objc.h
@@ -2272,29 +2272,24 @@ FOUNDATION_EXPORT BindingsUserDiscovery* _Nullable BindingsNewOrLoadUd(long e2eI
 
 /**
  * NewUdManagerFromBackup builds a new user discover manager from a backup. It
-will construct a manager that is already registered and restore already
-registered facts into store.
+will construct a manager that is already registered. Confirmed facts have
+already been restored via the call NewCmixFromBackup.
 
 Parameters:
  - e2eID - e2e object ID in the tracker
  - follower - network follower func wrapped in UdNetworkStatus
- - username - The username this user registered with initially. This should
-              not be nullable, and be JSON marshalled as retrieved from
-              UserDiscovery.GetFacts().
- - emailFactJson - nullable JSON marshalled email [fact.Fact]
- - phoneFactJson - nullable JSON marshalled phone [fact.Fact]
  - cert - the TLS certificate for the UD server this call will connect with.
    You may use the UD server run by the xx network team by using
-   E2e.GetUdCertFromNdf.
- - contactFile - the data within a marshalled contact.Contact. This
+   [E2e.GetUdCertFromNdf].
+ - contactFile - the data within a marshalled [contact.Contact]. This
    represents the contact file of the server this call will connect with. You
    may use the UD server run by the xx network team by using
-   E2e.GetUdContactFromNdf.
+   [E2e.GetUdContactFromNdf].
  - address - the IP address of the UD server this call will connect with. You
    may use the UD server run by the xx network team by using
-   E2e.GetUdAddressFromNdf.
+   [E2e.GetUdAddressFromNdf].
  */
-FOUNDATION_EXPORT BindingsUserDiscovery* _Nullable BindingsNewUdManagerFromBackup(long e2eID, id<BindingsUdNetworkStatus> _Nullable follower, NSData* _Nullable usernameJson, NSData* _Nullable emailFactJson, NSData* _Nullable phoneFactJson, NSData* _Nullable cert, NSData* _Nullable contactFile, NSString* _Nullable address, NSError* _Nullable* _Nullable error);
+FOUNDATION_EXPORT BindingsUserDiscovery* _Nullable BindingsNewUdManagerFromBackup(long e2eID, id<BindingsUdNetworkStatus> _Nullable follower, NSData* _Nullable cert, NSData* _Nullable contactFile, NSString* _Nullable address, NSError* _Nullable* _Nullable error);
 
 /**
  * RegisterForNotifications allows a client to register for push notifications.
diff --git a/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Bindings b/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Bindings
index 14246d1018fbd911d275793e63d882b09958de99..9f78ea913e34662403ea5db4c9e6a915ec1a05fe 100644
Binary files a/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Bindings and b/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Bindings differ
diff --git a/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Headers/Bindings.objc.h b/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Headers/Bindings.objc.h
index 96523f8825cf04317f17fab6d169b33c1e82c90c..86749f1498e93490d371a0e779b1c9000b6abb05 100644
--- a/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Headers/Bindings.objc.h
+++ b/Frameworks/Bindings.xcframework/macos-arm64_x86_64/Bindings.framework/Versions/A/Headers/Bindings.objc.h
@@ -2272,29 +2272,24 @@ FOUNDATION_EXPORT BindingsUserDiscovery* _Nullable BindingsNewOrLoadUd(long e2eI
 
 /**
  * NewUdManagerFromBackup builds a new user discover manager from a backup. It
-will construct a manager that is already registered and restore already
-registered facts into store.
+will construct a manager that is already registered. Confirmed facts have
+already been restored via the call NewCmixFromBackup.
 
 Parameters:
  - e2eID - e2e object ID in the tracker
  - follower - network follower func wrapped in UdNetworkStatus
- - username - The username this user registered with initially. This should
-              not be nullable, and be JSON marshalled as retrieved from
-              UserDiscovery.GetFacts().
- - emailFactJson - nullable JSON marshalled email [fact.Fact]
- - phoneFactJson - nullable JSON marshalled phone [fact.Fact]
  - cert - the TLS certificate for the UD server this call will connect with.
    You may use the UD server run by the xx network team by using
-   E2e.GetUdCertFromNdf.
- - contactFile - the data within a marshalled contact.Contact. This
+   [E2e.GetUdCertFromNdf].
+ - contactFile - the data within a marshalled [contact.Contact]. This
    represents the contact file of the server this call will connect with. You
    may use the UD server run by the xx network team by using
-   E2e.GetUdContactFromNdf.
+   [E2e.GetUdContactFromNdf].
  - address - the IP address of the UD server this call will connect with. You
    may use the UD server run by the xx network team by using
-   E2e.GetUdAddressFromNdf.
+   [E2e.GetUdAddressFromNdf].
  */
-FOUNDATION_EXPORT BindingsUserDiscovery* _Nullable BindingsNewUdManagerFromBackup(long e2eID, id<BindingsUdNetworkStatus> _Nullable follower, NSData* _Nullable usernameJson, NSData* _Nullable emailFactJson, NSData* _Nullable phoneFactJson, NSData* _Nullable cert, NSData* _Nullable contactFile, NSString* _Nullable address, NSError* _Nullable* _Nullable error);
+FOUNDATION_EXPORT BindingsUserDiscovery* _Nullable BindingsNewUdManagerFromBackup(long e2eID, id<BindingsUdNetworkStatus> _Nullable follower, NSData* _Nullable cert, NSData* _Nullable contactFile, NSString* _Nullable address, NSError* _Nullable* _Nullable error);
 
 /**
  * RegisterForNotifications allows a client to register for push notifications.
diff --git a/Sources/XXClient/Functions/NewUdManagerFromBackup.swift b/Sources/XXClient/Functions/NewUdManagerFromBackup.swift
index 14f2b0e494c64ee5a7adaeffe9d3fb1c8d7ee699..7b68fb8a2faa41d53eaa01879e74a4442b13d3ec 100644
--- a/Sources/XXClient/Functions/NewUdManagerFromBackup.swift
+++ b/Sources/XXClient/Functions/NewUdManagerFromBackup.swift
@@ -5,26 +5,17 @@ public struct NewUdManagerFromBackup {
   public struct Params: Equatable {
     public init(
       e2eId: Int,
-      username: Fact,
-      email: Fact?,
-      phone: Fact?,
       cert: Data,
       contact: Data,
       address: String
     ) {
       self.e2eId = e2eId
-      self.username = username
-      self.email = email
-      self.phone = phone
       self.cert = cert
       self.contact = contact
       self.address = address
     }
 
     public var e2eId: Int
-    public var username: Fact
-    public var email: Fact?
-    public var phone: Fact?
     public var cert: Data
     public var contact: Data
     public var address: String
@@ -46,9 +37,6 @@ extension NewUdManagerFromBackup {
     let bindingsUD = BindingsNewUdManagerFromBackup(
       params.e2eId,
       follower.makeBindingsUdNetworkStatus(),
-      try params.username.encode(),
-      try params.email?.encode(),
-      try params.phone?.encode(),
       params.cert,
       params.contact,
       params.address,
diff --git a/Sources/XXMessengerClient/Messenger/Functions/MessengerRestoreBackup.swift b/Sources/XXMessengerClient/Messenger/Functions/MessengerRestoreBackup.swift
index e32e6324cb1eeebc7dce54b8cc3769d830f4d43e..66f50dd550930409dd164315095b7517fd34acca 100644
--- a/Sources/XXMessengerClient/Messenger/Functions/MessengerRestoreBackup.swift
+++ b/Sources/XXMessengerClient/Messenger/Functions/MessengerRestoreBackup.swift
@@ -42,6 +42,9 @@ extension MessengerRestoreBackup {
         sessionPassword: password,
         backupFileContents: backupData
       )
+      let decoder = JSONDecoder()
+      let paramsData = report.params.data(using: .utf8)!
+      let params = try decoder.decode(BackupParams.self, from: paramsData)
       let cMix = try env.loadCMix(
         storageDir: storageDir,
         password: password,
@@ -57,15 +60,9 @@ extension MessengerRestoreBackup {
       )
       env.e2e.set(e2e)
       env.isListeningForMessages.set(false)
-      let decoder = JSONDecoder()
-      let paramsData = report.params.data(using: .utf8)!
-      let params = try decoder.decode(BackupParams.self, from: paramsData)
       let ud = try env.newUdManagerFromBackup(
         params: NewUdManagerFromBackup.Params(
           e2eId: e2e.getId(),
-          username: Fact(type: .username, value: params.username),
-          email: params.email.map { Fact(type: .email, value: $0) },
-          phone: params.phone.map { Fact(type: .phone, value: $0) },
           cert: env.udCert ?? e2e.getUdCertFromNdf(),
           contact: env.udContact ?? (try e2e.getUdContactFromNdf()),
           address: env.udAddress ?? e2e.getUdAddressFromNdf()
diff --git a/Tests/XXMessengerClientTests/Messenger/Functions/MessengerRestoreBackupTests.swift b/Tests/XXMessengerClientTests/Messenger/Functions/MessengerRestoreBackupTests.swift
index 3e2dc1f2b8ea333fd1155a06b2010d7f3faeee13..67663feebde5554f9810dc36260bd2055c15a66f 100644
--- a/Tests/XXMessengerClientTests/Messenger/Functions/MessengerRestoreBackupTests.swift
+++ b/Tests/XXMessengerClientTests/Messenger/Functions/MessengerRestoreBackupTests.swift
@@ -155,9 +155,6 @@ final class MessengerRestoreBackupTests: XCTestCase {
       ),
       .didNewUdManagerFromBackup(params: .init(
         e2eId: e2eId,
-        username: Fact(type: .username, value: backupParams.username),
-        email: Fact(type: .email, value: backupParams.email!),
-        phone: Fact(type: .phone, value: backupParams.phone!),
         cert: udCertFromNdf,
         contact: udContactFromNdf,
         address: udAddressFromNdf