{"id":17648068,"url":"https://github.com/gpanders/passage","last_synced_at":"2025-05-07T05:49:55.012Z","repository":{"id":102162633,"uuid":"317748829","full_name":"gpanders/passage","owner":"gpanders","description":"Password store using age","archived":false,"fork":false,"pushed_at":"2023-01-11T17:26:36.000Z","size":108,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-07T05:49:36.338Z","etag":null,"topics":["age","pass","password-store"],"latest_commit_sha":null,"homepage":"https://sr.ht/~gpanders/passage","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gpanders.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-02T04:25:49.000Z","updated_at":"2024-10-18T20:31:57.000Z","dependencies_parsed_at":"2023-07-11T17:00:35.770Z","dependency_job_id":null,"html_url":"https://github.com/gpanders/passage","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gpanders%2Fpassage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gpanders%2Fpassage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gpanders%2Fpassage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gpanders%2Fpassage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gpanders","download_url":"https://codeload.github.com/gpanders/passage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252823693,"owners_count":21809709,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["age","pass","password-store"],"created_at":"2024-10-23T11:16:11.233Z","updated_at":"2025-05-07T05:49:54.992Z","avatar_url":"https://github.com/gpanders.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# passage\n\n## Project Status\n\nThis project is no longer maintained. Users seeking a password manager using\n[`age`][age] are advised to use \u003chttps://github.com/FiloSottile/passage\u003e instead.\n\n## Description\n\n`passage` is a password store utilizing the [`age`][age] encryption library.\n\nNote that `age` is still considered **beta** software. Until `age` comes out of\nbeta, `passage` should be considered **beta** software as well.\n\n[age]: https://age-encryption.org/v1\n\n# Table of Contents\n\n* [FAQ](#faq)\n* [Installation](#installation)\n* [Usage](#usage)\n\n## FAQ\n\n### How is passage different from pass?\n\n`passage` is a reimplementation of [`pass`][pass] that eschews the use of PGP\n[[1][pgp-1], [2][pgp-2]] in favor of [`age`][age].\n\n[pass]: https://www.passwordstore.org/\n[pgp-1]: https://latacora.micro.blog/2019/07/16/the-pgp-problem.html\n[pgp-2]: https://blog.filippo.io/giving-up-on-long-term-pgp/\n\n### Is passage secure?\n\n`passage`, like all password managers, makes trade-offs between security and\nconvenience. Whether or not `passage` meets your security qualifications\ndepends on your use case.\n\n`passage` uses a secret key that is only accessible by you. This means if you\nare on a single-user system or a multi-user system where only you have root\naccess, no one can access your secret key.\n\nIf you are on a multi-user system where other users have root access, **then it\nis possible for those users to read your secret key**. You can eliminate this\nrisk by locking your password store (i.e. encrypting your secret key with a\npassphrase) at the cost of having to re-enter your passphrase each time you\nwish to retrieve an item from your store.\n\n## Installation\n\nCurrently, the only supported method of installation is through Cargo.\n\n    $ cargo install --git https://git.sr.ht/~gpanders/passage\n\nThis will install `passage` to `$HOME/.cargo/bin`.\n\nOr, to build from a locally cloned copy of this repository,\n\n    $ git clone https://git.sr.ht/~gpanders/passage\n    $ cd passage\n    $ make install\n\nThis will install `passage` to `/usr/local/bin`. To specify a different install\nprefix, set the `prefix` variable in the `make` command, e.g.:\n\n    $ make prefix=/opt/passage install\n\n## Usage\n\n`passage` is a near drop-in replacement for [`pass`][pass]. If you've used\n`pass`, you can simply create an alias\n\n    $ alias pass=passage\n\nand continue to use `pass` as normal.\n\nThe default directory for the password store is `$HOME/.passage`. This can be\nchanged by setting the `PASSAGE_STORE_DIR` environment variable.\n\n### Initialization\n\nInitialize a new password store using\n\n    $ passage init\n\nThis will create a new `age` private key at `$XDG_DATA_HOME/passage/key.txt`\nand create your password store at `$HOME/.passage`.\n\nYou can add additional recipients to your password store using the\n`-r`/`--recipients` option to `init`:\n\n    $ passage init -r age1294r5jdje2n2jprxj0avqyvmpsujzlmjt5kla728x5eykgd8cc9skkms53\n\nYou can also use an existing age secret key instead of generating a new one\nwith the `-k`/`--key` option:\n\n    $ age-keygen -o key.txt\n    $ passage init -k key.txt\n\n### Adding and retrieving items\n\nAdd a new password to the password store using\n\n    $ passage insert ITEM\n\nor\n\n    $ passage add ITEM\n\nYou can retrieve a saved password from the store using\n\n    $ passage show ITEM\n\nor simply\n\n    $ passage ITEM\n\nUse the `-c`/`--clip` flag to copy the password to your system clipboard:\n\n    $ passage -c ITEM\n    Copied password for ITEM to clipboard.\n\n### View store contents\n\nYou can view all items in your store with\n\n    $ passage list\n\nor\n\n    $ passage show\n\nor just\n\n    $ passage\n\n### Locking and unlocking\n\nYou can lock your password store using\n\n    $ passage lock\n\nThis will prompt you for a passphrase, which will be used to encrypt your\nsecret key. When locked, you will need to enter this passphrase anytime you\nwish to display a password from the store.\n\nNote that locking the password store will only require a passphrase when\nretrieving a password from the store, **not** when inserting a new password\ninto the store. This is because only the secret key is encrypted with the\npassphrase. The public key used to add new items remains unencrypted.\n\nYou can unlock a locked password store using\n\n    $ passage unlock\n\n### Sharing access\n\nIf you wish to share your password store among multiple users, or if you simply\nwish to use your store across multiple computers each with different keys, you\ncan add new recipients to your store using the `-r`/`--recipients` option to\nthe `init` subcommand. The argument to this option should be an age public key\nstring. You can display the public key for your password store using\n\n    $ passage key\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgpanders%2Fpassage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgpanders%2Fpassage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgpanders%2Fpassage/lists"}