/ Documentation / Desktop GUI / Creating a vault

Creating a vault

The Create form: keyslot kind, cipher, KDF, FIDO2 enrollment from the GUI.

The Create view collects everything needed to build a fresh vault in one form. The defaults match what most users want (passphrase keyslot, AES-256-GCM-SIV, interactive KDF), so for a basic vault you only need to fill in the path + a passphrase.

Create vault form with fields for vault path, keyslot kind dropdown, cipher dropdown, KDF preset radio buttons, and a primary passphrase input with a generate button
The Create form. All advanced options collapse into the lower half of the panel; the top stays focused on the path + primary keyslot.

The form

Vault path

Click the file-picker icon next to the path field, or type a path directly. The GUI:

If you want a detached header (small .hdr file separate from the .lbx), expand the "Advanced options" section and tick "Detached header" - a second file picker appears for the .hdr location.

Keyslot kind

Dropdown with six options:

Kind What it is When to pick
Passphrase Argon2id-stretched passphrase wraps a random MVK Default; most users
FIDO2 (wrap) YubiKey / Titan / Hello unlocks; passphrase backup Hardware-key users
FIDO2 (direct) YubiKey is the ONLY way; lose key = lose vault High-paranoia / no recovery wanted
Hybrid PQ + passphrase ML-KEM-768 + Argon2id; needs .kyber seed file Long-term archival
Hybrid PQ + FIDO2 ML-KEM-768 + YubiKey; needs .kyber seed file Hardware key + post-quantum
Hybrid PQ-1024 (FIDO2 or passphrase) ML-KEM-1024 stronger variants NIST Cat-5, ~AES-256 PQ strength

Picking a hybrid kind reveals a "Kyber seed file" picker (where to save the .kyber seed - keep on separate trusted storage).

Picking a FIDO2 kind reveals a "FIDO2 device" dropdown showing every CTAP2 authenticator currently plugged in (refreshes when you click the refresh button next to it).

Create form with the keyslot kind dropdown set to FIDO2 (wrap) and a device picker below showing two plugged-in keys with their labels and paths
With FIDO2 keyslot kind selected, the device picker enumerates plugged-in CTAP2 authenticators. Pick one explicitly so the GUI doesn't grab the wrong key when multiple are plugged in.

Cipher suite

Three options, AES-256-GCM-SIV is the default:

Cipher When to pick
AES-256-GCM-SIV (default) Default; nonce-misuse-resistant; AES-NI on most CPUs
AES-256-GCM Legacy compat with vaults created before SIV was the default
ChaCha20-Poly1305 If your CPU has no AES-NI; constant-time on every platform

Most users keep the default. If LUKSbox detected your CPU has no AES-NI at startup, the GUI shows a tooltip recommending ChaCha.

KDF preset

Three options for Argon2id strength:

Preset Memory Time / unlock Brute-force resistance
Interactive (default) 256 MiB 500 ms Strong; daily-use vaults
Moderate 512 MiB 1.5 sec Annual-archive vaults
Sensitive 1 GiB 3-4 sec Long-term cold storage

Click "Benchmark on this CPU" to run the same wall-time measurement that luksbox kdf-bench does (CLI Round 9G); the GUI shows you exactly how long each preset takes on YOUR hardware.

A small benchmark panel inside the Create form showing three rows: interactive at 507 ms, moderate at 1.42 s, sensitive at 2.98 s on the user's CPU
Benchmark on this CPU runs the actual Argon2id presets and reports timings. Useful when picking 'sensitive' on a fast CPU vs 'moderate' on a slow one.

Passphrase

The passphrase field has:

Passphrase generator modal with sliders for length and a checklist for charset (lowercase, uppercase, digits, symbols), a checkbox for exclude-ambiguous, a preview text field, and Generate / Copy / Use buttons
The Generate dialog produces strong random passphrases (default: 20 chars, 99 bits). Use copies the result into the Create form's passphrase field.

For FIDO2 keyslot kinds, you'll also see a Backup passphrase field below the FIDO2 picker - this becomes a second keyslot in the same vault so losing the YubiKey doesn't mean losing the vault.

Advanced options

Click "Advanced options" to expand:

Deniable mode

Tick the Deniable checkbox at the top of the Create form to build a deniable vault instead of a standard one. Every byte of the resulting 36 KiB header is indistinguishable from random output: there is no LUKSbox magic, no version field, no parseable structure for file(1) / libmagic / yara to latch onto.

When Deniable is ticked the Create form changes in three ways:

See the full deniable mode reference for the eight supported variants and trade-offs vs the standard format.

Advanced options panel showing checkboxes for Detached header, Anchor sidecar, Pad files, Hide sizes, plus a Custom KDF target time input field
Advanced options. Most users leave these alone; tick them when the threat model warrants it.

Creating

Click Create vault at the bottom. Two things happen:

  1. A "Working..." overlay appears; Argon2id KDF runs (takes 0.5 - 4 sec depending on your preset)
  2. For FIDO2 keyslots: the GUI prompts for a touch on your hardware key (twice: once for makeCredential, once for getAssertion)

On success, you're auto-navigated to the Browser view with the new (empty) vault open. You can now import files (via the + Add file... toolbar button or by mounting the vault as a drive and using your file manager) or manage keyslots.

Modal overlay reading 'Touch your YubiKey now' with a small spinning indicator and a Cancel button
During FIDO2 enrollment the GUI shows a clear prompt for each touch. Click Cancel to abort the operation cleanly.

Errors you might see

Error What it means Fix
"Path already exists" The chosen .lbx path is taken Pick a different name or delete the old vault
"Weak passphrase" zxcvbn estimates < 60 bits Add words / use the Generate button
"FIDO2 device not found" No device plugged in or libfido2 can't see it Plug in / check udev rules on Linux (install guide)
"Touch timeout" You took > 30 sec to touch Re-click Create vault to retry
".kyber path required" Hybrid-PQ kind selected but no Kyber seed file path given Click the file-picker next to "Kyber seed file"

Next