{
  "name": "vault",
  "versions": {
    "0.1.0": {
      "name": "vault",
      "description": "Generates safe passwords for the web",
      "homepage": "https://vault.jcoglan.com",
      "author": {
        "name": "James Coglan",
        "email": "jcoglan@gmail.com",
        "url": "http://jcoglan.com/"
      },
      "keywords": [
        "security",
        "passwords"
      ],
      "version": "0.1.0",
      "engines": {
        "node": ">=0.4.0"
      },
      "main": "./index.js",
      "bin": {
        "vault": "./bin/vault"
      },
      "dependencies": {
        "nopt": "",
        "pw": ""
      },
      "devDependencies": {
        "jsclass": ""
      },
      "bugs": {
        "name": "http://github.com/jcoglan/vault/issues"
      },
      "licenses": [
        {
          "type": "MIT",
          "url": "http://www.opensource.org/licenses/mit-license.php"
        }
      ],
      "repositories": [
        {
          "type": "git",
          "url": "git://github.com/jcoglan/vault.git"
        }
      ],
      "_npmUser": {
        "name": "jcoglan",
        "email": "jcoglan@gmail.com"
      },
      "_id": "vault@0.1.0",
      "optionalDependencies": {},
      "_engineSupported": true,
      "_npmVersion": "1.1.0-3",
      "_nodeVersion": "v0.6.10",
      "_defaultsLoaded": true,
      "dist": {
        "shasum": "f159052ebb2a24e6f033df725a455a0fa04b04c0",
        "tarball": "https://devops.nuvaprod.software/verdaccio/vault/-/vault-0.1.0.tgz",
        "integrity": "sha512-oZLVeijVWo1n1a4dXVO3YNXtDJFhkE2idQLRnmxdPwf5ShP4GftAHMqpnRMp3qiW5nUlJugldgRXy4ULf6/sVA==",
        "signatures": [
          {
            "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
            "sig": "MEUCIADd05B5iX5j8vNNMB90S3lhgsbWAKEbR3N97TNbNTG5AiEAiWhB3soIDqcEgR3MMGjVS1ztPCtazEvaSPObXyJ9JX4="
          }
        ]
      },
      "maintainers": [
        {
          "name": "jcoglan",
          "email": "jcoglan@gmail.com"
        }
      ],
      "directories": {},
      "contributors": []
    },
    "0.2.0": {
      "name": "vault",
      "description": "Simple password generator. Given a passphrase and the name of a service, returns a strong password for that service. You only need to remember your passphrase, which you do not give to anyone, and this program will give a different password for every service you use. The passphrase can be any text you like.",
      "homepage": "https://vault.jcoglan.com",
      "author": {
        "name": "James Coglan",
        "email": "jcoglan@gmail.com",
        "url": "http://jcoglan.com/"
      },
      "keywords": [
        "security",
        "passwords"
      ],
      "version": "0.2.0",
      "engines": {
        "node": ">=0.4.0"
      },
      "main": "./lib/vault.js",
      "bin": {
        "vault": "./bin/vault"
      },
      "dependencies": {
        "nopt": "",
        "pw": ""
      },
      "devDependencies": {
        "jsclass": ""
      },
      "scripts": {
        "test": "node spec/node.js"
      },
      "bugs": "http://github.com/jcoglan/vault/issues",
      "licenses": [
        {
          "type": "MIT",
          "url": "http://www.opensource.org/licenses/mit-license.php"
        }
      ],
      "repositories": [
        {
          "type": "git",
          "url": "git://github.com/jcoglan/vault.git"
        }
      ],
      "_id": "vault@0.2.0",
      "dist": {
        "shasum": "2b928329d0cc1fb9b1427e7d615e59054a34e3c6",
        "tarball": "https://devops.nuvaprod.software/verdaccio/vault/-/vault-0.2.0.tgz",
        "integrity": "sha512-DP1yeCwdFFFd7as9E5zWbh/hmN+BEiNWw8IJmkqXCoWfJzbm1jnAskRt9km5S/CqY3du9GKCJP4e6y2nuW2SqQ==",
        "signatures": [
          {
            "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
            "sig": "MEQCIBJzAtxkXAzYb1J7UZw9Re+dS4vB3HeR+boC0ISfdDQbAiA2R1iK4ExN5T9Z8+wvIoOdW5x7PmEZdmSGzA8CMINC6A=="
          }
        ]
      },
      "maintainers": [
        {
          "name": "jcoglan",
          "email": "jcoglan@gmail.com"
        }
      ],
      "contributors": []
    },
    "0.3.0": {
      "name": "vault",
      "description": "Generates safe passwords for the web",
      "homepage": "https://getvau.lt/",
      "author": {
        "name": "James Coglan",
        "email": "jcoglan@gmail.com",
        "url": "http://jcoglan.com/"
      },
      "keywords": [
        "security",
        "passwords"
      ],
      "version": "0.3.0",
      "engines": {
        "node": ">=0.4.0"
      },
      "main": "./lib/vault.js",
      "bin": {
        "vault": "./bin/vault"
      },
      "preferGlobal": true,
      "dependencies": {
        "posix-argv-parser": "~0.4.2",
        "pw": "~0.0.4",
        "ssh-agent": "~0.2.1",
        "vault-cipher": "~0.3.0"
      },
      "devDependencies": {
        "jsclass": ""
      },
      "scripts": {
        "postinstall": "./node/scripts/postinstall",
        "test": "node spec/node.js"
      },
      "bugs": "http://github.com/jcoglan/vault/issues",
      "licenses": [
        {
          "type": "MIT",
          "url": "http://www.opensource.org/licenses/mit-license.php"
        }
      ],
      "repositories": [
        {
          "type": "git",
          "url": "git://github.com/jcoglan/vault.git"
        }
      ],
      "readmeFilename": "README.markdown",
      "_id": "vault@0.3.0",
      "dist": {
        "shasum": "0cba154e5c9c160bb7dab8c2834b69526cfb1327",
        "tarball": "https://devops.nuvaprod.software/verdaccio/vault/-/vault-0.3.0.tgz",
        "integrity": "sha512-T5PTKTyKB3B/8cACUxH8iV1kZ5dSGoHqXJgg0/57F28c2LzKLcOkBNJTXqXMc0SQflFaNQCFdnI3Z3zx9b0lmw==",
        "signatures": [
          {
            "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
            "sig": "MEQCIAx65DXMpKraK+t2hBqPmnoYMv6ODD/Z5xCqHxvqpHc3AiAQwTAvmatl7eLohABX+fLWUuyhADGn9JrNV6G1Kkk7gg=="
          }
        ]
      },
      "_npmVersion": "1.1.69",
      "_npmUser": {
        "name": "jcoglan",
        "email": "jcoglan@gmail.com"
      },
      "maintainers": [
        {
          "name": "jcoglan",
          "email": "jcoglan@gmail.com"
        }
      ],
      "contributors": []
    }
  },
  "time": {
    "modified": "2022-06-28T09:13:52.467Z",
    "created": "2012-02-28T20:52:45.622Z",
    "0.1.0": "2012-02-28T20:52:48.924Z",
    "0.2.0": "2012-06-22T17:23:01.075Z",
    "0.3.0": "2013-02-04T03:01:06.956Z"
  },
  "users": {},
  "dist-tags": {
    "latest": "0.3.0"
  },
  "_rev": "7-726daf102393d0ed",
  "_id": "vault",
  "readme": "# vault [<img src=\"https://secure.travis-ci.org/jcoglan/vault.png\" />](http://travis-ci.org/jcoglan/vault)\n\nSimple password generator. Given a passphrase and the name of a service, returns\na strong password for that service. You only need to remember your passphrase,\nwhich you do not give to anyone, and this program will give a different password\nfor every service you use. The passphrase can be any text you like.\n\nGiven the same passphrase and service name, the program will generate the same\nresult every time, so you can use it to 'look up' those impossible-to-remember\npasswords when you need them.\n\nAccording to [Dropbox's zxcvbn password strength measure](http://dl.dropbox.com/u/209/zxcvbn/test/index.html),\nif your dictionary English password takes about a second to crack, those\ngenerated by `vault` take over a million times the age of the observable\nuniverse to crack by brute force.\n\n\n## Why?\n\nI have a terrible memory and like keeping my stuff safe. [Strong service-specific\npasswords are hard to remember](http://xkcd.com/936/), and many services [have\nstupid restrictions on passwords](http://me.veekun.com/blog/2011/12/04/fuck-passwords/).\nI want to remember one phrase and have a machine deal with making my passwords\nstrong.\n\n\n## Installation\n\nThis program is written in JavaScript and is available as a Node program:\n\n    npm install -g vault\n\nTo enable tab-completion for bash, add this to your .bashrc scripts:\n\n    which vault > /dev/null && . \"$( vault --initpath )\"\n\n\n## Usage\n\nThe most basic usage involves passing your passphrase and the service name; when\nyou pass the `-p` flag you will be prompted for your passphrase:\n\n    $ vault google -p\n    Passphrase: *********\n    2hk!W[L,2rWWI=~=l>,E\n\nYou can set the desired length using `-l`:\n\n    $ vault google -p -l 6\n    Passphrase: *********\n    Tc8k~8\n\nYou can control the character types present in the output, either to disable\ncertain types or make sure they are present. For example, to get a password with\nno symbols in it:\n\n    $ vault google -p --symbol 0\n    Passphrase: *********\n    Bb4uFmAEUnTPJh23ecdQ\n\nTo get a password containing at least one dash and uppercase letter:\n\n    $ vault google -p --dash 1 --upper 1\n    Passphrase: *********\n    2-[w]thuTK8unIUVH\"Lp\n\nAvailable character classes include:\n\n* `lower`: lowercase letters, `a`-`z`\n* `upper`: uppercase letters, `A`-`Z`\n* `number`: the digits `0`-`9`\n* `space`: the space character ` `\n* `dash`: dashes (`-`) and underscores (`_`)\n* `symbol`: all other printable ASCII characters\n\nFinally, some sites do not allow passwords containing strings of repeated\ncharacters beyond a certain length. For example, a site requiring passwords not\nto contain more than two of the same character in a row would reject the\npassword `ZOMG!!!` because of the 3 `!` characters. Vault lets you express this\nrequirement using `-r` or `--repeat`; this option sets the maximum number of\ntimes the same character can appear in a row.\n\n    $ vault google -p -r 2\n\n\n## Using your private key\n\nInstead of a simple passphrase, `vault` can use a value signed using your\nprivate key as its input. Use the `--key` or `-k` option:\n\n    $ vault twitter -k\n\n    Which key would you like to use?\n\n    1: james@tesla, AAAAB3NzaC1y...+XRS6wsfyB7D\n    2: james@tesla, AAAAB3NzaC1y...B4vwPOArAIKb\n\n    Enter a number (1-2): 1\n    \\vXY\"xP}m7;,./eI{cz<\n\nIf you only have one private key, that is used automatically. If you have\nseveral, a menu is displayed as above using snippets from the corresponding\npublic keys. You will be prompted to unlock the selected key if necessary.\n\nNote that all the prompts shown to you while using `vault` are printed to\n`stderr` and the generated password to `stdout`, so you can pipe `vault` to\n`pbcopy` and you'll just get the password in your clipboard, i.e.:\n\n    $ vault twitter -k | pbcopy\n\n    Which key would you like to use?\n    # etc.\n\n\n## Saving your settings\n\nIf you like, you can store your passphrase on disk; `vault` will save it in a\nfile called `.vault` in your home directory.\n\nThe `.vault` file is encrypted with AES-256, using your username as the key by\ndefault. You can set your own key using the `VAULT_KEY` environment variable.\nYou can also change the location of the file using the `VAULT_PATH` variable,\nfor example you might set `VAULT_PATH=Dropbox/.vault` to sync it using Dropbox.\nIf you do this, make sure any files containing the key are NOT also exposed to\nthird-party services.\n\nTo save your passphrase, pass the `--config` or `-c` flag:\n\n    $ vault -c -p\n    Passphrase: *********\n    $ vault google\n    2hk!W[L,2rWWI=~=l>,E\n\nYou can also configure character class settings this way:\n\n    $ vault -c --upper 0\n    $ vault google -p\n    Passphrase: *********\n    =hk|,;,>=r'}k=p-u>1p\n\nBoth the passphrase and the character class settings can be overridden on a\nper-service basis:\n\n    $ vault -c twitter --upper 1 --symbol 0\n\n    $ vault twitter -p\n    Passphrase: *********\n    Z2juOG1Z31BX1A9ET8Cn\n\n    $ vault google -p\n    Passphrase: *********\n    =hk|,;,>=r'}k=p-u>1p\n\nIf you're using your private key instead of a passphrase, you can save your\n`--key` setting. The config file ends up storing the public key, not the private\nkey or any value derived from it. Next time you run `vault`, the public key is\nused to find the corresponding private key from `ssh-agent`.\n\n    $ vault -c -k\n\n    Which key would you like to use?\n\n    1: james@tesla, AAAAB3NzaC1y...+XRS6wsfyB7D\n    2: james@tesla, AAAAB3NzaC1y...B4vwPOArAIKb\n\n    Enter a number (1-2): 1\n\n    $ vault twitter\n    \\vXY\"xP}m7;,./eI{cz<\n\nIf you'd like to get a plain-text copy of the encrypted settings file, or import\na previously exported settings file, you can use the `--export` and `--import`\nflags. `--export` writes the contents of the `.vault` file to the given path,\nwhile `--import` reads the given file and stores it encrypted in your `.vault`\nfile. This can be used, for example, to change the encryption key:\n\n    $ VAULT_KEY=oldkey vault --export settings.json\n    $ VAULT_KEY=newkey valut --import settings.json\n\nOr, you can use it if Vault changes its encryption algorithm in the future. Just\nuse your current installation to export the settings, upgrade, then import.\n\n    $ vault --export settings.json\n    $ npm install -g vault\n    $ vault --import settings.json\n\n\n## Deleting saved settings\n\nYou can delete any saved setting using the `--delete`, `--delete-globals` and\n`--clear` options. (`--delete` is aliased as lowercase `-x` and `--clear` as\nuppercase `-X`.) `--delete` removes settings for an individual service,\n`--delete-globals` removes your global settings and `--clear` deletes all saved\nsettings.\n\n    $ vault --delete twitter\n    This will delete your \"twitter\" settings. Are you sure? (Y/n): Y\n\n    $ vault --delete-globals\n    This will delete your global settings. Are you sure? (Y/n): Y\n\n    $ vault --clear\n    This will delete ALL your settings. Are you sure? (Y/n): Y\n\n\n## How does it work?\n\n`vault` takes your passphrase and a service name and generates a hash from them\nusing [PBKDF2](http://en.wikipedia.org/wiki/PBKDF2). It then encodes the bits of\nthis hash using a 94-character alphabet, subject to the given character\nconstraints. This design means that each password is very hard to break by brute\nforce, and ensures that the discovery of one service's password does not lead to\nother accounts being compromised. It also means you can tailor the output to the\ncharacter set accepted by each service. The use of a deterministic hash function\nmeans we don't need to store your passwords since they can easily be regenerated;\nthis means there's no storage to sync or keep secure.\n\n\n## License\n\n(The MIT License)\n\nCopyright (c) 2011-2013 James Coglan\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the 'Software'), to deal in\nthe Software without restriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell copies of the\nSoftware, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
  "_attachments": {}
}
