{"_id":"@ipshipyard/keychain","_rev":"4-147d61533afb76ff8b189b902b3cdb35","name":"@ipshipyard/keychain","dist-tags":{"latest":"1.0.2"},"versions":{"0.0.0":{"name":"@ipshipyard/keychain","version":"0.0.0","license":"Apache-2.0 OR MIT","_id":"@ipshipyard/keychain@0.0.0","maintainers":[{"name":"aschmahmann","email":"adin.schmahmann@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipshipyard-publisher-bot","email":"alex.potsides+ipshipyard-publisher-bot@ipshipyard.com"}],"homepage":"https://github.com/ipshipyard/js-keychain#readme","bugs":{"url":"https://github.com/ipshipyard/js-keychain/issues"},"dist":{"shasum":"277035087f4c1e4394768d57de32856bf61213f9","tarball":"https://registry.npmjs.org/@ipshipyard/keychain/-/keychain-0.0.0.tgz","fileCount":12,"integrity":"sha512-eYMtIpQRoJv+zfVfryqUSvXI+x3dGwAqs63jtetZTNR31kZGKHywOHTnqPD8RtyCakISsrrFCN3MK4z3igxLcg==","signatures":[{"sig":"MEQCICr/yPrOP4zMIwjF12Yyqw1VtOPnXncMniEQi4yeoZxqAiA2JagDkNslPczA9TixGCaDy171K17tpYAzEQYk49Hk1g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65334},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","module-sync":"./dist/src/index.js"}},"release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"release":"major","breaking":true},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["CHANGELOG.md","package.json"]}]],"branches":["main"]},"scripts":{"docs":"aegir docs","lint":"aegir lint","test":"aegir test -t node","build":"aegir build --bundle false","clean":"aegir clean","release":"aegir release","dep-check":"aegir dep-check","doc-check":"aegir doc-check","test:node":"aegir test -t node --cov","spell-check":"aegir spell-check"},"_npmUser":{"name":"achingbrain","email":"alex@achingbrain.net"},"overrides":{"interface-datastore":"^10.0.1"},"repository":{"url":"git+https://github.com/ipshipyard/js-keychain.git","type":"git"},"_npmVersion":"11.8.0","description":"Generate and securely store private keys at rest","directories":{},"sideEffects":false,"_nodeVersion":"24.13.1","dependencies":{"abort-error":"^1.0.2","uint8arrays":"^6.1.1","multiformats":"^14.0.0","uint8arraylist":"^3.0.2","protons-runtime":"^7.0.0","@libp2p/interface":"^3.2.0","sanitize-filename":"^1.6.4","interface-datastore":"^10.0.1"},"_hasShrinkwrap":false,"devDependencies":{"aegir":"^48.0.4","it-all":"^3.0.11","protons":"^9.0.1","@types/sinon":"^21.0.1","@libp2p/crypto":"^5.1.15","@libp2p/logger":"^6.2.4","datastore-core":"^12.0.1","@libp2p/keychain":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/keychain_0.0.0_1779782171370_0.7569610737777552","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@ipshipyard/keychain","version":"1.0.0","license":"Apache-2.0 OR MIT","_id":"@ipshipyard/keychain@1.0.0","maintainers":[{"name":"aschmahmann","email":"adin.schmahmann@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipshipyard-publisher-bot","email":"alex.potsides+ipshipyard-publisher-bot@ipshipyard.com"}],"homepage":"https://github.com/ipshipyard/js-keychain#readme","bugs":{"url":"https://github.com/ipshipyard/js-keychain/issues"},"dist":{"shasum":"56eb605b6c9d012c4d274df369ba786b8d702f58","tarball":"https://registry.npmjs.org/@ipshipyard/keychain/-/keychain-1.0.0.tgz","fileCount":25,"integrity":"sha512-3C+Z5mjZK/RTT+7csuEtnXf7G3FewTNxpKuf1ULc8VwLkAId0U4iXfB/EWssRjO8isxF5Y8bHN0MsHthwgmhtg==","signatures":[{"sig":"MEUCIBKZEZ5VGjngkfhTYB8POBGxF5HtQNmR+lklXWRcyi99AiEA+Y+glDhLDb5LKN0sXMdscrxwd4Ppp0Nc7uRpRRphsQE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ipshipyard%2fkeychain@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":401705},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","module-sync":"./dist/src/index.js"}},"gitHead":"d10500f1450b1bd6379ac06776c9c55bded1322b","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"release":"major","breaking":true},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["CHANGELOG.md","package.json"]}]],"branches":["main"]},"scripts":{"docs":"aegir docs","lint":"aegir lint","test":"aegir test","build":"aegir build","clean":"aegir clean","release":"aegir release","dep-check":"aegir dep-check","doc-check":"aegir doc-check","test:deno":"aegir test -t deno","test:node":"aegir test -t node --cov","spell-check":"aegir spell-check","test:chrome":"aegir test -t browser --cov","test:firefox":"aegir test -t browser -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:chrome-webworker":"aegir test -t webworker","test:firefox-webworker":"aegir test -t webworker -- --browser firefox"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cdbb3f5a-dfd0-4943-9aa5-38417a164e6c"}},"repository":{"url":"git+https://github.com/ipshipyard/js-keychain.git","type":"git"},"_npmVersion":"11.15.0","description":"Generate and securely store private keys at rest","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"abort-error":"^1.0.2","uint8arrays":"^6.1.1","multiformats":"^14.0.0","sanitize-filename":"^1.6.4","@ipshipyard/crypto":"^1.0.1","interface-datastore":"^10.0.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"aegir":"^48.0.4","birnam":"^1.0.0","it-all":"^3.0.11","@types/sinon":"^21.0.1","@libp2p/crypto":"^5.1.15","datastore-core":"^12.0.1","@libp2p/keychain":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/keychain_1.0.0_1779876781600_0.03597278116862257","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@ipshipyard/keychain","version":"1.0.1","license":"Apache-2.0 OR MIT","_id":"@ipshipyard/keychain@1.0.1","maintainers":[{"name":"aschmahmann","email":"adin.schmahmann@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipshipyard-publisher-bot","email":"alex.potsides+ipshipyard-publisher-bot@ipshipyard.com"}],"homepage":"https://github.com/ipshipyard/js-keychain#readme","bugs":{"url":"https://github.com/ipshipyard/js-keychain/issues"},"dist":{"shasum":"47ac5121a46a5e03548762137db12274ea1268a8","tarball":"https://registry.npmjs.org/@ipshipyard/keychain/-/keychain-1.0.1.tgz","fileCount":25,"integrity":"sha512-RZThTMItNzXq6xaNJuaugk0ViwGgMGTNyCY8rWFo1RsXqMjMbg7XrRTYchRRSCEjirP5Myav1ty51dGnecEcog==","signatures":[{"sig":"MEYCIQCYZ7tX6/NWyArJl9OEO1apcwZtYbRaLqdjJ2hvUy6bKAIhANPXYqMDckUmJcOcAGuHvjvk0jPsYx8GbRGqyEnBkSPl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ipshipyard%2fkeychain@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":402616},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","module-sync":"./dist/src/index.js"}},"gitHead":"b0fc2b21cb5da1103d706d1610dfbce6e9dc93f3","release":{"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"release":"major","breaking":true},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["CHANGELOG.md","package.json"]}]],"branches":["main"]},"scripts":{"docs":"aegir docs","lint":"aegir lint","test":"aegir test","build":"aegir build","clean":"aegir clean","release":"aegir release","dep-check":"aegir dep-check","doc-check":"aegir doc-check","test:deno":"aegir test -t deno","test:node":"aegir test -t node --cov","spell-check":"aegir spell-check","test:chrome":"aegir test -t browser --cov","test:firefox":"aegir test -t browser -- --browser firefox","test:electron-main":"aegir test -t electron-main","test:chrome-webworker":"aegir test -t webworker","test:firefox-webworker":"aegir test -t webworker -- --browser firefox"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cdbb3f5a-dfd0-4943-9aa5-38417a164e6c"}},"repository":{"url":"git+https://github.com/ipshipyard/js-keychain.git","type":"git"},"_npmVersion":"11.15.0","description":"Generate and securely store private keys at rest","directories":{},"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"abort-error":"^1.0.2","uint8arrays":"^6.1.1","multiformats":"^14.0.0","sanitize-filename":"^1.6.4","@ipshipyard/crypto":"^1.0.1","interface-datastore":"^10.0.1"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"aegir":"^48.0.4","birnam":"^1.0.0","it-all":"^3.0.11","@types/sinon":"^21.0.1","@libp2p/crypto":"^5.1.15","datastore-core":"^12.0.1","@libp2p/keychain":"^6.1.1"},"_npmOperationalInternal":{"tmp":"tmp/keychain_1.0.1_1779878738015_0.4365024491861924","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@ipshipyard/keychain","version":"1.0.2","description":"Generate and securely store private keys at rest","license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipshipyard/js-keychain#readme","repository":{"type":"git","url":"git+https://github.com/ipshipyard/js-keychain.git"},"bugs":{"url":"https://github.com/ipshipyard/js-keychain/issues"},"publishConfig":{"access":"public","provenance":true},"type":"module","types":"./dist/src/index.d.ts","exports":{".":{"types":"./dist/src/index.d.ts","import":"./dist/src/index.js","module-sync":"./dist/src/index.js"}},"release":{"branches":["main"],"plugins":[["@semantic-release/commit-analyzer",{"preset":"conventionalcommits","releaseRules":[{"breaking":true,"release":"major"},{"revert":true,"release":"patch"},{"type":"feat","release":"minor"},{"type":"fix","release":"patch"},{"type":"docs","release":"patch"},{"type":"test","release":"patch"},{"type":"deps","release":"patch"},{"scope":"no-release","release":false}]}],["@semantic-release/release-notes-generator",{"preset":"conventionalcommits","presetConfig":{"types":[{"type":"feat","section":"Features"},{"type":"fix","section":"Bug Fixes"},{"type":"chore","section":"Trivial Changes"},{"type":"docs","section":"Documentation"},{"type":"deps","section":"Dependencies"},{"type":"test","section":"Tests"}]}}],"@semantic-release/changelog","@semantic-release/npm","@semantic-release/github",["@semantic-release/git",{"assets":["CHANGELOG.md","package.json"]}]]},"scripts":{"build":"aegir build","clean":"aegir clean","lint":"aegir lint","dep-check":"aegir dep-check","doc-check":"aegir doc-check","spell-check":"aegir spell-check","docs":"aegir docs","test":"aegir test","test:chrome":"aegir test -t browser --cov","test:chrome-webworker":"aegir test -t webworker","test:firefox":"aegir test -t browser -- --browser firefox","test:firefox-webworker":"aegir test -t webworker -- --browser firefox","test:node":"aegir test -t node --cov","test:electron-main":"aegir test -t electron-main","test:deno":"aegir test -t deno","release":"aegir release"},"dependencies":{"@ipshipyard/crypto":"^1.1.0","abort-error":"^1.0.2","interface-datastore":"^10.0.1","multiformats":"^14.0.0","sanitize-filename":"^1.6.4","uint8arrays":"^6.1.1"},"devDependencies":{"@libp2p/crypto":"^5.1.15","@libp2p/keychain":"^6.1.1","@types/sinon":"^21.0.1","aegir":"^48.0.4","birnam":"^1.0.0","datastore-core":"^12.0.1","it-all":"^3.0.11"},"sideEffects":false,"gitHead":"72236493efa7e3f598290ff957ada0dad8eb02f5","_id":"@ipshipyard/keychain@1.0.2","_nodeVersion":"24.15.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-otMCFOItScEX3VNy/gHF+CVd2QGPNo75uwZBoYUj2Rr8xnF5eq1nlbk6iEqH6cwqu2j/UuzFvtD2s2lmGo0mDA==","shasum":"6c47e2108eae9c97758b3892ea4bb9ce4fd52c76","tarball":"https://registry.npmjs.org/@ipshipyard/keychain/-/keychain-1.0.2.tgz","fileCount":25,"unpackedSize":400847,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ipshipyard%2fkeychain@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICPKJFzyKKyLGzLqVYCGx+RcSiYAFOioZusTgpnBcK8BAiBLllELx4FxDOBRT5x6AtIUw7OudyeHDpnj5SQrET2N9Q=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cdbb3f5a-dfd0-4943-9aa5-38417a164e6c"}},"directories":{},"maintainers":[{"name":"aschmahmann","email":"adin.schmahmann@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipshipyard-publisher-bot","email":"alex.potsides+ipshipyard-publisher-bot@ipshipyard.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/keychain_1.0.2_1779959154289_0.38496430747342014"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-26T07:56:11.142Z","modified":"2026-05-28T09:05:54.810Z","0.0.0":"2026-05-26T07:56:11.541Z","1.0.0":"2026-05-27T10:13:01.735Z","1.0.1":"2026-05-27T10:45:38.167Z","1.0.2":"2026-05-28T09:05:54.435Z"},"bugs":{"url":"https://github.com/ipshipyard/js-keychain/issues"},"license":"Apache-2.0 OR MIT","homepage":"https://github.com/ipshipyard/js-keychain#readme","repository":{"type":"git","url":"git+https://github.com/ipshipyard/js-keychain.git"},"description":"Generate and securely store private keys at rest","maintainers":[{"name":"aschmahmann","email":"adin.schmahmann@gmail.com"},{"name":"achingbrain","email":"alex@achingbrain.net"},{"name":"ipshipyard-publisher-bot","email":"alex.potsides+ipshipyard-publisher-bot@ipshipyard.com"}],"readme":"# @ipshipyard/keychain\n\n[![codecov](https://img.shields.io/codecov/c/github/ipshipyard/js-keychain.svg?style=flat-square)](https://codecov.io/gh/ipshipyard/js-keychain)\n[![CI](https://img.shields.io/github/actions/workflow/status/ipshipyard/js-keychain/js-test-and-release.yml?branch=main\\&style=flat-square)](https://github.com/ipshipyard/js-keychain/actions/workflows/js-test-and-release.yml?query=branch%3Amain)\n\n> Generate and securely store private keys at rest\n\n# About\n\n<!--\n\n!IMPORTANT!\n\nEverything in this README between \"# About\" and \"# Install\" is automatically\ngenerated and will be overwritten the next time the doc generator is run.\n\nTo make changes to this section, please update the @packageDocumentation section\nof src/index.js or src/index.ts\n\nTo experiment with formatting, please run \"npm run docs\" from the root of this\nrepo and examine the changes made.\n\n-->\n\nA WebCrypto-first keychain implementation for use with Helia and libp2p.\n\n## Configuring additional implementations\n\nECDSA, Ed25519 and RSA keys are supported out of the box but other schemes\nare configurable by passing a `CryptoLoader` that can return `Crypto`\ninstances.\n\n# Install\n\n```console\n$ npm i @ipshipyard/keychain\n```\n\n## Browser `<script>` tag\n\nLoading this module through a script tag will make its exports available as `IpshipyardKeychain` in the global namespace.\n\n```html\n<script src=\"https://unpkg.com/@ipshipyard/keychain/dist/index.min.js\"></script>\n```\n\n# API Docs\n\n- <https://ipshipyard.github.io/js-keychain>\n\n# License\n\nLicensed under either of\n\n- Apache 2.0, ([LICENSE-APACHE](https://github.com/ipshipyard/js-keychain/LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)\n- MIT ([LICENSE-MIT](https://github.com/ipshipyard/js-keychain/LICENSE-MIT) / <http://opensource.org/licenses/MIT>)\n\n# Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n","readmeFilename":"README.md"}