Hexandcube's Secretfile Editor

This simple app is an easy way to create, view, and edit Secretfiles, which store 2FA OTP secrets in a safe and easy to access way.


Secretfile Editor

Add Entry Open Secretfile Save Secretfile Clear Secretfile

Secretfile Viewer

About Secretfile Editor

What is the Secretfile Editor

Secretfile editor is a simple app that allows you to create, edit and view secretfiles - a special file format used for storing 2FA OTP secrets. Secretfiles store OTP secrets, OTP lenths, times, account names, and logins. They can be encrypted with a AES-256 bit key generated from a passphrase.

Secretfile editor has 2 modules:

  • Editor - allows you to create, edit, and save secretfiles.
  • Viewer - allows you to view, print, and easily import entries to your authenticator app.

Secretfile editor is fully open source, and written in plain JavaScript. The source code is available to view on GitHub.

It's recommended to download and run the Secretfile Editor locally on your computer. Download the zip file here, extract it and open index.html in your web browser.

The secretfile file format (version 1)

A secretfile is a JSON file with the .secretfile.json file extension. Data is stored in the following format:

                    
{
  "version": 1,
  "encrypted": false,
  "metadata": {
    "owner": "Hexandcube (hexandcube@hexandcube.eu.org)"
    "description": "Hexandcube's Personal Accounts"
  },
  "entries": [
    {
      "entryId": 1,
      "accountName": "Test Account 1",
      "accountLogin": "example1@hexandcube.eu.org",
      "otpSecret": "DFSDG2342624362463",
      "otpDigits": 6,
      "otpTime": 30
    },
    {
      "entryId": 2,
      "accountName": "Test Account 2",
      "accountLogin": "example2@hexandcube.eu.org",
      "otpSecret": "HEXTEST012223",
      "otpDigits": 6,
      "otpTime": 30
    },
    {
      "entryId": 3,
      "accountName": "Test Account 3",
      "accountLogin": "example3@hexandcube.eu.org",
      "otpSecret": "TST30922231",
      "otpDigits": 8,
      "otpTime": 60
    }
  ]
}
                    
                
  • version - Specifies the version of the secretfile format
  • encrypted - Specifies weather or not the entries in the file are encrypted
  • metadata - An object containg metadata about the current file. This object is optional, and doesn't exists in secretfiles generated before editor version 1.2
    • owner - The name or email identifing the owner of the secretfile
    • description - A short description of a secretfile
  • entries - An array of entries - each entry corresponds to a different user account
    • entryId - Unique entry identifier in the file
    • accountName - The name of the service the account is for (e.g. Google Account). This string can be encrypted.
    • accountLogin - Login (username/email address) of that exact account. This string can be encrypted.
    • otpSecret - The secret used for generation of OTP tokens. This string can be encrypted.
    • otpDigits - Length of the OTP tokens
    • otpTime - OTP token validity time in seconds