diff --git a/jami-android/app/src/main/java/cx/ring/account/AccountWizardActivity.kt b/jami-android/app/src/main/java/cx/ring/account/AccountWizardActivity.kt
index 1125763f01365ec9e0e9aea1e9c6120e7eed9182..551b980462c379f5f64741d3023f670ae2f14956 100644
--- a/jami-android/app/src/main/java/cx/ring/account/AccountWizardActivity.kt
+++ b/jami-android/app/src/main/java/cx/ring/account/AccountWizardActivity.kt
@@ -110,8 +110,8 @@ class AccountWizardActivity : BaseActivity<AccountWizardPresenter>(), AccountWiz
         val model = viewModel.model
         if (!TextUtils.isEmpty(model.managementServer)) {
             presenter.initJamiAccountConnect(model, getText(R.string.ring_account_default_name).toString())
-        } else if (model.isLink) {
-            presenter.initJamiAccountLink(model, getText(R.string.ring_account_default_name).toString())
+        } else if (model.archive != null) {
+            presenter.initJamiAccountBackup(model, getText(R.string.ring_account_default_name).toString())
         } else {
             presenter.initJamiAccountCreation(model, getText(R.string.ring_account_default_name).toString())
         }
@@ -154,7 +154,7 @@ class AccountWizardActivity : BaseActivity<AccountWizardPresenter>(), AccountWiz
         val fragments = supportFragmentManager.fragments
         if (fragments.size > 0) {
             val fragment = fragments[0]
-            if (fragment is JamiLinkAccountFragment || fragment is JamiAccountConnectFragment) {
+            if (fragment is JamiAccountConnectFragment || fragment is JamiImportBackupFragment) {
                 profileCreated(false)
             }
         }
diff --git a/jami-android/app/src/main/java/cx/ring/account/HomeAccountCreationFragment.kt b/jami-android/app/src/main/java/cx/ring/account/HomeAccountCreationFragment.kt
index 27e7ef37357d8b3b5642d3a9c90c215849ed70e5..08d7e0b586f2034f5476b6709b7c1574f8979212 100644
--- a/jami-android/app/src/main/java/cx/ring/account/HomeAccountCreationFragment.kt
+++ b/jami-android/app/src/main/java/cx/ring/account/HomeAccountCreationFragment.kt
@@ -60,8 +60,8 @@ class HomeAccountCreationFragment :
                             archive = file
                         }
                         replaceFragmentWithSlide(
-                            fragment = JamiLinkAccountFragment(),
-                            tag = JamiLinkAccountFragment.TAG,
+                            fragment = JamiImportBackupFragment(),
+                            tag = JamiImportBackupFragment.TAG,
                             containerID = R.id.wizard_container
                         )
                     }) { e: Throwable ->
diff --git a/jami-android/app/src/main/java/cx/ring/account/JamiImportBackupFragment.kt b/jami-android/app/src/main/java/cx/ring/account/JamiImportBackupFragment.kt
new file mode 100644
index 0000000000000000000000000000000000000000..27c2a4ed0068f6098570f0d025b3f5731f74a04c
--- /dev/null
+++ b/jami-android/app/src/main/java/cx/ring/account/JamiImportBackupFragment.kt
@@ -0,0 +1,76 @@
+/*
+ *  Copyright (C) 2004-2024 Savoir-faire Linux Inc.
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program. If not, see <https://www.gnu.org/licenses/>.
+ */
+package cx.ring.account
+
+import android.content.Context
+import android.os.Bundle
+import android.text.Editable
+import android.text.TextWatcher
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.view.inputmethod.InputMethodManager
+import androidx.fragment.app.Fragment
+import androidx.fragment.app.activityViewModels
+import cx.ring.databinding.FragAccJamiBackupBinding
+import dagger.hilt.android.AndroidEntryPoint
+
+@AndroidEntryPoint
+class JamiImportBackupFragment : Fragment() {
+    private val model: AccountCreationViewModel by activityViewModels()
+    private var binding: FragAccJamiBackupBinding? = null
+
+    override fun onCreateView(
+            inflater: LayoutInflater,
+            container: ViewGroup?,
+            savedInstanceState: Bundle?
+    ): View = FragAccJamiBackupBinding.inflate(inflater, container, false).apply {
+
+        linkButton.setOnClickListener { createAccount() }
+        existingPassword.addTextChangedListener(object : TextWatcher {
+            override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {}
+            override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {}
+            override fun afterTextChanged(s: Editable) {
+                model.model.password = s.toString()
+            }
+        })
+
+        binding = this
+    }.root
+
+    override fun onDestroyView() {
+        super.onDestroyView()
+        binding = null
+    }
+
+
+//    override fun showPin(show: Boolean) {
+//        val binding = binding ?: return
+//        binding.linkButton.setText(if (show) R.string.account_link_device else R.string.account_link_archive_button)
+//        binding!!.linkButton.isEnabled = enable
+//    }
+
+    fun createAccount() {
+        (activity as AccountWizardActivity?)?.createAccount()
+        val imm = context?.getSystemService(Context.INPUT_METHOD_SERVICE) as? InputMethodManager
+        imm?.hideSoftInputFromWindow(binding!!.existingPassword.windowToken, 0)
+    }
+
+    companion object {
+        val TAG = JamiImportBackupFragment::class.simpleName!!
+    }
+}
\ No newline at end of file
diff --git a/jami-android/app/src/main/res/layout/frag_acc_jami_backup.xml b/jami-android/app/src/main/res/layout/frag_acc_jami_backup.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c9f7e0957a5eec1b9eb862baf552fe1b156b68b6
--- /dev/null
+++ b/jami-android/app/src/main/res/layout/frag_acc_jami_backup.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Todo: Legacy -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:background="@color/color_primary_dark"
+    android:gravity="center"
+    android:orientation="vertical"
+    android:paddingVertical="16dp">
+
+    <RelativeLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_centerInParent="true"
+            android:text="@string/account_link_archive_button"
+            android:textAlignment="center"
+            android:textAppearance="@style/TextAppearance.MaterialComponents.Headline5"
+            android:textColor="@color/color_primary_light"
+            android:textStyle="bold" />
+
+        <ImageView
+            android:id="@+id/background"
+            android:layout_width="@dimen/wizard_image_background"
+            android:layout_height="@dimen/wizard_image_background"
+            android:layout_centerHorizontal="true"
+            android:alpha="0.1"
+            android:contentDescription="@null"
+            android:src="@drawable/baseline_devices_24"
+            app:tint="@color/white" />
+    </RelativeLayout>
+
+    <ScrollView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:background="@drawable/background_rounded_12"
+        android:backgroundTint="@color/white">
+
+        <LinearLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:paddingHorizontal="16dp">
+
+            <TextView
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="8dp"
+                android:text="@string/help_password_enter"
+                android:textAlignment="center"
+                android:paddingBottom="12dp"
+                android:textStyle="bold" />
+
+            <com.google.android.material.textfield.TextInputLayout
+                android:id="@+id/password_txt_box"
+                style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                app:passwordToggleEnabled="true">
+
+                <com.google.android.material.textfield.TextInputEditText
+                    android:id="@+id/existing_password"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:drawableStart="@drawable/baseline_lock_24"
+                    android:drawablePadding="5dp"
+                    android:hint="@string/prompt_password"
+                    android:imeOptions="actionNext"
+                    android:inputType="textPassword" />
+            </com.google.android.material.textfield.TextInputLayout>
+
+            <com.google.android.material.button.MaterialButton
+                android:id="@+id/link_button"
+                style="@style/ButtonColored"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginVertical="16dp"
+                android:text="@string/account_link_archive_button"
+                android:textSize="12sp"
+                android:theme="@style/ButtonColoredInverse" />
+
+        </LinearLayout>
+
+    </ScrollView>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/jami-android/libjamiclient/src/main/kotlin/net/jami/account/AccountWizardPresenter.kt b/jami-android/libjamiclient/src/main/kotlin/net/jami/account/AccountWizardPresenter.kt
index 35a2c957cd3e047f7e764c20dd288a5865d55f70..586762e83ad100a021d9c89f8b25d8fd1134e9ad 100644
--- a/jami-android/libjamiclient/src/main/kotlin/net/jami/account/AccountWizardPresenter.kt
+++ b/jami-android/libjamiclient/src/main/kotlin/net/jami/account/AccountWizardPresenter.kt
@@ -127,7 +127,8 @@ class AccountWizardPresenter @Inject constructor(
             .observeOn(mUiScheduler)
             .subscribe({ account: Account -> accountCreationModel.newAccount = account })
             { e -> Log.e(TAG, "Can't create account", e) })
-        if (accountCreationModel.isLink) {
+
+        if (accountCreationModel.archive != null) {
             view!!.displayProgress(true)
             mCompositeDisposable.add(newAccount
                 .filter { a: Account -> a.registrationState != AccountConfig.RegistrationState.INITIALIZING }
@@ -189,7 +190,7 @@ class AccountWizardPresenter @Inject constructor(
             .filter { a: Account -> a.registrationState != AccountConfig.RegistrationState.INITIALIZING }
             .firstElement()
             .subscribe { a: Account ->
-                if (!model.isLink && a.isJami && model.username.isNotEmpty())
+                if (model.archive == null && a.isJami && model.username.isNotEmpty())
                     mAccountService.registerName(a, model.username, AccountService.ACCOUNT_SCHEME_PASSWORD, model.password)
                 mAccountService.currentAccount = a
                 if (model.isPush) {