From 182ac96e4eec9504ab1fa85bf3a1b7293199d8e2 Mon Sep 17 00:00:00 2001
From: saturneric <eric@bktus.com>
Date: Sat, 28 Jun 2025 01:10:23 +0200
Subject: docs(advanced): add detailed documentation for Multi-Key Database and
 KeyPackage features

---
 src/content/docs/advanced/key-database.mdx | 115 +++++++++++++++++++++++++++++
 1 file changed, 115 insertions(+)
 create mode 100644 src/content/docs/advanced/key-database.mdx

(limited to 'src/content/docs/advanced/key-database.mdx')

diff --git a/src/content/docs/advanced/key-database.mdx b/src/content/docs/advanced/key-database.mdx
new file mode 100644
index 0000000..aba43e4
--- /dev/null
+++ b/src/content/docs/advanced/key-database.mdx
@@ -0,0 +1,115 @@
+---
+title: Multi-Key Database Support
+sidebar:
+  label: Multi-Key Database
+  order: 2
+---
+
+import { Steps } from "@astrojs/starlight/components";
+
+GpgFrontend introduces **Multi-Key Database Support**, providing users with a
+flexible and organized way to manage multiple key databases. This feature is
+ideal for users who require separate cryptographic environments for different
+projects, organizations, or levels of security.
+
+## Features
+
+- **Multiple Key Databases**: Manage distinct key databases for specific
+  purposes or contexts.
+- **Flexible Switching**: Easily switch between databases for different
+  operations without affecting other configurations.
+- **Customizable Management**: Add, edit, reorder, or remove databases as
+  needed.
+
+## Benefits
+
+- **Improved Security**: Isolate sensitive keys in dedicated databases to
+  minimize exposure.
+- **Enhanced Organization**: Maintain separate databases for better operational
+  clarity.
+- **Streamlined Workflows**: Quickly switch between databases for various
+  projects or encryption tasks.
+
+## Accessing the Multi-Key Database Feature
+
+To manage multiple key databases, follow these steps:
+
+<Steps>
+
+1. Click on the **Advanced** menu in the top navigation bar.
+
+2. Select **Open GnuPG Controller** from the dropdown options.
+   ![](https://image.cdn.bktus.com/i/2024/11/29/abfaa919-2945-1acc-eb35-5c86828a97ca.webp)
+
+3. In the **GnuPG Controller** window, switch to the **Key Database** tab.
+
+4. Here, you will find a list of all configured key databases.
+   ![](https://image.cdn.bktus.com/i/2025/06/24/2a5cefe92a56b851de8ecd1661961592a7d3bc6c.webp)
+
+</Steps>
+
+## Managing Key Databases
+
+The Key Database tab allows you to perform the following operations:
+
+### Adding a New Key Database
+
+- Click the Add New Key Database button.
+- Specify a name and path for the new database. This will create an isolated
+  environment for newly generated or imported keys.
+
+**Relative Path Support:** If you enable the Relative Path option, the specified
+absolute path will be automatically converted to a path relative to the
+GpgFrontend application directory. This is particularly useful for Portable Mode
+or when moving the application between different systems, as it ensures that key
+database paths remain valid and consistent regardless of the host environment.
+
+### Editing and Reordering Key Databases
+
+Right-click on a database entry to view options like:
+
+![](https://image.cdn.bktus.com/i/2025/06/24/a012d736e4b116feb45d3c6af3e1b39ce8124c4f.webp)
+
+- **Move Up/Move Down**: Reorder the database list.
+- **Move to Top**: Prioritize a database by moving it to the top. If a database
+  is at the top, it is considered as the Default Key Database.
+- **Edit**: Rename or modify the path of an existing database.
+- **Remove**: Delete a database from the configuration.
+
+:::caution
+
+Any changes to the key database settings will require an application
+restart to take effect.
+
+:::
+
+### Switching Between Databases
+
+- Use the **Key Toolbox** dropdown in the main interface to switch between
+  configured databases.
+- Select the desired database, and the corresponding keys will be displayed.
+
+![](https://image.cdn.bktus.com/i/2024/11/29/dd783ee0-df5e-2b6f-428f-784c68246186.webp)
+
+## Use Cases for Multi-Key Databases
+
+- Project Isolation: Maintain separate databases for different projects to
+  avoid accidental cross-use of keys.
+- Organizational Separation: Keep departmental or team-specific keys isolated
+  to ensure they are only accessible to authorized personnel.
+- Enhanced Security for Sensitive Keys: Store high-security keys in a dedicated
+  database, minimizing the risk of exposure during routine operations.
+
+## Tips for Effective Multi-Key Database Usage
+
+- Name Databases Clearly: Use descriptive names for each database to make it
+  easier to identify their purpose.
+- Regular Backups: Backup each database regularly to prevent loss of critical
+  keys. Store backups in secure, encrypted locations.
+- Audit Database Usage: Periodically review the contents and usage of each
+  database to ensure proper organization and security.
+- Isolate Sensitive Operations: For highly sensitive keys, consider using a
+  dedicated device or environment to manage their database.
+- Avoid Overloading Databases: Distribute keys evenly across multiple databases
+  instead of overloading a single one. This enhances performance and
+  organization.
-- 
cgit v1.2.3

