Working with Msecure Imports

I am moving from msecure to bitwarden. I stood up Bitwarden on a Raspberry Pi and imported a portion of my records.

When looking at Bitwarden’s import options, I saw that I could import msecure csv so I decided to try about 300 records, web logins. Unfortunately, they didn’t go into the login area, I now have about 300 “folders”. From looking at the entries, its obvious that I need to tweak the csv before importing, but right now I need to be able to remove all of these entries.

How can a person bulk remove these folders? Right now I can only remove a single folder at a time, and it’s really a pain in the hind end. If there is a way to do a bulk remove, I appreciate it.

Daryl

I found a “Purge Vault”. That solved my issues.

Thank you.

Daryl

1 Like

Hi @rosede and welcome to the community.

It’s not unlikely that the format of the export of mSecure has changed since the importer was written. Based on the current mSecure importer, it looks for the folderName in the first column. If you don’t need any folders you could add Unassigned into all cells in the first column. The second columsn seems to be either Web Logins or Login, followed by columns for the credentials (url, username, password).

If those basic changes to the csv do not lead to a successful import, please post a redacted version of the mSecure export. This would help in verifying the issue and possibly adding a fix for future users.

Kind regards,
Daniel

Daniel.

Thanks for the information. I was able to get the data imported. mSecure recently updated their app and a lot changed, I’m pretty sure that the csv export format changed. It looks a lot different from what I remembered it looked like the last time that I did an export. I was able to figure out what I needed and get the file set up correctly.

I have a few additional questions about Bitwarden, but I’ll post new topics for them.

Daryl

Hi Daryl, I just signed up our team for Bitwarden, and I have a similar problem that you experienced, in that Bitwarden’s current field mapping for an exported mSecure CSV file is an epic fail on import (fields incorrectly assigned, created a new folder for EVERY record, etc.).

As you obviously know, here is what a record exported from the current version of mSecure looks like (I replaced real data with X’s):

British Airways Executive Club|8889XXXX,Login,Your membership number is: 000934XX,URL|2|britishairways.com,Username|7|[email protected],Password|8|XXXXXXXXXXXXXXXXX

Were you able to create a working import/mapping for mSecure? I don’t have the know-how to write an Excel function that truncates every field (i.e. the password field is exported as “Password|8|XXXX…” and not just the password) to get it working to BW’s manual conditioning format (unless I want “password|8|” prepended to every password, “username|7|” prepended to every username, etc.). And as I have a LOT of info saved in mSecure (478 records, mostly but not all logins), manual entering or editing is not an option.

Thanks in advance for any help!

Hey Everyone, just wanted to share a new write-up from Adam on our CS team!

mSecure have recently changed their Vault Export Format, and as a result the Bitwarden importer tool no longer works to parse mSecure Vaults.

It is always possible to create a Bitwarden Conditioned .csv file, which let’s users copy and paste the output from their previous 3rd party vaults into the Bitwarden standard format. This is a technique that has many uses - Vault Management can effectively be performed en-mass in a tool like Microsoft Excel. The documentation for this process can be found here:

https://bitwarden.com/help/article/import-data/
https://bitwarden.com/help/condition-bitwarden-import/

Unfortunately, the new mSecure export format is rather difficult to work with, using as it uses pipe separators ( | ) in a single cell to delineate different values. For example:

‘Username|7|test’

This can be difficult and time-consuming to separate out into the correct values for a Bitwarden .csv.

Until an updated version of the importer tool is available, you can use the following Excel formula to create a workaround and separate out your data. Feel free to modify these as you see fit - Excel is very easy to work with!

Formula #1

=LEFT(A2,FIND(“|”,A2) -1)

Example mSecure Data:

test email account|465200647

Example Output:

test email account

Explanation of Formula:

This formular searches cell A2 for the “|” symbol, and then returns everything to the left of that symbol.

Formula #2

=IF(ISERROR(TRIM(MID(F2,FIND(“#”,SUBSTITUTE(F2,“|”,“#”,2))+1,255))),“”,TRIM(MID(F2,FIND(“#”,SUBSTITUTE(F2,“|”,“#”,2))+1,255)))

Example mSecure Data:

Username|7|test

Example Output:

test

Explanation of Formula:

This formula searches F2 for the second instance of “|”, and returns a trimmed string of 255 characters from that point onwards. (If you need more than 255 characters, simply replace the 2 instances of ‘255’ with larger numbers.)

The formula will also return a blank cell (rather than an error value) if there is no data to return for that Vault entry.

For anyone having the same issue, without hitting this post, I created a Java-based importer for the mSecure export to Bitwarden. It’s basically a wrapper for BW CLI and using its “serve” capability to offer a HTTP endpoint, that then I access to make any operations with VaultManagement.
The code is extremely badly written (not robust, fragile, hardcoded), as I was doing it via a couple of 1 hour sessions late in the evening.
If anyone needs it AND is a programmer so he/she can modify it at their own leasure, ping me in this forum and I’ll add you to that github private repo.

Thanks for the great post. I needed these formulas to change the mSecure export to match the Bitwarden conditioned .csv.

Please note that, when copying the formulas, the quotation marks may be different from the ones in your version of Excel. So, when you get an error, first try deleting the quotation marks in the copied formulas and then add them again. You will probably see they look a bit different.

After that, the formulas work flawlessly! Thanks!