diff --git a/app/src/main/java/com/futo/circles/ui/view/AdvancedOptionsView.kt b/app/src/main/java/com/futo/circles/ui/view/AdvancedOptionsView.kt
new file mode 100644
index 0000000000000000000000000000000000000000..791bcf3874f7e1af0284a4ed5a5a506f4a3019a7
--- /dev/null
+++ b/app/src/main/java/com/futo/circles/ui/view/AdvancedOptionsView.kt
@@ -0,0 +1,46 @@
+package com.futo.circles.ui.view
+
+import android.content.Context
+import android.util.AttributeSet
+import android.view.LayoutInflater
+import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.core.view.isVisible
+import com.futo.circles.R
+import com.futo.circles.databinding.AdvancedOptionsViewBinding
+import com.futo.circles.extensions.gone
+import com.futo.circles.extensions.visible
+
+class AdvancedOptionsView(
+    context: Context,
+    attrs: AttributeSet? = null,
+) : ConstraintLayout(context, attrs) {
+
+    private val binding =
+        AdvancedOptionsViewBinding.inflate(LayoutInflater.from(context), this)
+
+    init {
+        binding.btnAdvanced.setOnClickListener {
+            toggleEncryptionPasswordVisibility()
+        }
+    }
+
+    fun getText(): String? =
+        binding.tilPassword.editText?.text.toString().takeIf { it.isNotEmpty() }
+
+    private fun toggleEncryptionPasswordVisibility() {
+        if (binding.tilPassword.isVisible) {
+            binding.tilPassword.gone()
+            binding.btnAdvanced.apply {
+                text = context.getString(R.string.advanced_options)
+                setIconResource(R.drawable.ic_keyboard_arrow_right)
+            }
+        } else {
+            binding.tilPassword.visible()
+            binding.btnAdvanced.apply {
+                text = context.getString(R.string.hide_advanced_options)
+                setIconResource(R.drawable.ic_keyboard_arrow_down)
+            }
+        }
+    }
+
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_keyboard_arrow_down.xml b/app/src/main/res/drawable/ic_keyboard_arrow_down.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1aeaa9985f42dd970aaee0e6a896f2304878172d
--- /dev/null
+++ b/app/src/main/res/drawable/ic_keyboard_arrow_down.xml
@@ -0,0 +1,5 @@
+<vector android:height="24dp" android:tint="#FFFFFF"
+    android:viewportHeight="24" android:viewportWidth="24"
+    android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+    <path android:fillColor="@android:color/white" android:pathData="M7.41,8.59L12,13.17l4.59,-4.58L18,10l-6,6 -6,-6 1.41,-1.41z"/>
+</vector>
diff --git a/app/src/main/res/drawable/ic_keyboard_arrow_right.xml b/app/src/main/res/drawable/ic_keyboard_arrow_right.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1b7f06b4b350c3887f91ca81ce8a4f61da382e5e
--- /dev/null
+++ b/app/src/main/res/drawable/ic_keyboard_arrow_right.xml
@@ -0,0 +1,5 @@
+<vector android:height="24dp" android:tint="#FFFFFF"
+    android:viewportHeight="24" android:viewportWidth="24"
+    android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+    <path android:fillColor="@android:color/white" android:pathData="M8.59,16.59L13.17,12 8.59,7.41 10,6l6,6 -6,6 -1.41,-1.41z"/>
+</vector>
diff --git a/app/src/main/res/layout/advanced_options_view.xml b/app/src/main/res/layout/advanced_options_view.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4b910a8d8462c3e1d80ef14aac9f83a5375a9b11
--- /dev/null
+++ b/app/src/main/res/layout/advanced_options_view.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<merge 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="wrap_content"
+    tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
+
+    <com.google.android.material.button.MaterialButton
+        android:id="@+id/btnAdvanced"
+        style="@style/Widget.MaterialComponents.Button.TextButton.Icon"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:minHeight="0dp"
+        android:paddingStart="0dp"
+        android:paddingEnd="40dp"
+        android:text="@string/advanced_options"
+        android:textAppearance="@style/footNote"
+        app:icon="@drawable/ic_keyboard_arrow_right"
+        tools:ignore="RtlSymmetry" />
+
+    <com.google.android.material.textfield.TextInputLayout
+        android:id="@+id/tilPassword"
+        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:hint="@string/encryption_password"
+        android:visibility="gone"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/btnAdvanced"
+        app:passwordToggleEnabled="true"
+        tools:visibility="visible">
+
+        <com.google.android.material.textfield.TextInputEditText
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:inputType="textPassword"
+            android:padding="8dp" />
+
+    </com.google.android.material.textfield.TextInputLayout>
+
+
+</merge>
\ No newline at end of file