diff --git a/app/Exports/ZipExports/ZipExportBuilder.php b/app/Exports/ZipExports/ZipExportBuilder.php
index 42fb03541..4c5c638f5 100644
--- a/app/Exports/ZipExports/ZipExportBuilder.php
+++ b/app/Exports/ZipExports/ZipExportBuilder.php
@@ -69,8 +69,8 @@ class ZipExportBuilder
 
         $this->data['exported_at'] = date(DATE_ATOM);
         $this->data['instance'] = [
-            'version'       => trim(file_get_contents(base_path('version'))),
-            'id_ciphertext' => encrypt('bookstack'),
+            'id'      => setting('instance-id', ''),
+            'version' => trim(file_get_contents(base_path('version'))),
         ];
 
         $zipFile = tempnam(sys_get_temp_dir(), 'bszip-');
diff --git a/database/migrations/2024_11_27_171039_add_instance_id_setting.php b/database/migrations/2024_11_27_171039_add_instance_id_setting.php
new file mode 100644
index 000000000..ee1e90d03
--- /dev/null
+++ b/database/migrations/2024_11_27_171039_add_instance_id_setting.php
@@ -0,0 +1,30 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Support\Carbon;
+use Illuminate\Support\Facades\DB;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     */
+    public function up(): void
+    {
+        DB::table('settings')->insert([
+            'setting_key' => 'instance-id',
+            'value' => Str::uuid(),
+            'created_at' => Carbon::now(),
+            'updated_at' => Carbon::now(),
+            'type' => 'string',
+        ]);
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        DB::table('settings')->where('setting_key', '=', 'instance-id')->delete();
+    }
+};
diff --git a/dev/docs/portable-zip-file-format.md b/dev/docs/portable-zip-file-format.md
index fbb317858..754cb4d3e 100644
--- a/dev/docs/portable-zip-file-format.md
+++ b/dev/docs/portable-zip-file-format.md
@@ -93,12 +93,10 @@ The below details the objects & their properties used in Application Data.
 
 #### Instance
 
-These details are mainly informational regarding the exporting BookStack instance from where an export was created from.
+These details are informational regarding the exporting BookStack instance from where an export was created from.
 
+- `id` - String, required, unique identifier for the BookStack instance.
 - `version` - String, required, BookStack version of the export source instance.
-- `id_ciphertext` - String, required, identifier for the BookStack instance.
-
-The `id_ciphertext` is the ciphertext of encrypting the text `bookstack`. This is used as a simple & rough way for a BookStack instance to be able to identify if they were the source (by attempting to decrypt the ciphertext).
 
 #### Book
 
diff --git a/tests/Exports/ZipExportTest.php b/tests/Exports/ZipExportTest.php
index 17891c73d..ebe07d052 100644
--- a/tests/Exports/ZipExportTest.php
+++ b/tests/Exports/ZipExportTest.php
@@ -54,8 +54,10 @@ class ZipExportTest extends TestCase
         $version = trim(file_get_contents(base_path('version')));
         $this->assertEquals($version, $zip->data['instance']['version']);
 
-        $instanceId = decrypt($zip->data['instance']['id_ciphertext']);
-        $this->assertEquals('bookstack', $instanceId);
+        $zipInstanceId = $zip->data['instance']['id'];
+        $instanceId = setting('instance-id');
+        $this->assertNotEmpty($instanceId);
+        $this->assertEquals($instanceId, $zipInstanceId);
     }
 
     public function test_page_export()