TUI Guide¶
The TUI is the default terminal experience for the native generator. It keeps the product flow direct:
Configure
Generate & Audit
Results
Configure¶
The left column exposes the generation inputs:
password length
password count
audit batch size
lowercase / uppercase / digits / symbols toggles
extended printable ASCII toggle
ambiguous-character exclusion
compliance framework selection
minimum lowercase / uppercase / digit / symbol requirements
custom charset override
The right column shows the current validation state, effective charset size, and framework constraints.
Render Capture¶
The TUI keeps the same branded three-step flow, but it now runs entirely on the native Rust core. A typical configure screen looks like this:
paranoid-passwd · Configure
Configure the local generator and audit before any password is shown.
Wizard Audit Preview
› Password length: 32 Mission local secrets, verifiable trust.
Number of passwords: 1
Audit batch size: 500 Effective charset: 72 characters
Lowercase [a-z]: ON Manual requirements: 4 total constrained characters
Uppercase [A-Z]: ON Frameworks: nist, pci_dss
Digits [0-9]: ON
Symbols: ON Ready: 72 chars, 1 passwords, 197.18 bits of entropy...
... Controls: Up/Down move, Left/Right adjust, Enter run
The results screen keeps the generator-wide audit separate from per-password verdicts:
paranoid-passwd · Results
Native generation complete. Review the verdict and derived details.
Primary Password
••••••••••••••••••••••••q7$A
SHA-256: <hex>
Additional passwords: 2
Verdict: PASS
Controls¶
↑ / ↓: move between fields← / →: adjust valuesSpace: toggle the current boolean or frameworkEnter: edit the custom charset or start the auditq: quit
On the results screen:
← / →: switch detail tabsc: copy the generated password to the system clipboardr: return to configurationq: quit
Clipboard copies from the generator and vault views are cleared automatically after 30 seconds if the clipboard contents have not changed.
Audit Model¶
The audit still runs seven layers:
password generation
chi-squared uniformity
serial correlation
collision detection
entropy and uniqueness proofs
pattern detection
threat assessment / compliance roll-up
The TUI shows stage progression in real time while the background worker runs the native Rust core.
One important change from the old implementation: the results view now keeps per-password checks and generator-wide statistical checks visibly separate. A password can fail its selected framework or pattern review even when the generator-wide batch statistics pass.
Vault View¶
The same binary also exposes a native vault TUI:
paranoid-passwd vault
On an interactive terminal, that opens a native vault CRUD view backed by the same unlock policy as the headless vault CLI:
password recovery via
PARANOID_MASTER_PASSWORDor--password-envwallet-style mnemonic recovery via
--recovery-phrase-envpasswordless device-bound unlock when a sole device slot exists, or via
--device-slotcertificate-backed unlock via
--certand--key
If those shell-level inputs are unavailable, the blocked screen now includes a native unlock form for the same recovery-secret, mnemonic, device-slot, and certificate-backed paths.
The current vault TUI supports the first native vault workflows:
item list navigation
in-memory filtering of unlocked items via
/, with explicit query, kind, folder, and tag fieldsselected-item detail
add-login form
add-note form
add-card form
add-identity form
edit-login form
edit-note form
edit-card form
edit-identity form
optional folder field on login, secure-note, card, identity, and generate-and-store forms
tag editing on login, secure-note, card, identity, and generate-and-store forms
generate-and-store can now rotate the selected login in place instead of always creating a second entry
selected-login detail now shows encrypted password-history retention after rotations
login list/detail views now flag duplicate current passwords elsewhere in the unlocked vault
selected-card detail shows masked payment-card metadata and billing notes
selected-identity detail shows preferred contact metadata and profile notes
dedicated keyslot view via
kmnemonic recovery-slot enrollment with one-time phrase reveal
device-bound keyslot enrollment
certificate-wrapped keyslot enrollment from a PEM path
selected certificate-slot rewrap to a replacement PEM via
w, with optional replacement key path and passphrase fields to keep an active certificate-authenticated session aligned after rotationcertificate-slot detail now includes subject and validity so cert rotation pressure is visible without leaving the native UI
the add/rewrap certificate forms now preview the PEM path before mutation so a wrong recipient certificate can be caught before enrollment or rewrap
certificate-backed keyslot detail now surfaces shared health warnings for not-yet-valid, expired, or near-expiry recipient certs
selected keyslot relabeling via
lselected mnemonic-slot rotation via
o, with a dedicated confirmation screen before the replacement phrase is shown oncerecovery-secret rotation from the keyslot view via
pselected non-recovery keyslot removal via
d, with a second confirmation press when the removal would weaken recovery, certificate, or passwordless-unlock coverageselected device-slot rebind via
rencrypted backup export via
xencrypted backup import via
uencrypted transfer export via
tencrypted transfer import via
pbackup package summary preview on export and import panels before writing or restoring
transfer-package summary preview on export and import panels before writing or importing
delete confirmation
generate-and-store form
clipboard copy of the selected password, note, card number, or preferred identity contact value
native unlock form on the blocked screen
unlock retry / refresh
Vault filter controls:
/: open the structured vault filter editorTab / Shift-Tab: move between query, kind, folder, and tag fieldsLeft / Right / Space: cycle the selected item kind when the kind field is activeCtrl-U: clear the selected vault filter fieldEnter / Esc: leave filter edit mode while keeping the active filters applied
The backup flows follow the same pattern as the rest of the vault TUI: x opens an export form that writes a portable JSON package containing the current encrypted header and ciphertext rows, and u opens an import form that restores that package back into the current vault path with explicit overwrite confirmation.
Selective transfer flows now live beside backup/restore in the same native vault surface: t opens an export form that writes only the currently filtered decrypted item payloads into a separate encrypted transfer package, and p opens an import form that brings one of those packages into the unlocked local vault using either the package recovery secret or a certificate keypair.
When the vault is unlocked in either native interactive surface, inactivity now triggers an automatic lock after 5 minutes and clears the cached decrypted list/detail state before returning to the unlock view.
The GUI now mirrors the same native keyslot inspection, recovery-posture reporting, shared keyslot recommendations, enrollment, mnemonic rotation, certificate rewrap, relabel, recovery-secret rotation, posture-aware removal confirmation, and rebind flows, direct unlock model, folder-plus-tag organization model, backup and transfer export/import flows, clipboard auto-clear, and idle auto-lock behavior, so mnemonic, device-bound, certificate-wrapped recovery, and encrypted vault exchange no longer depend on CLI-only administration.