{"id":33185708,"url":"https://github.com/whatl3y/hide","last_synced_at":"2026-01-28T01:44:34.876Z","repository":{"id":23725909,"uuid":"99699296","full_name":"whatl3y/hide","owner":"whatl3y","description":"Open source, AES-256 bit encrypted password manager with all encrypted passwords stored locally on your machine.","archived":false,"fork":false,"pushed_at":"2023-01-07T02:17:10.000Z","size":1240,"stargazers_count":61,"open_issues_count":17,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-11-22T04:02:49.943Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/whatl3y.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-08-08T14:02:06.000Z","updated_at":"2025-03-23T23:42:49.000Z","dependencies_parsed_at":"2023-01-13T23:45:51.441Z","dependency_job_id":null,"html_url":"https://github.com/whatl3y/hide","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/whatl3y/hide","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whatl3y%2Fhide","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whatl3y%2Fhide/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whatl3y%2Fhide/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whatl3y%2Fhide/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/whatl3y","download_url":"https://codeload.github.com/whatl3y/hide/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whatl3y%2Fhide/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28832568,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-27T23:29:49.665Z","status":"ssl_error","status_checked_at":"2026-01-27T23:25:58.379Z","response_time":168,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-11-16T05:00:20.099Z","updated_at":"2026-01-28T01:44:34.850Z","avatar_url":"https://github.com/whatl3y.png","language":"TypeScript","funding_links":[],"categories":["\u003ca name=\"password-manager\"\u003e\u003c/a\u003ePassword managers"],"sub_categories":[],"readme":"# hide\n\nOpen source, AES-256 bit encrypted password manager with all encrypted passwords stored locally on your machine.\n\n## Usage\n\n```\n$ hide search my_new_account\nI found the following accounts:\n\n0 of 412 total accounts returned\n\n\n$ hide add -n my_new_account -u myname -p the_secret_password -e \"Some extra stuff!!!!\"\nSuccessfully added account 'my_new_account'!\n\n\n$ hide search my_new_account\nI found the following accounts:\nNAME            USERNAME        EXTRA                UUID\nmy_new_account  myname          Some extra stuff!!!! 964c0e29-9732-4f03-9920-86b35cd04afe\n1 of 413 total accounts returned\n\n\n$ hide show my_new_account\nNAME            USERNAME        EXTRA                UUID\nmy_new_account  myname          Some extra stuff!!!! 964c0e29-9732-4f03-9920-86b35cd04afe\n\n\n$ hide show my_new_account -p\nNAME            USERNAME        PASSWORD            EXTRA                UUID\nmy_new_account  myname          the_secret_password Some extra stuff!!!! 964c0e29-9732-4f03-9920-86b35cd04afe\n```\n\n## Description\n\nThis is a CLI utility that can be used to store your account information,\nincluding websites, usernames, passwords, and additional info, securely using\nAES-256 bit encryption using a master secret that you configure.\n\n## Install\n\n```\n$ npm install -g hide\n```\n\n## Why?\n\nI've previously used Last Pass to securely store passwords for me within the\ncontext of a browser extension, and it worked decent. The problem is I not only\nhave a ton of accounts with different passwords that I like to see,\nbut I'm a developer so basically always live in a terminal window.\nThis tool gives me the freedom to retrieve a username and/or password (among other information)\nabout an account with a single command, and store it on my machine using AES-256\nbit encryption with a password I set.\n\n## Config\n\n#### CRYPT_SECRET (required)\n\nThe following should be set to control the global secret that's used with AES-256 bit encryption to secure the data stored on your machine.\n\n**DON'T LOSE/FORGET THIS**\n\n```\n$ export CRYPT_SECRET=[your all time master secret value]\n```\n\n#### NODE_HIDE_FILEPATH\n\nDirectory where the encrypted file will live -- default: home directory (either process.env.HOME on unix/linux/mac or process.env.USERPROFILE on windows)\n\n```\n$ export NODE_HIDE_FILEPATH=~\n```\n\n#### NODE_HIDE_FILENAME\n\nName of flat file that holds the encrypted data of your accounts -- default: '\\_\\_node-hide-accounts'\n\n```\n$ export NODE_HIDE_FILENAME=my_encrypted_file\n```\n\n## Usage\n\n### Add an account\n\n#### PARAMETERS\n\n- -n / --name (REQUIRED): The name of the account you're storing. It can be any combination of alphanumeric characters.\n- -u / --username (optional): The username for the account.\n- -p / --password (optional): The password for the account.\n- -e / --extra (optional): Any additional information you'd like to provide about the account.\n\n```\n$ hide add -n my_new_account -u myname -p the_secret_password -e \"Some extra stuff!!!!\"\n\nSuccessfully added account 'my_new_account'!\n```\n\n### Search your accounts\n\n#### PARAMETERS\n\n- -s / --search (optional): An optional term to look for accounts based on\n  a case-insensitive search against the NAME or USERNAME.\n  NOTE: the `search` command never shows the password for the account. Use `show` to retrieve the password.\n\n```\n$ hide search\n\nI found the following accounts:\nNAME                USERNAME        EXTRA            UUID\nfacebook.com        userna                           def7f984-c2d7-4069-907c-facfad597123\ninstagram.com       iguser                           def7f984-abc1-1111-2222-facfad597123\n2 of 2 total accounts returned\n\n$ hide search -s facebook\n\nI found the following accounts:\nNAME                USERNAME        EXTRA            UUID\nfacebook.com        userna                           def7f984-c2d7-4069-907c-facfad597123\n1 of 2 total accounts returned\n```\n\n### Show a single account\n\n#### PARAMETERS\n\nEither uuid or name are at least required:\n\n- -i / --uuid: The unique identifier of the account you want to review.\n- -n / --name: The name of the account you're reviewing.\n\nOptional\n\n- -p / --password (optional): Whether to show the password. DEFAULT: false\n\n```\n$ hide show -i f62d5a21-4119-4a05-bced-0dca8f310d4b\n$ hide show -n facebook.com\n\nNAME            USERNAME        EXTRA           UUID\nfacebook.com    fbuser                          f62d5a21-4119-4a05-bced-0dca8f310d4b\n\n$ hide show -n facebook.com -p\n\nNAME            USERNAME        PASSWORD        EXTRA           UUID\nfacebook.com    fbuser          my_password1                    f62d5a21-4119-4a05-bced-0dca8f310d4b\n```\n\n### Update an account\n\n#### PARAMETERS\n\nEither uuid or name are at least required:\n\n- -i / --uuid: The unique identifier of the account you want to update.\n- -n / --name: The name of the account you're updating.\n\nOptional\n\n- -u / --username (optional): The username for the account.\n- -p / --password (optional): The password for the account.\n- -e / --extra (optional): Any additional information you'd like to provide about the account.\n\n```\n$ hide update -n facebook.com -u fbuser -p my_password1\n\nSuccessfully updated account with name: 'facebook.com'!\n```\n\n### Delete an account\n\n#### PARAMETERS\n\n- -i / --uuid: The unique identifier of the account you want to delete.\n\n```\n$ hide delete -i f62d5a21-4119-4a05-bced-0dca8f310d4b\n\nSuccessfully deleted account with uuid: 'f62d5a21-4119-4a05-bced-0dca8f310d4b'\n```\n\n### Re-encrypt your current file with a new secret\n\n```\n$ hide recrypt yourNew_Ultra_Secret_secret!@#\n\nSuccessfully updated your encrypted file with new secret to: /Users/username/__node-hide-accounts\n```\n\n### Get the full file path of the encrypted flat file\n\nReturns the file location on your machine where the\nencrypted file lives.\n\n#### PARAMETERS\n\nNone\n\n```\n$ hide file\n\nYour encrypted file is in the following location:\n/Users/yourname/__node-hide-accounts\n```\n\n### Decrypt file and store on disk\n\nDecrypts the encrypted file that is used by hide to store your account\ninformation, and stores it on disk in the same location as your file\nwith an appended '.json' to the file name.\n\n#### PARAMETERS\n\nNone\n\n```\n$ hide decryptfile\nAre you sure you want to decrypt your file and save it to disk (yes/no): yes\n\nSuccessfully saved your decrypted account data to:\n/Users/yourname/__node-hide-accounts.json\n```\n\n### Import from a CSV\n\nNote: This requires the CSV have headers that match the following:\n\n- `name`: the account name\n- `username`: the username of the account\n- `password`: the password of the account\n- `extra`: any desired extra information you want to store with the account\n\n#### PARAMETERS\n\n- -f / --filepath: The full filepath of the CSV that we're importing data from.\n\n```\n$ hide import -f /Users/yourname/myfile.csv\n\nSuccessfully added 123 accounts from CSV: /Users/yourname/myfile.csv!\n```\n\n### Encrypt text or a file\n\n#### PARAMETERS\n\n- -t / --text: Text you want to encrypt.\n- -f / --file: A local file path containing data you want to encrypt.\n\n```\n$ hide encrypt -t testing123\n$ hide encrypt testing123\n\n0f318802819cb67ea05c\n```\n\n### Decrypt text or a file\n\n#### PARAMETERS\n\n- -t / --text: Text you want to decrypt.\n- -f / --file: A local file path containing data you want to decrypt.\n\n```\n$ hide decrypt -t 0f318802819cb67ea05c\n$ hide decrypt 0f318802819cb67ea05c\n\ntesting123\n```\n\n## Development\n\nIf you want to clone and add/update functionality, you can build\nusing the following.\n\n### Build\n\n```\n$ npm run build\n```\n\n### Tests\n\n```\n$ npm test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhatl3y%2Fhide","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwhatl3y%2Fhide","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhatl3y%2Fhide/lists"}