Credential Lifecycle
Create
Section titled “Create”- User fills form in
AddCredentialModal. - Secret fields are packaged by
useEncryption().encryptCredential(). - Encrypted blob is written to
credentials.secret_blob. - Metadata is stored alongside encryption timestamp.
Update
Section titled “Update”EditCredentialModalloads row metadata and decrypts existingsecret_blobif vault is unlocked.- Updated secret values are re-encrypted.
- Update payload explicitly includes valid DB columns.
Reveal
Section titled “Reveal”- Edit flow (
EditCredentialModal) decryptssecret_blobwhen vault is unlocked and pre-fills form values. - Detail flow (
CredentialDetailModal) currently shows legacy plaintext columns and does not yet decryptsecret_blob. - This means encrypted-only records are best inspected through edit flow at present.
Delete
Section titled “Delete”CredentialDetailModaldeletes row byidafter user confirmation.
Search and filter
Section titled “Search and filter”- In-memory filtering by title, description, category, type, and tags.
- Category list merged from default and user-specific categories.
Compatibility notes
Section titled “Compatibility notes”Some legacy plaintext-oriented fields/components still exist; current expected secure path is secret_blob driven.