From e4b44a73ea7d86467060d2b9a4b43e5f1a0a09f2 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 26 Mar 2026 20:11:05 +0000 Subject: [PATCH] feat: masked passwords UI with vault-gated reveal MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Passwords imported from password managers are now: - Displayed as dots (••••••••) by default in both options and popup - Separated into their own "Passwords" section in options page - Only revealable by entering the vault encryption password - Always masked in the popup mappings list (no reveal there) Options page: - New Passwords section with locked/unlocked states - Reveal button validates against vault encryption password - Hide button re-masks all password values - Password mappings excluded from the general Mappings table - Delete and enable/disable controls work while masked Popup: - Password-category mappings show dots for real value - Password category added to mapping add form dropdown Storage: - Added 'password' to default categories list https://claude.ai/code/session_01SWSwDfMVij53bCTNSCLMwn --- src/lib/storage.js | 2 +- src/options/options.html | 42 ++++++++++++++++ src/options/options.js | 101 ++++++++++++++++++++++++++++++++++++++- src/popup/popup.html | 1 + src/popup/popup.js | 2 +- 5 files changed, 144 insertions(+), 4 deletions(-) diff --git a/src/lib/storage.js b/src/lib/storage.js index b4d3ab3..9a60b2d 100644 --- a/src/lib/storage.js +++ b/src/lib/storage.js @@ -40,7 +40,7 @@ const DEFAULT_SETTINGS = { autoAddDetected: true, maxLogEntries: 200, customDomains: [], - categories: ['name', 'email', 'phone', 'address', 'ssn', 'dob', 'domain', 'general'], + categories: ['name', 'email', 'phone', 'address', 'ssn', 'dob', 'domain', 'password', 'general'], browserSync: false, }; diff --git a/src/options/options.html b/src/options/options.html index f71b13f..c4dc127 100644 --- a/src/options/options.html +++ b/src/options/options.html @@ -463,6 +463,7 @@ +