Chat support available. Click the chat icon on the bottom right corner to start chatting with us right away!

mSecure Support

Knowledge Base Forums Submit a ticket

Importing a CSV file question on msecure 6

I have quite a few passwords in my mSecure 6  on my iPad and Desktop.

I've been provided a huge password text file from my elderly father which is now a csv file.  I'm going to modify it to add a new group, type, description etc.

I just have a few questions.  

1. If I import the data into the Desktop version of mSecure 6, will it just add the records to the existing ones, or will it wipe all my existing records in the process.

2. Also, I was looking at the "Import from a CSV file" webpage which is for mSecure 5.  Is it exactly the same for mSecure 6 albeit replacing the group with a tag?

3. Lastly, if I create a new Group, and Type in the template, and add the relevant fields to that of the csv file, will it read them in properly, or do you have to use a default type?

I'm just really hesitant to import a record and possibly screw up all my existing data.  


Hi Geoff,

Thank you for contacting us. The CSV import feature is different in v6, and actually much improved. Unfortunately, we don't have support article to help with the changes just yet, but I do have information to help.

First, when you import a CSV, the data is merged in with your current data. Your current information is not overwritten. That being said, please do make new backup before importing the CSV just in case something happens that I'm not able to foresee. That way, you can always restore from the backup if something goes wrong. Probably a silly thing to have to mention, but I always like to just in case.

Here is a run-down of the logic for CSV imports. The formatting for each row, or record, is outlined below:

<title|record-ID>,<template-name>,<tags>,<note>, <field-labe1|field-type1|field-data1>,<field-label2|field-type2|field-data2>

There are a few things I need to go over. First, the pipes included in the format are part of the actual CSV data structure. They are not there to simply separate words, if that makes sense. The angled brackets, on the other hand, are purely visual and should not be included in the actual CSV data. 

Second, much of the data for each row is optional. For example, the "record-ID" after the pipe in the first field should not be used when importing new information. That should only be included if the CSV data was exported from mSecure originally and is only used to make sure duplicates are not created. In your situation, you would only include the title for the record.

Third, when not including a certain property delimited by a pipe, the pipe character should be left out. For example, again using the first field, you would only include the title, and there would be no pipe added to the field data in the CSV. Pipe characters are only included when you are making use of a property for the field.

Fourth, each field, those entries that come after the <note> field, has 3 properties: label, type and data, and all are optional. If only a comma is separating one field from the next, ie. two commas in succession, then an empty field should be created with a default label. This is a very uncommon scenario so only added to be thorough.

Fifth, multiple tags must be separated by a comma enclosed in one set of quotation marks like this: Title,Login,"tag1,tag2,etc",Some notes...

Now for an example record using the default Login template. Here is what the CSV entry would look like:

Netflix,Login,"entertainment,family,subscriptions",Signed up on 2/15/2017,Website|2|,Username|7|,Password|8|P@$$w0rd,Custom Field1 Label|0|Custom Field1 Data,Custom Field2 Label|1|Custom Field2 Data

In the above row, here's how it would be translated by mSecure:

Title: Netflix

Template: Login

Tags: entertainment, family, subscriptions

Note: Signed up on 2/15/2017

Field 1:

  1. Label: Website
  2. Type: URL
  3. Data:

Field 2:

  1. Label: Username
  2. Type: Username
  3. Data:

Field 3:

  1. Label: Password
  2. Type: Password
  3. Data: P@$$w0rd

Custom Field 1:

  1. Label: Custom Field1 Label
  2. Type: Text
  3. Data: Custom Field1 Data

Custom Field 2:

  1. Label: Custom Field2 Label
  2. Type: Text (no auto-correct)
  3. Data: Custom Field2 Data

I'm attaching a CSV file with one field of every type, so you can see the code you would use for each of them. For example, the URL field type ID is 2, Username type is 7, Password type is 8, and so on. You'll see all of the codes in the attached CSV file.

_csv-ex.csv _csv-ex.csv
462 Bytes

Awesome stuff Mike.  Thanks for the explanation.  It makes perfect sense.

I'll do a test run with a single record tonight when I get home from work and see how it goes.  Fortunately, the file I have is pretty simple albeit a lot of records.  It's a Group Name, Title, Username, Password, and Notes field so it should be simple enough to modify the spreadsheet with the data to format it all correctly for the Import.

Thanks again for the details explanation.  You should copy and paste that to a new webpage for others to follow ;)  I'll let you know if I have any issues.


Login or Signup to post a comment