{"id":13395507,"url":"https://github.com/roddhjav/pass-tomb","last_synced_at":"2025-12-26T23:18:46.496Z","repository":{"id":17022667,"uuid":"81016953","full_name":"roddhjav/pass-tomb","owner":"roddhjav","description":"A pass extension that helps you keep the whole tree of passwords encrypted inside a Tomb.","archived":false,"fork":false,"pushed_at":"2024-08-08T08:24:41.000Z","size":376,"stargazers_count":397,"open_issues_count":6,"forks_count":33,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-06T18:55:27.172Z","etag":null,"topics":["pass","pass-extension","password-manager","password-store","password-tomb","secret-management","tomb"],"latest_commit_sha":null,"homepage":"https://www.passwordstore.org","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/roddhjav.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","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},"funding":{"github":"roddhjav"}},"created_at":"2017-02-05T19:39:15.000Z","updated_at":"2025-03-02T04:20:39.000Z","dependencies_parsed_at":"2024-01-13T17:11:51.004Z","dependency_job_id":"f9b7712b-18f6-47d9-8774-4de17ef6f7bc","html_url":"https://github.com/roddhjav/pass-tomb","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roddhjav%2Fpass-tomb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roddhjav%2Fpass-tomb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roddhjav%2Fpass-tomb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roddhjav%2Fpass-tomb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roddhjav","download_url":"https://codeload.github.com/roddhjav/pass-tomb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243478462,"owners_count":20297265,"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":["pass","pass-extension","password-manager","password-store","password-tomb","secret-management","tomb"],"created_at":"2024-07-30T17:02:03.134Z","updated_at":"2025-12-26T23:18:46.489Z","avatar_url":"https://github.com/roddhjav.png","language":"Shell","funding_links":["https://github.com/sponsors/roddhjav"],"categories":["Shell","Extensions","others","Uncategorized"],"sub_categories":["All other extensions","Uncategorized"],"readme":"[\u003cimg src=\"https://gitlab.com/uploads/-/system/project/avatar/3157196/logo.png\" align=\"right\" height=\"110\"/\u003e][github-link]\n\n# pass tomb\n\n[![][workflow]][action] [![][gitlab]][gitlab-link] [![][coverage]][coverage-link] [![][quality]][quality-link] [![\n][release]][release-link]\n\n**A [pass] extension that helps you keep the whole tree of passwords encrypted inside a [Tomb].**\n\n\n## Description\n\nDue to the structure of `pass`, file- and directory names are not encrypted in the password store. `pass-tomb` provides a convenient solution to put your password store in a [Tomb][github-tomb] and then keep your password tree encrypted when you are not using it.\n\nIt uses the same GPG key to encrypt passwords and tomb, therefore you don't need to manage more key or secret. Moreover, you can ask pass-tomb to automatically close your store after a given time.\n\n**The new workflow is the following:**\n* Create a password tomb with `pass tomb`\n - Create a new tomb and open it in `~/.password-store`\n - Initialize the password store with the same GPG key\n* Use pass as usual\n* When finished, close the password tomb: `pass close`\n* To use pass again, you need to open the password tomb: `pass open`\n\n## Usage\n\n```\npass tomb 1.3 - A pass extension that helps to keep the whole tree of\n                password encrypted inside a tomb.\n\nUsage:\n    pass tomb [-n] [-T time] [-f] [-p subfolder] [-s size] gpg-id...\n        Create and initialise a new password tomb\n        Use gpg-id for encryption of both tomb and passwords\n\n    pass open [subfolder] [-t tomb] [-k key] [-T time] [-f]\n        Open a password tomb\n\n    pass close [store]\n        Close a password tomb\n\n    pass timer [store]\n        Show timer status\n\nOptions:\n    -n, --no-init  Do not initialise the password store\n    -T, --timer    Close the store after a given time\n    -p, --path     Create the store for that specific subfolder\n    -k, --key      Specify the path to the password tomb key\n    -t, --tomb     Specify the path to the password tomb\n    -s, --size     Specify the tomb size in MB\n    -f, --force    Force operation (i.e. even if swap is active)\n    -q, --quiet    Be quiet\n    -v, --verbose  Be verbose\n    -d, --debug    Print tomb debug messages\n        --unsafe   Speed up tomb creation (for testing only)\n    -V, --version  Show version information.\n    -h, --help     Print this help message and exit.\n\nMore information may be found in the pass-tomb(1) man page.\n```\n\nSee `man pass-tomb` for more information.\n\n## Examples\n\n**Create a new password tomb**\n```\n$ pass tomb \u003cgpg-id\u003e\n (*) Your password tomb has been created and opened in ~/.password-store.\n (*) Password store initialized for \u003cgpg-id\u003e\n  .  Your tomb is: ~/.password.tomb\n  .  Your tomb key is: ~/.password.key.tomb\n  .  You can now use pass as usual.\n  .  When finished, close the password tomb using 'pass close'.\n```\n\n**Open a password tomb**\n```\n$ pass open\n (*) Your password tomb has been opened in ~/.password-store.\n  .  You can now use pass as usual.\n  .  When finished, close the password tomb using 'pass close'.\n```\n\n**Close a password tomb**\n```\n$ pass close\n (*) Your password tomb has been closed.\n  .  Your passwords remain present in ~/.password.tomb.\n```\n\n**Create a new password tomb and set a timer**\n```\n$ pass tomb \u003cgpg-id\u003e --timer=1h\n (*) Your password tomb has been created and opened in ~/.password-store.\n (*) Password store initialized for \u003cgpg-id\u003e\n  .  Your tomb is: ~/.password.tomb\n  .  Your tomb key is: ~/.password.key.tomb\n  .  You can now use pass as usual.\n  .  This password store will be closed in 1h\n```\n\n```\n$ pass open\n(*) Your password tomb has been opened in ~/.password-store.\n .  You can now use pass as usual.\n .  This password store will be closed in 1h\n```\n\n**Open a password store and set a timer**\n```\n$ pass open --timer=10min\n (*) Your password tomb has been opened in ~/.password-store.\n  .  You can now use pass as usual.\n  .  This password store will be closed in 10min\n```\n\n## Import existing password repository\n\nIn order to use pass-tomb with your existing password repository you can:\n1. Move your password repository: `mv ~/.password-store ~/.password-store-backup`\n2. Create and open a new password tomb: `pass tomb \u003cgpgid\u003e`\n3. Move all the content of your password repository in the new password tomb:\n   ```\n   mv ~/.password-store-backup/ ~/.password-store`\n   ```\n\n## Environment Variables\n\n* `PASSWORD_STORE_TOMB`: path to `tomb` executable\n* `PASSWORD_STORE_TOMB_FILE`: path to the password tomb (default: `~/.password.tomb`)\n* `PASSWORD_STORE_TOMB_KEY`: path to the password tomb key file (default: `~/.password.key.tomb`)\n* `PASSWORD_STORE_TOMB_SIZE`: password tomb size in MB (default: `30`)\n\n## Multiple password tombs\n\nIt is possible to create multiple pass tomb and open them separately. You only need to set the tomb file, key and the password store directory manually using the environment variables:\n\n**Create a tomb**\n```sh\nPASSWORD_STORE_TOMB_FILE=\u003ctomb_path\u003e PASSWORD_STORE_TOMB_KEY=\u003ckey_path\u003e PASSWORD_STORE_DIR=\u003cdir_path\u003e pass tomb \u003cgpgid\u003e\n```\n\n**Open/Close a tomb**\n```sh\nPASSWORD_STORE_TOMB_FILE=\u003ctomb_path\u003e PASSWORD_STORE_TOMB_KEY=\u003ckey_path\u003e PASSWORD_STORE_DIR=\u003cdir_path\u003e pass open\nPASSWORD_STORE_TOMB_FILE=\u003ctomb_path\u003e PASSWORD_STORE_TOMB_KEY=\u003ckey_path\u003e PASSWORD_STORE_DIR=\u003cdir_path\u003e pass close\n```\n\nIf you always need a second password store, you can create a pass alias, `pass2` that will manage the second store with in `.bashrc`:\n```sh\nalias pass2='PASSWORD_STORE_TOMB_FILE=\u003ctomb_path\u003e PASSWORD_STORE_TOMB_KEY=\u003ckey_path\u003e PASSWORD_STORE_DIR=\u003cdir_path\u003e pass'\n```\n\n## Advanced use\n\nUsing `tomb` to store your password repository, you can take advantage of the tomb advanced feature like *steganography* and *private cloud storage*. The [tomb website][Tomb] provide a good presentation of the features available with Tomb. Moreover, you can read my guide on how to use [Tomb with GPG keys][pujol.io-tomb].\n\npass-tomb is not compatible with Android, but it should not be an issue for you. If you consider it is safe to put your password-store on Android then, it probably means you attacker model does not require the need of pass-tomb.\n\n## Installation [\u003cimg src=\"https://repology.org/badge/vertical-allrepos/pass-tomb.svg\" align=\"right\"\u003e][repology-link]\n\n**Requirements**\n* `pass 1.7.0` or greater.\n* `tomb 2.4` or greater.\n* A `systemd` based Linux distribution is required to use the timer feature.\n\n**ArchLinux**\n\n`pass-tomb` is available in the [Arch User Repository][aur].\n```sh\nyay -S pass-tomb  # or your preferred AUR install method\n```\n\n**Debian**\n\n```sh\napt install pass-extension-tomb\n```\n\n**Guix**\n```sh\nguix install pass-tomb\n```\n\n**NixOS**\n```sh\nnix-env -iA nixos.passExtensions.pass-tomb\n```\n\n**OSX**\n\u003e **pass-tomb is based on dm-crypt and therefore it is not compatible with Mac systems.**\n\n**From git**\n```sh\ngit clone https://github.com/roddhjav/pass-tomb/\ncd pass-tomb\nsudo make install\n```\n\n**Stable version**\n```sh\nwget https://github.com/roddhjav/pass-tomb/releases/download/v1.3/pass-tomb-1.3.tar.gz\ntar xzf pass-tomb-1.3.tar.gz\ncd pass-tomb-1.3\nsudo make install\n```\n\n[Releases][releases] and commits are signed using [`06A26D531D56C42D66805049C5469996F0DF68EC`][keys]. You should check the key's fingerprint and verify the signature:\n```sh\nwget https://github.com/roddhjav/pass-tomb/releases/download/v1.3/pass-tomb-1.3.tar.gz.asc\ngpg --recv-keys 06A26D531D56C42D66805049C5469996F0DF68EC\ngpg --verify pass-tomb-1.3.tar.gz.asc\n```\n\n## Contribution\n\nFeedback, contributors, pull requests are all very welcome.\n\n[github-link]: https://github.com/roddhjav/pass-tomb\n[workflow]: https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Froddhjav%2Fpass-tomb%2Fbadge%3Fref%3Dmaster\u0026style=flat-square\n[action]: https://actions-badge.atrox.dev/roddhjav/pass-tomb/goto?ref=master\n[gitlab]: https://gitlab.com/roddhjav/pass-tomb/badges/master/pipeline.svg?style=flat-square\n[gitlab-link]: https://gitlab.com/roddhjav/pass-tomb/pipelines\n[coverage]: https://img.shields.io/coveralls/roddhjav/pass-tomb/master.svg?style=flat-square\n[coverage-link]: https://coveralls.io/github/roddhjav/pass-tomb\n[quality]: https://img.shields.io/codacy/grade/1c58ea63487a4b82874b05220d500c60/master.svg?style=flat-square\n[quality-link]: https://www.codacy.com/app/roddhjav/pass-tomb\n[release]: https://img.shields.io/github/release/roddhjav/pass-tomb.svg?maxAge=600\u0026style=flat-square\n[release-link]: https://github.com/roddhjav/pass-tomb/releases/latest\n[repology-link]: https://repology.org/project/pass-tomb/versions\n\n[pass]: https://www.passwordstore.org/\n[Tomb]: https://www.dyne.org/software/tomb/\n[github-tomb]: https://github.com/dyne/Tomb\n[pujol.io-tomb]: https://pujol.io/blog/tomb-with-gpg-keys/\n[keys]: https://pujol.io/keys\n[aur]: https://aur.archlinux.org/packages/pass-tomb\n[releases]: https://github.com/roddhjav/pass-tomb/releases\n[keybase]: https://keybase.io/roddhjav\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froddhjav%2Fpass-tomb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froddhjav%2Fpass-tomb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froddhjav%2Fpass-tomb/lists"}