As an Admin I can import passwords from Enpass (json export)

Q1. What is the problem that you are trying to solve?
I want to batch import Enpass json export passords into Passbolt.

Q2 - Who is impacted?
Just Admin or User that import passwords from the interface.

Q3 - Why is it important and/or urgent?
This is not urgent as I did get a solution.

Q4 - What is your proposed solution? (optional)
I did succed batch import Enpass json export.
First I exported json format all my passwords from Enpass (with notes included)
Here is the script I write by hand, that filter only ‘login’ items from JSON and create a compatible Csv Lasspass format

csv_import = json_export.items
 .filter((item) => item.category === 'login')
 .reduce((current, item) => {
     current.push([
         item.fields[3].value,
         item.fields[0].value,
         item.fields[2].value,
         '',
         item.title,
         '',
         '',
     ])
     return current;
 }, [["url","username","password","extra","name","grouping","fav"]])
 .map((item) => item.join(','))
 .join("\n")

Q5. Community support
I’m not allowed to create polls !

Hey @matyo91,

Thanks for the proposal, yeah JSON import and export are considered.
@antony if you can consider Enpass in the upcoming sprint :+1:

Cheers,
Max

2 Likes

Thanks @max

I did get a little update on the script, since Enpass use username and email fields

csv_import = json_export.items
 .filter((item) => item.category === 'login')
 .reduce((current, item) => {
     current.push([
         item.fields[3].value,
         item.fields[0].value || item.fields[1].value,
         item.fields[2].value,
         '',
         item.title,
         '',
         '',
     ])
     return current;
 }, [["url","username","password","extra","name","grouping","fav"]])
 .map((item) => item.join(','))
 .join("\n")
1 Like