Catch and prompt user of potential duplicate passwords on import

Feature name:

  • import_warden

Feature Description

  • The intent of this feature is to prompt the user of imported password entries that overlap with current passwords.
  • The goal is to compare imported password files against current password entries, and prompt the user when there are import passwords that have the same domain and username as existing passwords.
  • The plan of attack is to add to or supplement the current import API to load existing passwords as an object, load import passwords as an object, compare the two objects, and prepare a new object containing duplicates. This duplicate object can then be rendered in the UI to let a user view the duplicates. User will then decide and command which of the current vs imported passwords to keep, or to keep both.

Clients / Repos Affected:

  • Web

Timeline to completion (estimate): unknown

ETA: Q2/2021

1 Like

Hi all,

This topic is for discussion of this feature, refining of the things to add, and the plan of attack.

I am a noob to C#, but I’ve worked with python, bash, and html/css/javascript enough to be open to trying. My goal is to treat this as a project for learning, which unfortunately means it might take longer than someone well versed in C# and the bitwarden application. I like bitwarden, so I see this as a way of giving back. If it is inappropriate to work on this feature for these reasons, please let me know.

Best,
SnailsToGo

@SnailsToGo, this looks promising so I would say go for it. As far as anything to add, you may want to start with simple wire-frames and a flow, from the front-backwards as far as design. This would have to be completely done client-side as you can’t compare encrypted blobs against each other on the server-side of things, so there would be zero C# to write, only TypeScript (Angular), HTML and SCSS (we’re using Bootstrap). There would be impacts/changes to jslib and web for this, but everything else server-side should flow through normally for the import itself… I would see this as an intermediary step to saving the imported items. Once you have some wire-frames as a lightweight PoC I’m sure you’ll be able to get more community feedback.

Thank you for the contribution!