8 पॉइंट द्वारा GN⁺ 2025-09-15 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • Pass एक सरल पासवर्ड प्रबंधन टूल है जो Unix दर्शन का पालन करता है, और हर पासवर्ड को GPG से एन्क्रिप्ट करके फ़ाइल में संग्रहीत करता है
  • पासवर्ड को फ़ोल्डर संरचना में व्यवस्थित रूप से प्रबंधित किया जा सकता है, और command-line टूल से जोड़ना, संपादित करना, बनाना, देखना, हटाना आदि काम आसानी से किए जा सकते हैं
  • Git एकीकरण के ज़रिए पासवर्ड बदलाव का इतिहास ट्रैक करना और सिंक करना संभव है, इसलिए यह कई कंप्यूटरों और टीम वातावरण में भी उपयोगी है
  • इसमें यूज़र की स्वतंत्रता बहुत अधिक है, इसलिए फ़ाइल संरचना या संग्रहीत डेटा फ़ॉर्मेट को अपनी ज़रूरत के अनुसार स्वतंत्र रूप से व्यवस्थित किया जा सकता है
  • विस्तारयोग्यता और उच्च संगतता के कारण, विभिन्न extensions और platform-specific clients/GUI सक्रिय रूप से विकसित और वितरित किए जा रहे हैं

Pass परिचय

  • पासवर्ड प्रबंधन सरल होना चाहिए और Unix दर्शन का पालन करना चाहिए
  • Pass हर पासवर्ड को GPG से एन्क्रिप्ट की गई फ़ाइल के रूप में रखता है, और फ़ाइल नाम के रूप में उस वेबसाइट या resource का नाम इस्तेमाल करता है जहाँ वह पासवर्ड चाहिए
  • इन एन्क्रिप्टेड फ़ाइलों को इच्छित फ़ोल्डर संरचना में व्यवस्थित किया जा सकता है। सामान्य फ़ाइल प्रबंधन कमांड्स के ज़रिए कंप्यूटरों के बीच कॉपी, मूव, डिलीट आदि भी आसानी से किए जा सकते हैं
  • Pass हर पासवर्ड फ़ाइल के जोड़ने, संपादित करने, बनाने, देखने के लिए विशेष कमांड्स देता है, और पासवर्ड डिफ़ॉल्ट रूप से ~/.password-store के अंतर्गत संग्रहीत होते हैं
  • यह केवल एक सरल shell script के रूप में लागू किया गया है
  • पासवर्ड कॉपी (clipboard copy) और पासवर्ड बदलाव इतिहास रिकॉर्ड करने के लिए Git का उपयोग करता है
  • इसे बुनियादी shell commands से भी संपादित किया जा सकता है, और Zsh, Fish, Bash जैसी विभिन्न shells में auto-completion का समर्थन है
  • विभिन्न extensions और अन्य platforms के clients/GUI समुदाय द्वारा सक्रिय रूप से विकसित किए जा रहे हैं

पासवर्ड स्टोर उपयोग का तरीका

  • संग्रहीत सभी पासवर्डों की पूरी सूची देखी जा सकती है
  • किसी विशेष पासवर्ड को देखना और clipboard पर कॉपी करना समर्थित है (ऑटो-क्लियर के साथ)
  • gpg-agent के माध्यम से सुविधाजनक पासवर्ड इनपुट और authentication प्रोसेसिंग संभव है
  • नया पासवर्ड जोड़ना, मौजूदा फ़ाइल में multi-line स्टोर करना (-m विकल्प), और डिफ़ॉल्ट text editor के माध्यम से फ़ाइल को सीधे संपादित करना संभव है
  • /dev/urandom का उपयोग करके random password generation सुविधा मिलती है (विकल्पों के अनुसार symbols शामिल/बहिष्कृत, clipboard पर सीधे कॉपी करने का समर्थन)
  • पासवर्ड हटाने पर फ़ाइल सिस्टम से एन्क्रिप्टेड फ़ाइल भी हटा दी जाती है
  • Git repository के रूप में initialize करने के बाद, हर पासवर्ड बदलाव पर commit बनता है और pass git push/pull से sync किया जा सकता है
  • अतिरिक्त सुविधाओं और विस्तृत उपयोग विधि के लिए man page देखें

बुनियादी सेटअप तरीका

  • पासवर्ड स्टोर initialize करते समय, केवल GPG key दर्ज करके आसानी से शुरुआत की जा सकती है (एक से अधिक GPG keys निर्दिष्ट करने पर टीम वातावरण के लिए उपयुक्त)
  • अलग-अलग फ़ोल्डरों के लिए अलग GPG key असाइन की जा सकती है (-p विकल्प)
  • इसे Git repository के रूप में भी initialize किया जा सकता है (अलग से remote भी निर्दिष्ट किया जा सकता है)
  • सभी पासवर्ड जोड़ने, हटाने, और संपादित करने के काम Git commits द्वारा प्रबंधित होते हैं
  • man page में initialization के और विस्तृत उदाहरण देखे जा सकते हैं

इंस्टॉलेशन तरीका

  • Debian/Ubuntu: apt-get install pass
  • Fedora/RHEL: yum install pass
  • openSUSE/Gentoo/Arch/Macintosh/FreeBSD सहित विभिन्न platforms का समर्थन
  • Tarball या Git repository को सीधे clone किया जा सकता है (सभी releases signed tags के साथ उपलब्ध हैं)

डेटा संगठन और लचीलापन

  • Pass में यूज़र अपनी ज़रूरत के अनुसार डेटा को स्वतंत्र रूप से व्यवस्थित कर सकता है (schema या format की कोई बाध्यता नहीं)
  • multi-line storage, फ़ाइल नाम से डेटा अलग करना, फ़ोल्डर संरचना आदि कई तरीके चुने जा सकते हैं
  • उदाहरण: Amazon/bookreader के मामले में, पहली पंक्ति में पासवर्ड और उसके बाद URL, username, secret question जैसी अतिरिक्त जानकारी संग्रहीत की जा सकती है
  • आवश्यकता होने पर हर जानकारी को अलग फ़ाइल (जैसे: password, secretquestion1 आदि) के रूप में प्रबंधित करने का तरीका भी चुना जा सकता है
  • clipboard copy विकल्प केवल पहली पंक्ति कॉपी करता है, इसलिए वास्तविक उपयोग और अतिरिक्त जानकारी संग्रह दोनों को कुशलता से साथ में संभाला जा सकता है

extensions

  • विस्तार सुविधाएँ (extensions) विभिन्न यूज़र आवश्यकताओं को पूरा करने के लिए समर्थित हैं
  • इन्हें system folder या user folder में इंस्टॉल किया जाता है, और environment variables से इनके सक्रिय होने का निर्धारण किया जाता है
  • समुदाय में विभिन्न extensions सक्रिय रूप से विकसित और उपलब्ध कराए जा रहे हैं

संगत clients

  • कई platforms के लिए clients/GUI समुदाय द्वारा विकसित और वितरित किए जा रहे हैं
  • यूज़र अपने operating system या उपयोग वातावरण के अनुसार उपयुक्त client चुन सकते हैं

अन्य पासवर्ड मैनेजर से migration

  • अन्य पासवर्ड मैनेजर से डेटा स्थानांतरण के लिए विभिन्न conversion scripts और तरीके उपलब्ध हैं
  • यूज़र अपने लिए उपयुक्त तरीके से सर्वोत्तम डेटा संगठन चुन सकते हैं

निर्माता और लाइसेंस

  • Jason A. Donenfeld (zx2c4.com) द्वारा विकसित
  • GPLv2+ लाइसेंस के तहत स्वतंत्र रूप से उपयोग और संशोधन संभव है

2 टिप्पणियां

 
ndrgrd 2025-09-15

असल में सिर्फ़ स्टोर करने वाले टूल तो बहुत हैं, लेकिन असली अहमियत auto-fill जैसे integration की है।

 
GN⁺ 2025-09-15
Hacker News राय
  • यहाँ pass के बारे में कई सकारात्मक राय हैं, लेकिन कुछ बड़े नुकसान भी साफ़ हैं

    • यह unstructured data है, इसलिए आम तौर पर इसके साथ काम करना असुविधाजनक है

    • उदाहरण के लिए, जब भी username और password को किसी script में इस्तेमाल करना हो, parsing का code खुद लिखना पड़ता है

    • pass generate से नया password बनाने पर पहले के सभी value overwrite हो जाते हैं

    • यानी, अगर password और secret question का जवाब साथ में हो, और सिर्फ password नया बनाया जाए, तो जवाब गायब हो जाता है

    • history देखना बहुत मुश्किल है

    • सब कुछ encrypted होता है, इसलिए git diff से भी उपयोगी जानकारी नहीं मिलती, और command line tools से history या गलती recover करना भी असुविधाजनक है

    • नाम बहुत सामान्य है, इसलिए search करना मुश्किल है

    • हाल में passworth नाम का एक मिलता-जुलता tool बना रहा हूँ (container/sandbox usage पर भी विचार है) https://github.com/andrewbaxter/passworth

    • history देखना मुश्किल है वाली बात पर, वास्तव में pass .gitattributes फ़ाइल सेट करके git को gpg फ़ाइलों को text में convert कर diff दिखाने की सुविधा देता है

      • उदाहरण के लिए ~/.password-store/.gitattributes में *.gpg diff=gpg जोड़ें
      • और .git/config में [diff "gpg"] सेटिंग के साथ textconv = gpg2 -d ... दें
      • ऐसा करने पर encrypted content का भी आसानी से diff देखा जा सकता है
    • pass इस्तेमाल करते समय आई कुछ अतिरिक्त समस्याएँ भी साझा की गईं

      • कुछ महत्वपूर्ण प्रक्रियाएँ document नहीं हैं (जैसे pass store को दूसरे computer पर ले जाते समय क्या copy करना है, यह स्पष्ट नहीं)
      • जिन environment में packaging नहीं है, जैसे headless NAS पर install करना हो, वहाँ gpg cross-compile जैसी समस्याओं के कारण यह बहुत कठिन है
      • pass, gpg के ऊपर बहुत ही पतली interface layer है, इसलिए gpg की सारी कमियाँ इसमें भी आ जाती हैं, खासकर gpg-agent से जुड़ी समस्याएँ
      • कई संगठन अब GnuPG की जगह age जैसे सरल encryption tool की ओर जाने की कोशिश कर रहे हैं https://github.com/FiloSottile/age
      • pass और Android का संयोजन खास अच्छा नहीं था; official package maintained नहीं है, fork F-Droid पर नहीं है, और UI भी असुविधाजनक है
      • कुल मिलाकर pass अब भी इस्तेमाल कर रहा हूँ, क्योंकि इससे बेहतर कोई general-purpose solution खास नहीं है
      • FiloSottile/passage के ज़रिए gpg को age से बदला जा सकता है, लेकिन Android support नहीं है
      • gopass बेहतर लगता है (हर unix पर चलता है, pass-compatible है, age plugin देता है, https://www.gopass.pw), लेकिन इसमें भी Android packaging नहीं है
    • data structuring की समस्या को folder structure से हल किया गया

      • हर site के लिए username, password, email को अलग-अलग फ़ाइलों में रखा जाता है
      • कभी-कभी notes (unstructured notes), या खास स्थिति में json (machine-readable) फ़ाइल भी जोड़ी जाती है
      • यह खलता है कि meta data encrypted नहीं होता, लेकिन कुल मिलाकर यह संतोषजनक समाधान है
    • मेरे लिए तो data का unstructured होना ही एक बड़ा फ़ायदा है

      • वास्तव में Username: xxx जैसे format में लिखने पर browserpass जैसे browser plugin इसे पहचानकर auto-fill कर देते हैं
    • data structuring और history issue पर feature-wise राय भी दी गई

      • अपनी खुद की convention इस्तेमाल कर पाने को फ़ायदा माना गया
      • pass generate से सब कुछ overwrite हो जाए, तब भी site/pass, site/secret-question जैसी अलग फ़ाइलों में manage किया जा सकता है
      • directory tree का इस्तेमाल अपने-आप में काफी अच्छा तरीका है
      • git diff से generated password track करना मुश्किल हो सकता है, लेकिन असली मायने आख़िरी बदलाव के समय के हैं, जो git log से दिख जाता है; ज़रूरत हो तो git checkout -d से restore किया जा सकता है
      • terminal में $ pass टाइप करने पर संबंधित package दिख जाता है, इसलिए search की समस्या उतनी गंभीर नहीं है
  • browser password manager + passkey कहीं ज़्यादा सुविधाजनक है, लेकिन pass vault recovery code और API key स्टोर करने के लिए काम आ सकता है

    • pass इस्तेमाल करते समय सबसे अस्पष्ट बात इसकी threat model थी

    • अगर GPG agent cached रहे, तो कोई भी script (npm postinstall वगैरह) pass ls से सभी credentials देख सकती है

    • ऐसी स्थिति में यह बस ~/passwords.txt जैसी single file में सब कुछ रखने जैसा हो जाता है

    • लेकिन cache न इस्तेमाल करें तो हर बार लंबा GPG passphrase डालने की परेशानी होती है

    • YubiKey से on-demand unlock भी करके देखा, लेकिन integration कमज़ोर है, और जब password बार-बार डालना पड़े तो यह काफी असुविधाजनक हो जाता है

    • इसलिए Bitwarden पर चला गया

    • मेरे मामले में yubi बस हमेशा लगा रहता है

      • फिर भी physical touch चाहिए होता है, इसलिए अगर मेरी जगह सुरक्षित है तो व्यवहार में यह 2FA जैसा है
      • fido2 से अलग, OpenPGP में PIN एक बार डालने के बाद key लगी रहने तक unlocked रहती है
      • लेकिन हर password खोलने के लिए touch फिर भी करना पड़ता है, इसलिए मेरे लिए यह एकदम सही और सुविधाजनक है
      • mobile पर भी openkeychain और password store का combo अच्छी तरह काम करता है
      • भले ही अब इन्हें actively maintain नहीं किया जा रहा, मुझे लगता है yubi की hardware encryption पर भरोसा काफ़ी है
    • सभी password managers में मूल समस्या यह है कि जब storage unlock हो, तो master password RAM या cache में रह सकता है और सारे password उजागर हो सकते हैं

      • इस्तेमाल न होने पर इन्हें lock रखना ही सुरक्षित है
      • Bitwarden जैसे browser-integrated tools में attack vector भी बड़ा होता है, जैसे remote server, extension वगैरह
      • हाल में लगभग सभी browser-based password managers में ऐसी कमजोरियाँ मिलीं जिनसे remote attacker, victim के browser तक password भेज सकता था
      • मैं Bitwarden इस्तेमाल करता हूँ, लेकिन सचमुच महत्वपूर्ण credentials को अलग तरह से संभालता हूँ
    • अगर USB port खाली हो, तो Nano key को बस लगा रहने दिया जा सकता है

      • मान लें malware yubi PIN निकाल भी ले, तब भी सारे password चुराने के लिए उसे मुझे हज़ार बार device छूने के लिए मजबूर करना पड़ेगा
    • मैं encrypted file partition के sqlite DB में password रखता हूँ

      • script जैसे ही password पढ़ती है, partition तुरंत बंद कर देती है
      • या हर password को अलग-अलग फ़ाइल में individually encrypt करके भी रखा जा सकता है
      • ज़रूरत पड़ने पर password फ़ाइल decrypt करने के बाद gpg agent clear कर देता हूँ
    • yubikey में PIN या touch सेट करके GPG key usage के लिए approval अनिवार्य बनाया जा सकता है

      • pass की सबसे बड़ी समस्या iOS पर yubikey compatibility का कमज़ोर होना है
  • मुझे यह सच में बहुत पसंद है और मैं इसे रोज़ इस्तेमाल करता हूँ

    • खासकर OpenPGP key और yubi का संयोजन प्रभावित करता है
    • हर password को अलग-अलग unlock करना पड़ता है, इसलिए चाहे attacker मेरे computer पर पूरा नियंत्रण पा ले, exposure सिर्फ उन्हीं चीज़ों का होगा जिन्हें मैंने physical touch से खोला है
    • keepass और bitwarden की तरह एक बार unlock होने पर सब कुछ खुल नहीं जाता, इसलिए पूरे database के exposure का जोखिम कम है
  • CLI पसंद करने वालों के लिए pass दिलचस्प है, लेकिन सामान्य users (“normie”) के लिए Desktop पर KeepassXC, Android पर KeepassDX, और Wireguard के साथ remote access वाला तरीका ज़्यादा उपयुक्त लगता है

    • keepass की कम चर्चा होने वाली उपयोगी features में से एक यह है कि कई vaults एक साथ खोले और search किए जा सकते हैं

      • ज़्यादातर password managers single vault मानकर बनाए गए हैं, यानी यह धारणा रहती है कि सभी passwords को एक ही level की security चाहिए
      • मेरे मामले में लगभग 70% sites non-critical हैं, और हर login पर लंबा master password डालना परेशान करता है
      • keepass में इस 70% non-critical data को अलग vault में रखकर छोटा password इस्तेमाल किया जा सकता है, इसलिए कम चिंता रहती है
    • “normie” का मानदंड अपने-आप में सापेक्ष है

      • मैं तो बस 1Password इस्तेमाल करता हूँ और परिणाम पर भरोसा करता हूँ
    • keepassxc.cli को भी याद रखें

      • secrets को programmatically डालने-निकालने में यह बहुत उपयोगी है
      • पहले encrypted secrets bundle बनाते समय GNU pass आज़माया था, लेकिन gnupg management की जटिलता और home directory में values store होने जैसी बातों के कारण अंत में छोड़ दिया
      • pass सर्वव्यापी तो है, लेकिन copy-one-file workflow से मेल नहीं खाता, इसलिए keepassxc पर लौट आया
    • मेरे एक use case में keepass काम नहीं करता: दो अलग-अलग computers पर अलग-अलग password बनाना और बाद में उन्हें merge करना

    • KeepassXC भी इस्तेमाल करना चाहूँगा, लेकिन spouse के साथ credentials share करना आसान नहीं है

      • dedicated vault हो तब भी, मौजूदा जानकारी share करने के लिए आख़िरकार manual copy/paste करना पड़ता है
      • इसलिए अभी Vaultwarden पर टिक गया हूँ, और उम्मीद से ज़्यादा स्थिर चल रहा है
  • अकेले इस्तेमाल में pass मज़ेदार solution है, लेकिन कई लोगों के साथ share करते समय सावधानी चाहिए

    • अगर company password management के लिए इस्तेमाल करें, तो किसने कौन-सा secret कब देखा, यह जानने का कोई तरीका नहीं; इसलिए हर employee change पर सारे passwords बदलने पड़ सकते हैं

    • अगर किसी नए व्यक्ति को access देना हो, तो selected files को दोबारा encrypt करने का कोई standard तरीका नहीं है; यह खुद बनाना पड़ता है

    • store करने के लिए git इस्तेमाल होता है, लेकिन commit messages auto-generated होते हैं, इसलिए व्यवहार में फ़ायदा बस Dropbox जितना ही लगता है

    • अगर गलती से गलत content push हो जाए और rollback करना हो, तो git history फिर से लिखनी पड़ती है, जिससे दूसरे users के devices पर समस्या आ सकती है

    • सादगी और direct control फ़ायदा है, लेकिन यही सादगी जाल भी बन सकती है

    • hash(site_name+main_password) जैसे तरीके सुंदर लगते हैं, लेकिन व्यवहार में कई समस्याएँ आती हैं

    • business environment में end-to-end encryption, users के बीच fingerprint verification जैसी features चाहिए; Bitwarden काफ़ी ठीक लगता है, लेकिन अगर इससे बेहतर उदाहरण हों तो जानना चाहूँगा

    • pass में directory के हिसाब से अलग keys (या multiple keys) लगाकर group-wise और person-wise access को बारीकी से बाँटा जा सकता है

      • उदाहरण: admins folder के लिए admin key, techs folder के लिए admin और tech दोनों keys
      • हर employee के लिए individual key देकर यह manage किया जा सकता है कि किसे कौन-सी site तक access मिले
      • git submodule का इस्तेमाल करके भी per-employee access range नियंत्रित की जा सकती है
      • git history से यह भी track किया जा सकता है कि किसे कौन-सा password कब reveal किया गया
    • मेरी company में 1Password इस्तेमाल होता है

      • यह group-shared vaults, service accounts, .env फ़ाइलों के साथ op run command, CI integration जैसी कई सुविधाएँ देता है
    • केवल evaluation किया है, असली अनुभव नहीं है, लेकिन team password sharing tool के रूप में passbolt भी अच्छा विकल्प लगा https://www.passbolt.com

      • यह public-key model पर आधारित है; plaintext password हर user की local machine पर ही दिखता है, और shared password हर user की public key से फिर से encrypt होता है
    • हमारी company में "pa" नाम का कम-ज्ञात tool अच्छे से इस्तेमाल हो रहा है https://git.j3s.sh/pa

      • यह age-आधारित है और multiple keys से encrypt कर सकता है
    • FOKS के आधार पर भी अच्छा solution बनाया जा सकता है https://foks.pub

  • हाल में pass से Bitwarden और Vaultwarden पर शिफ्ट किया

    • flatpak-आधारित GUI apps वाले environment में Firefox browser extension और pass integration काम नहीं कर रही थी, इसलिए असुविधा हुई

    • workaround के तौर पर run window में pass -c <path> चलाकर password copy करके browser में paste करता था, लेकिन अनुभव आदर्श नहीं था

    • Android official app का archive होना भी एक कारण था, और fork तो है, लेकिन वह कितने समय तक maintain होगा, पता नहीं https://github.com/android-password-store/Android-Password-Store/discussions/3260

    • अभी vaultwarden self-host करके कई bitwarden clients के साथ इस्तेमाल कर रहा हूँ

    • pass से KeePassXC पर जाने का अनुभव भी साझा किया

      • इसी तरह सैकड़ों secrets pass में store करता रहा था
      • कई devices पर sync आसान हो, और सिर्फ महत्वपूर्ण passwords को phone/laptop पर रखने की सीमा के कारण switch किया
      • KeePassXC एक single file होने से sync करना आसान है, और Android पर भी दो अच्छे apps उपलब्ध हैं
      • manually data migrate करने में लगभग 3 घंटे लगे, लेकिन उसी बहाने data भी व्यवस्थित कर लिया
      • password management एक ऐसा records app है जिसे कम इस्तेमाल किया जाता है, इसलिए एक फ़ाइल को network पर ले जाकर तीन devices sync करना काफ़ी है
    • passmenu नाम का tool भी है

      • key binding से बुलाने पर menu में auto-complete के साथ मनचाहा password चुनकर clipboard में copy किया जा सकता है
      • command prompt पर pass और path manually डालने की ज़रूरत नहीं, इसलिए सुविधाजनक है
    • मुझे पता नहीं था कि pass का Android app बंद हो चुका है

      • fork को देखकर राहत हुई कि उस पर सक्रिय काम चल रहा है
      • यह जानने की जिज्ञासा हुई कि official project और fork का handover क्यों नहीं हुआ; लगा शायद security practice का मुद्दा रहा होगा
      • मैं खुद plugins से ज़्यादा prompt में pass -c चलाकर manually copy करना पसंद करता हूँ
      • plugins पर trust issue रहता है: browser शुरू होते ही gpg key unlock हो जाए, या plugin बनाने वाला जानबूझकर password leak कर दे
    • vaultwarden के offline usage experience के बारे में जिज्ञासा है

      • कई बार unstable network environment में offline credentials देखना या update करना बहुत ज़रूरी होता है
      • vaultwarden इस हिस्से को कितना support करता है, यह अभी खुद इस्तेमाल करके नहीं देखा है
  • pass-otp extension भी है https://github.com/tadfisher/pass-otp

    • pass के लिए Android app भी काफ़ी अच्छा है https://play.google.com/store/apps/details?id=dev.msfjarvis.aps

    • termux में भी चलता है

    • Android Password Store app पिछले साल archive हुआ था, और agrahn ने fork करके उसमें काफ़ी सुधार किए

    • मेरा अपना विकल्प यह है कि ~/bin में एक छोटा script रखता हूँ और OTP generate करने के लिए pass और oathtool इस्तेमाल करता हूँ

      • pass से key निकालकर oathtool से totp code generate करता हूँ
    • pass के कुछ पुराने Android apps अब मेरे device पर install ही नहीं होते

      • GPG integration झंझटभरा है, इसलिए व्यवहार में ठीक से काम भी नहीं करता
  • GPG की जगह age इस्तेमाल करने पर passage tool मददगार है https://github.com/FiloSottile/passage

    • age इस्तेमाल करने वाले pass-जैसे कई managers हैं
      • एक developer ने comparison table भी बनाई है (संदर्भ के लिए, pago मेरा काम है)
      • comparison table gitlab link
  • आजकल मैं लगभग 10 साल से एक अलग तरीका इस्तेमाल कर रहा हूँ

    • सभी password metadata plaintext JSON में store होते हैं; हर item में user, version, password rules (length, character types आदि) दर्ज रहते हैं

    • असली password store नहीं करता, बल्कि passphrase + metadata hash से password को deterministically generate करता हूँ

    • सिर्फ version number बदलने से बिल्कुल नया password बन जाता है, और सिर्फ “version” बदलकर history भी आसानी से देखी जा सकती है

    • कमी यह है कि share करना लगभग असंभव है (दूसरे व्यक्ति को मेरा passphrase पता होना चाहिए)

    • share की ज़रूरत हो तो password generator से ciphertext बनाकर अलग metadata की तरह store करने वाला mode भी सोचा था, लेकिन व्यवहार में उसकी खास ज़रूरत नहीं पड़ी

    • password generator वाला तरीका अच्छा इसलिए है कि vault खो जाने की चिंता कम हो जाती है

      • सिर्फ common hash function हो तो किसी भी environment में password generate किया जा सकता है
      • समस्या यह है कि metadata (site list, rules वगैरह) सार्वजनिक हो सकता है, इसलिए security concern बना रहता है
      • यह vault model से मूल रूप से बहुत अलग नहीं लगता
    • हाल में SECUSO password generator के ज़रिए इस तरीके के बारे में जाना https://secuso.aifb.kit.edu/english/105.php

      • deterministically generated password इस्तेमाल कर रहा हूँ
      • SECUSO के open source apps का संग्रह भी अच्छा है
    • passphrase share करने से exposure surface बढ़ जाती है, इसलिए एक बार leak होने पर कई credentials एक साथ जोखिम में आ जाते हैं

  • मैं 8 साल से अधिक समय से pass इस्तेमाल कर रहा हूँ, और 1300 passwords store करता हूँ

    • devices के बीच git से sync करता हूँ और इससे बहुत संतुष्ट हूँ

    • "1300 passwords इतने ज़्यादा कैसे हो गए?"

      • सच कहूँ तो मैंने गिनती नहीं की, लेकिन मुझे भी सही-सही नहीं पता कि मेरे पास वास्तव में कितने हैं