         }
     }
     
-    private func showRecoveryKey(with megolmBackupCreationInfo: MXMegolmBackupCreationInfo, animated: Bool) {
+    private func showSetupRecoveryKeySuccess(with recoveryKey: String, animated: Bool) {
+
+        let viewController = KeyBackupSetupSuccessFromRecoveryKeyViewController.instantiate(with: recoveryKey)
+        viewController.delegate = self
+        self.navigationRouter.push(viewController, animated: animated, popCompletion: nil)
+    }
+    
+    private func showSetupPassphraseSuccess(with recoveryKey: String, animated: Bool) {
         
-        let keyBackupSetupRecoveryKeyCoordinator = KeyBackupSetupRecoveryKeyCoordinator(session: self.session, megolmBackupCreationInfo: megolmBackupCreationInfo)
-        keyBackupSetupRecoveryKeyCoordinator.delegate = self
-        keyBackupSetupRecoveryKeyCoordinator.start()
-        
-        self.add(childCoordinator: keyBackupSetupRecoveryKeyCoordinator)
-        self.navigationRouter.push(keyBackupSetupRecoveryKeyCoordinator, animated: animated) { [weak self] in
-            self?.remove(childCoordinator: keyBackupSetupRecoveryKeyCoordinator)
-        }
+        let viewController = KeyBackupSetupSuccessFromPassphraseViewController.instantiate(with: recoveryKey)
+        viewController.delegate = self
+        self.navigationRouter.push(viewController, animated: animated, popCompletion: nil)
     }
 }
 


// MARK: - KeyRecoveryPassphraseCoordinatorDelegate
extension KeyBackupSetupCoordinator: KeyBackupSetupPassphraseCoordinatorDelegate {
    func keyBackupSetupPassphraseCoordinator(_ keyBackupSetupPassphraseCoordinator: KeyBackupSetupPassphraseCoordinatorType, didCompleteWithMegolmBackupCreationInfo megolmBackupCreationInfo: MXMegolmBackupCreationInfo) {
        self.showRecoveryKey(with: megolmBackupCreationInfo, animated: true)
    }
    
    func keyBackupSetupPassphraseCoordinatorDidCancel(_ keyBackupSetupPassphraseCoordinator: KeyBackupSetupPassphraseCoordinatorType) {

    func start() {
    
        // Set key backup setup intro as root controller
        let isABackupAlreadyExists = !(self.session.crypto.backup?.state == MXKeyBackupStateDisabled)
        
        let keyBackupSetupIntroViewController = KeyBackupSetupIntroViewController.instantiate(isABackupAlreadyExists: isABackupAlreadyExists)
        keyBackupSetupIntroViewController.delegate = self
        self.navigationRouter.setRootModule(keyBackupSetupIntroViewController)
    }
