/ Documentation / Desktop GUI / Creating a vault

Creating a vault

The Create form: vault file, keyslot factor and variant, cipher, KDF, vault size, hardening and header format, deniable mode.

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, header format v3), so for a basic vault you only need to fill in the path + a passphrase.

Create a new vault form: Vault file section with the vault path, Browse and the detached-header checkbox, the Cipher section with three choices, then Keyslot factor and Keyslot variant; Create vault button at the top right
The Create form. The sections run from the vault file at the top to the hardening options at the bottom; Create vault is at the top right.

The form

Vault file

Type the path of the new vault, or click Browse. The GUI refuses to create the vault if the vault file, its detached header, its anchor or its .kyber seed file already exists (a red error names the file). Since 0.6.0 this is checked before anything is written, so a failed create never touches another vault's files.

Tick Use a detached header sidecar to write the header to a separate .hdr file (the .lbx alone then looks like random data); a second path field appears for it.

Tick Use a deniable header for a deniable vault (see Deniable mode below).

Keyslot factor and variant

Pick the factor under Keyslot factor, then the exact kind under Keyslot variant:

Factor Variants
Passphrase only Plain passphrase; hybrid passphrase + ML-KEM-768 or ML-KEM-1024 (post-quantum)
FIDO2 authenticator FIDO2 (wrap); FIDO2-direct; hybrid FIDO2 + ML-KEM-768 or ML-KEM-1024
TPM 2.0 (this machine) (Linux, Windows) TPM 2.0; TPM 2.0 + PIN; fused TPM 2.0 + FIDO2; hybrid TPM 2.0 + ML-KEM-768 or -1024; 3-factor TPM 2.0 + FIDO2 + ML-KEM-768 or -1024
Secure Enclave (this Mac) (macOS) Secure Enclave; Secure Enclave + Touch ID; hybrid Secure Enclave + ML-KEM-768 or -1024; fused Secure Enclave + FIDO2 or + passphrase, also as ML-KEM hybrids

Each variant has a one-line explanation in the form. When to pick what:

Kind When to pick
Passphrase Default; most users
FIDO2 (wrap) Hardware-key users; add a passphrase or second key as backup afterwards in Keyslots
FIDO2-direct High-paranoia: the key is the only way in unless you tick Enable backup passphrase
Hybrid + ML-KEM-768 Long-term confidentiality (post-quantum); needs a .kyber seed file
Hybrid + ML-KEM-1024 Same, NIST category 5 (~AES-256 post-quantum strength)
TPM 2.0 / Secure Enclave Vault bound to this machine. A bootstrap passphrase slot is kept as recovery (plain TPM 2.0 and Secure Enclave kinds can skip it); the fused and hybrid TPM kinds get one only if you tick the recovery-passphrase option

Picking a hybrid kind reveals a .kyber seed file path (where to save the seed: keep it on separate trusted storage) and its passphrase.

FIDO2 kinds use the authenticator selected in the sidebar's FIDO2 AUTHENTICATOR picker (pick one explicitly when several are plugged in) and ask for its FIDO2 PIN. On Windows there is no PIN field (0.6.1+): Windows asks for the PIN in its own security-key prompt.

For TPM kinds on Linux and Windows the form also shows Pin the TPM storage root key in new TPM keyslots (0.6.0+, off by default); see TPM storage root key pinning.

The sidebar FIDO2 AUTHENTICATOR picker open, listing two plugged-in keys: a YubiKey and a Google Titan Security Key
The FIDO2 AUTHENTICATOR picker in the sidebar. Check which authenticator is selected before creating, so the GUI doesn't use the wrong key when several 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.

KDF strength (Argon2id)

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

The times are typical; luksbox kdf-bench on the command line measures them on your own CPU.

The KDF STRENGTH (ARGON2ID) dropdown open, listing Interactive, 256 MiB / 3 iter (about 500 ms), Moderate, 512 MiB / 4 iter (about 1.5 s) and Sensitive, 1 GiB / 5 iter (about 3-4 s)
The KDF strength dropdown.

Passphrase

The passphrase field has:

Passphrase generator dialog with a length slider, checkboxes for lowercase, uppercase, digits and symbols, a preview with the entropy estimate, and Use this passphrase / Re-roll / Copy to clipboard / Cancel buttons
The generator produces strong random passphrases (default: 20 characters). Use this passphrase puts the result into the Create form's passphrase field.

For FIDO2-direct, tick Enable backup passphrase to add a passphrase keyslot wrapping the same master key, so losing the YubiKey doesn't mean losing the vault. FIDO2 (wrap) vaults are created with the FIDO2 slot only: add the backup afterwards in Keyslots.

Vault size

The maximum size of the vault file: Unlimited by default (the vault grows as you add files). Drag the slider, or type an exact value in the field next to it (6G, 500M, 1.5G); the line under it shows what the value was understood as, and warns when it is more than the free space on the disk. Writes that would grow the vault past the limit fail as on a full disk. You can change it any time from Vault size once the vault is open. Needs the v0.2.1 on-disk format (the default). New in 0.6.1: a vault with a maximum size needs LUKSbox 0.6.1 or later to open.

Hardening

The Hardening section at the bottom of the form:

The two collapsed panels are not shown for FIDO2-direct.

On-disk format

Two checkboxes, both ticked by default:

Deniable mode

Tick Use a deniable header in the Vault file section 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 mode is on the Create form changes in four ways:

A deniable vault is never added to the recent-vaults list.

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

Hardening section: the Rollback-detection anchor checkbox with its path field and Browse for anchor save location..., and the Advanced size-hiding (paranoid) panel open with Pad files to power-of-2 chunks and Hide exact sizes
Hardening options. Most users leave these alone; tick them when the threat model warrants it.

Creating

Click Create vault at the top right. 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 to register a new credential, once to derive the keyslot secret)

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, by dropping files from your file manager onto the file list, 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
"... already exists" The vault path (or its header, anchor or .kyber path) is taken Pick a different name, or move the old file aside
"No FIDO2 authenticator detected ..." No device plugged in or libfido2 can't see it Plug in / check udev rules on Linux (install guide), then Re-detect
"hybrid mode requires a path for the .kyber seed file" Hybrid-PQ kind selected but no seed file path given Fill the .kyber path
"maximum size: ..." The maximum size field holds a value LUKSbox cannot use Fix the value (the line under the field says why)

An empty passphrase is not an error, but the GUI asks for a confirmation first: anyone with the .lbx file could open such a vault.

Next