{"_id":"@cubist-labs/cubesigner-sdk-az-keyvault-storage","_rev":"10-d9dc72dfe87e16df3e9f009abbf74bfd","name":"@cubist-labs/cubesigner-sdk-az-keyvault-storage","dist-tags":{"latest":"0.4.284"},"versions":{"0.4.270":{"name":"@cubist-labs/cubesigner-sdk-az-keyvault-storage","version":"0.4.270","author":{"name":"Cubist, Inc."},"license":"MIT OR Apache-2.0","_id":"@cubist-labs/cubesigner-sdk-az-keyvault-storage@0.4.270","maintainers":[{"name":"mlfbrown_cubist","email":"f@cubist.dev"},{"name":"amilicevic","email":"m@cubist.dev"},{"name":"noetzli","email":"n@cubist.dev"}],"homepage":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK#readme","bugs":{"url":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK/issues"},"dist":{"shasum":"9c0c5ac85d5f3639d3064ff39778173e4b366571","tarball":"https://registry.npmjs.org/@cubist-labs/cubesigner-sdk-az-keyvault-storage/-/cubesigner-sdk-az-keyvault-storage-0.4.270.tgz","fileCount":7,"integrity":"sha512-5cLlclQQHA2W7+i/u5sgoZgGyZH/QDMuQOpklHypyLd3NoGMT9Fu1Wm3R+ZXjxpSriifFof6r+StbrzdBYRqFA==","signatures":[{"sig":"MEYCIQD6NW3JUcOymxJkH1gwCMpKFSwUT3/negj4tgq7NV1pdwIhAPaA+xqbIsa3kC5ImDyJa5S3CHGYVGVzvq+Ozi0hyIQe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43892},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"13e2d1265aac7d5ddd8523bc1f46d13624af697f","scripts":{"test":"vitest run","build":"tsc","prepack":"tsc"},"_npmUser":{"name":"amilicevic","email":"m@cubist.dev"},"repository":{"url":"git+https://github.com/cubist-labs/CubeSigner-TypeScript-SDK.git","type":"git","directory":"packages/az-keyvault-storage"},"_npmVersion":"11.14.1","description":"CubeSigner SDK session manager backed by Azure Key Vault","directories":{"test":"test"},"_nodeVersion":"24.14.0","dependencies":{"@azure/identity":"^4.13.1","@azure/keyvault-secrets":"^4.11.2"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{"@cubist-labs/cubesigner-sdk":"^0.4.270"},"_npmOperationalInternal":{"tmp":"tmp/cubesigner-sdk-az-keyvault-storage_0.4.270_1782342074617_0.48023805068631065","host":"s3://npm-registry-packages-npm-production"}},"0.4.272":{"name":"@cubist-labs/cubesigner-sdk-az-keyvault-storage","version":"0.4.272","author":{"name":"Cubist, Inc."},"license":"MIT OR Apache-2.0","_id":"@cubist-labs/cubesigner-sdk-az-keyvault-storage@0.4.272","maintainers":[{"name":"mlfbrown_cubist","email":"f@cubist.dev"},{"name":"amilicevic","email":"m@cubist.dev"},{"name":"noetzli","email":"n@cubist.dev"}],"homepage":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK#readme","bugs":{"url":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK/issues"},"dist":{"shasum":"dba54f3c7d1e302964a9e94759f1a4dbbc9df9ed","tarball":"https://registry.npmjs.org/@cubist-labs/cubesigner-sdk-az-keyvault-storage/-/cubesigner-sdk-az-keyvault-storage-0.4.272.tgz","fileCount":7,"integrity":"sha512-BR3+dEyj53gdmKQ/nU8k16E7Vt7TnclQhTrXV6HyXNgw6nqyUmRf94ahlQYQpg7h0w1adn5JMyjeLq/aQg5qag==","signatures":[{"sig":"MEYCIQCrXVHlTKnYE0+Zmu8LMbLUz323WuyOLH1u6I1C+FVZEgIhAKsM278JYb29B3GreiMbUs4Nq+rqs8UKQCfQ046WUCDQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cubist-labs%2fcubesigner-sdk-az-keyvault-storage@0.4.272","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":43888},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"4a813fad26cd36793e80c91e42a26cf40e4cf51c","scripts":{"test":"vitest run","build":"tsc","prepack":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:390d7b65-e380-4f9b-a84c-93ec09b4c318"}},"repository":{"url":"git+https://github.com/cubist-labs/CubeSigner-TypeScript-SDK.git","type":"git","directory":"packages/az-keyvault-storage"},"_npmVersion":"11.7.0","description":"CubeSigner SDK session manager backed by Azure Key Vault","directories":{"test":"test"},"_nodeVersion":"24.15.0","dependencies":{"@azure/identity":"^4.13.1","@azure/keyvault-secrets":"^4.11.2"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{"@cubist-labs/cubesigner-sdk":"^0.4.272"},"_npmOperationalInternal":{"tmp":"tmp/cubesigner-sdk-az-keyvault-storage_0.4.272_1784202379009_0.034217886685453225","host":"s3://npm-registry-packages-npm-production"}},"0.4.273":{"name":"@cubist-labs/cubesigner-sdk-az-keyvault-storage","version":"0.4.273","author":{"name":"Cubist, Inc."},"license":"MIT OR Apache-2.0","_id":"@cubist-labs/cubesigner-sdk-az-keyvault-storage@0.4.273","maintainers":[{"name":"mlfbrown_cubist","email":"f@cubist.dev"},{"name":"amilicevic","email":"m@cubist.dev"},{"name":"noetzli","email":"n@cubist.dev"}],"homepage":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK#readme","bugs":{"url":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK/issues"},"dist":{"shasum":"3c550baff7c528c4962208d468087af50bd7769f","tarball":"https://registry.npmjs.org/@cubist-labs/cubesigner-sdk-az-keyvault-storage/-/cubesigner-sdk-az-keyvault-storage-0.4.273.tgz","fileCount":7,"integrity":"sha512-FR8qc6h5Xr8H2jKZMAbR66XHaKSEAlV26yk+Bgw0S8kC2F3itiZeiFR2qYvHFuCeZR1Z03DyX5mdCzftz22/SA==","signatures":[{"sig":"MEUCIA7QD25nwJpn8J0ta11cjY8MRAUoT4Mp+iJBxqtPSTBqAiEAq5SFt99UQRFLW263oHFnyl3xyAzwlguS1sWy9SqdUj0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cubist-labs%2fcubesigner-sdk-az-keyvault-storage@0.4.273","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":43888},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"6cffc20f05ce7822a528be9cb7acc87fba52b871","scripts":{"test":"vitest run","build":"tsc","prepack":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:390d7b65-e380-4f9b-a84c-93ec09b4c318"}},"repository":{"url":"git+https://github.com/cubist-labs/CubeSigner-TypeScript-SDK.git","type":"git","directory":"packages/az-keyvault-storage"},"_npmVersion":"11.7.0","description":"CubeSigner SDK session manager backed by Azure Key Vault","directories":{"test":"test"},"_nodeVersion":"24.15.0","dependencies":{"@azure/identity":"^4.13.1","@azure/keyvault-secrets":"^4.11.2"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{"@cubist-labs/cubesigner-sdk":"^0.4.273"},"_npmOperationalInternal":{"tmp":"tmp/cubesigner-sdk-az-keyvault-storage_0.4.273_1784898424153_0.011559279205439532","host":"s3://npm-registry-packages-npm-production"}},"0.4.274":{"name":"@cubist-labs/cubesigner-sdk-az-keyvault-storage","version":"0.4.274","author":{"name":"Cubist, Inc."},"license":"MIT OR Apache-2.0","_id":"@cubist-labs/cubesigner-sdk-az-keyvault-storage@0.4.274","maintainers":[{"name":"mlfbrown_cubist","email":"f@cubist.dev"},{"name":"amilicevic","email":"m@cubist.dev"},{"name":"noetzli","email":"n@cubist.dev"}],"homepage":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK#readme","bugs":{"url":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK/issues"},"dist":{"shasum":"4afa38fd88c8e3cd7e88b3ba59e6e349af67f835","tarball":"https://registry.npmjs.org/@cubist-labs/cubesigner-sdk-az-keyvault-storage/-/cubesigner-sdk-az-keyvault-storage-0.4.274.tgz","fileCount":7,"integrity":"sha512-Fv8bkGRAhd6UmKRbU8yN58V65rRzYXl/WHJznMsSYjdW2E3WAPhSBfaVqs6E/flFJ5HtlOvPSw9R6z6hedNkmA==","signatures":[{"sig":"MEMCHw/rr9QCgWZmSeng+QcNu09HnLTjDY7YCASIiw7l0WoCIA1FeO1f3U7lQ9Entocc3kT0btPWlGLs/+OVkxSY1PZE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cubist-labs%2fcubesigner-sdk-az-keyvault-storage@0.4.274","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":43888},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"cbd3fe198344341be52ed54b30842b6c7a18df30","scripts":{"test":"vitest run","build":"tsc","prepack":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:390d7b65-e380-4f9b-a84c-93ec09b4c318"}},"repository":{"url":"git+https://github.com/cubist-labs/CubeSigner-TypeScript-SDK.git","type":"git","directory":"packages/az-keyvault-storage"},"_npmVersion":"11.7.0","description":"CubeSigner SDK session manager backed by Azure Key Vault","directories":{"test":"test"},"_nodeVersion":"24.15.0","dependencies":{"@azure/identity":"^4.13.1","@azure/keyvault-secrets":"^4.11.2"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{"@cubist-labs/cubesigner-sdk":"^0.4.274"},"_npmOperationalInternal":{"tmp":"tmp/cubesigner-sdk-az-keyvault-storage_0.4.274_1785392563903_0.9223987794687991","host":"s3://npm-registry-packages-npm-production"}},"0.4.275":{"name":"@cubist-labs/cubesigner-sdk-az-keyvault-storage","version":"0.4.275","author":{"name":"Cubist, Inc."},"license":"MIT OR Apache-2.0","_id":"@cubist-labs/cubesigner-sdk-az-keyvault-storage@0.4.275","maintainers":[{"name":"mlfbrown_cubist","email":"f@cubist.dev"},{"name":"amilicevic","email":"m@cubist.dev"},{"name":"noetzli","email":"n@cubist.dev"}],"homepage":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK#readme","bugs":{"url":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK/issues"},"dist":{"shasum":"432d656b7862b1a1f045117de6192f6e53136bab","tarball":"https://registry.npmjs.org/@cubist-labs/cubesigner-sdk-az-keyvault-storage/-/cubesigner-sdk-az-keyvault-storage-0.4.275.tgz","fileCount":7,"integrity":"sha512-o/+3/JuzVc45YrU3KyxNPrlZF6J6TvxpkaJxunRLHhs96Cmue3Kr8pA4tPj6nVUwrtIUgu2GuLzhh2TkwIwVZg==","signatures":[{"sig":"MEUCIH1y/EKxdms2+zWhVl13P1xxGtocfoW4RVDHg3WpdwPPAiEAmiJXOA+nWIbsZsayM2eOXtMDSrHfHA2WQ40H5kYG/s0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cubist-labs%2fcubesigner-sdk-az-keyvault-storage@0.4.275","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":43888},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"4c91bc0a5953205acabcd6fc8bff629f7870010b","scripts":{"test":"vitest run","build":"tsc","prepack":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:390d7b65-e380-4f9b-a84c-93ec09b4c318"}},"repository":{"url":"git+https://github.com/cubist-labs/CubeSigner-TypeScript-SDK.git","type":"git","directory":"packages/az-keyvault-storage"},"_npmVersion":"11.7.0","description":"CubeSigner SDK session manager backed by Azure Key Vault","directories":{"test":"test"},"_nodeVersion":"24.15.0","dependencies":{"@azure/identity":"^4.13.1","@azure/keyvault-secrets":"^4.11.2"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{"@cubist-labs/cubesigner-sdk":"^0.4.275"},"_npmOperationalInternal":{"tmp":"tmp/cubesigner-sdk-az-keyvault-storage_0.4.275_1785823415185_0.7593305612951777","host":"s3://npm-registry-packages-npm-production"}},"0.4.276":{"name":"@cubist-labs/cubesigner-sdk-az-keyvault-storage","version":"0.4.276","author":{"name":"Cubist, Inc."},"license":"MIT OR Apache-2.0","_id":"@cubist-labs/cubesigner-sdk-az-keyvault-storage@0.4.276","maintainers":[{"name":"mlfbrown_cubist","email":"f@cubist.dev"},{"name":"amilicevic","email":"m@cubist.dev"},{"name":"noetzli","email":"n@cubist.dev"}],"homepage":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK#readme","bugs":{"url":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK/issues"},"dist":{"shasum":"a11df86b037f676853cc8c91249dbae350703a82","tarball":"https://registry.npmjs.org/@cubist-labs/cubesigner-sdk-az-keyvault-storage/-/cubesigner-sdk-az-keyvault-storage-0.4.276.tgz","fileCount":7,"integrity":"sha512-F43VDpbLq1ahNAQ3Kc7S/7FQcPXz3/Uc78GP05R5XgIxGKgELM9Bbm6DSuxJAfXXlp9l+VgllEEvjI1Qi42sCg==","signatures":[{"sig":"MEUCIB/2NjA5Ht5RXe3el/e1sn4vs/d+591znjHtanRoW6JfAiEA79yTaNDzhRtxWB89T2oF66EGD9pbNU8vB3bFWngjN+s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cubist-labs%2fcubesigner-sdk-az-keyvault-storage@0.4.276","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":43888},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"b1691f478190f7ac244114bb35e18b152a89ed82","scripts":{"test":"vitest run","build":"tsc","prepack":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:390d7b65-e380-4f9b-a84c-93ec09b4c318"}},"repository":{"url":"git+https://github.com/cubist-labs/CubeSigner-TypeScript-SDK.git","type":"git","directory":"packages/az-keyvault-storage"},"_npmVersion":"11.7.0","description":"CubeSigner SDK session manager backed by Azure Key Vault","directories":{"test":"test"},"_nodeVersion":"24.15.0","dependencies":{"@azure/identity":"^4.13.1","@azure/keyvault-secrets":"^4.11.2"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{"@cubist-labs/cubesigner-sdk":"^0.4.276"},"_npmOperationalInternal":{"tmp":"tmp/cubesigner-sdk-az-keyvault-storage_0.4.276_1786025114273_0.5374854720687376","host":"s3://npm-registry-packages-npm-production"}},"0.4.279":{"name":"@cubist-labs/cubesigner-sdk-az-keyvault-storage","version":"0.4.279","author":{"name":"Cubist, Inc."},"license":"MIT OR Apache-2.0","_id":"@cubist-labs/cubesigner-sdk-az-keyvault-storage@0.4.279","maintainers":[{"name":"mlfbrown_cubist","email":"f@cubist.dev"},{"name":"amilicevic","email":"m@cubist.dev"},{"name":"noetzli","email":"n@cubist.dev"}],"homepage":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK#readme","bugs":{"url":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK/issues"},"dist":{"shasum":"88884bf63457373de1309fcbf0958678d9485e93","tarball":"https://registry.npmjs.org/@cubist-labs/cubesigner-sdk-az-keyvault-storage/-/cubesigner-sdk-az-keyvault-storage-0.4.279.tgz","fileCount":7,"integrity":"sha512-TiZ4UfsdWpvXTT6ZzVy+FIOIdW3QBxUwffQe2BywMw8LEPjBv1S1fU3o8wd5fvpk9rB5a+9BUp9nMTGbPR1aKQ==","signatures":[{"sig":"MEQCIDI0FnwtEyFSY6Eh6z3zmXxlph/WPa7cCleZM8sklN9oAiAPV0ij5okcmzDMPDVAoHYEMydsh+QbV+ZoVmSQnrHcEw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cubist-labs%2fcubesigner-sdk-az-keyvault-storage@0.4.279","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":43888},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"1ddb40ec47367caed9fbe051804ff8a4116ad8c9","scripts":{"test":"vitest run","build":"tsc","prepack":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:390d7b65-e380-4f9b-a84c-93ec09b4c318"}},"repository":{"url":"git+https://github.com/cubist-labs/CubeSigner-TypeScript-SDK.git","type":"git","directory":"packages/az-keyvault-storage"},"_npmVersion":"11.7.0","description":"CubeSigner SDK session manager backed by Azure Key Vault","directories":{"test":"test"},"_nodeVersion":"24.15.0","dependencies":{"@azure/identity":"^4.13.1","@azure/keyvault-secrets":"^4.11.2"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{"@cubist-labs/cubesigner-sdk":"^0.4.279"},"_npmOperationalInternal":{"tmp":"tmp/cubesigner-sdk-az-keyvault-storage_0.4.279_1786547499452_0.366173928517735","host":"s3://npm-registry-packages-npm-production"}},"0.4.280":{"name":"@cubist-labs/cubesigner-sdk-az-keyvault-storage","version":"0.4.280","author":{"name":"Cubist, Inc."},"license":"MIT OR Apache-2.0","_id":"@cubist-labs/cubesigner-sdk-az-keyvault-storage@0.4.280","maintainers":[{"name":"mlfbrown_cubist","email":"f@cubist.dev"},{"name":"amilicevic","email":"m@cubist.dev"},{"name":"noetzli","email":"n@cubist.dev"}],"homepage":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK#readme","bugs":{"url":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK/issues"},"dist":{"shasum":"fe4f624424ae301edcac36800dd17c0e8bb5a33e","tarball":"https://registry.npmjs.org/@cubist-labs/cubesigner-sdk-az-keyvault-storage/-/cubesigner-sdk-az-keyvault-storage-0.4.280.tgz","fileCount":7,"integrity":"sha512-FDh7v+Q9m5sJwnTuN5elTY+VievTvnYo2ILusov2V8hC3ytidWzKfDj6ApPBu6ZvnRHMoRT8nkNkdkeVo8aA7g==","signatures":[{"sig":"MEUCIQDsC84fgYIbKnC33OBHsBbOfSlIA/bNS9mqj9Y8zsDCkwIgT2vt8H5t4KhEdfvwoSWB8G7sWI0zE3AbVQ0PZDDH6fs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cubist-labs%2fcubesigner-sdk-az-keyvault-storage@0.4.280","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":43888},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"3a6132d0035dc9c34aea180b5dd73825167ae6de","scripts":{"test":"vitest run","build":"tsc","prepack":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:390d7b65-e380-4f9b-a84c-93ec09b4c318"}},"repository":{"url":"git+https://github.com/cubist-labs/CubeSigner-TypeScript-SDK.git","type":"git","directory":"packages/az-keyvault-storage"},"_npmVersion":"11.7.0","description":"CubeSigner SDK session manager backed by Azure Key Vault","directories":{"test":"test"},"_nodeVersion":"24.15.0","dependencies":{"@azure/identity":"^4.13.1","@azure/keyvault-secrets":"^4.11.2"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{"@cubist-labs/cubesigner-sdk":"^0.4.280"},"_npmOperationalInternal":{"tmp":"tmp/cubesigner-sdk-az-keyvault-storage_0.4.280_1786702706966_0.5729610632204707","host":"s3://npm-registry-packages-npm-production"}},"0.4.281":{"name":"@cubist-labs/cubesigner-sdk-az-keyvault-storage","version":"0.4.281","author":{"name":"Cubist, Inc."},"license":"MIT OR Apache-2.0","_id":"@cubist-labs/cubesigner-sdk-az-keyvault-storage@0.4.281","maintainers":[{"name":"mlfbrown_cubist","email":"f@cubist.dev"},{"name":"amilicevic","email":"m@cubist.dev"},{"name":"noetzli","email":"n@cubist.dev"}],"homepage":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK#readme","bugs":{"url":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK/issues"},"dist":{"shasum":"ef167bcb601697a0834ace56638a982cdaeaca1a","tarball":"https://registry.npmjs.org/@cubist-labs/cubesigner-sdk-az-keyvault-storage/-/cubesigner-sdk-az-keyvault-storage-0.4.281.tgz","fileCount":7,"integrity":"sha512-MWrInGZ/nDePsLv0EYQlRUugdkj2EevXhwMSkal3WzD7+WppnmuD9y5gBt42Jb5Q8ruKt3N/LSUq2lKu114Enw==","signatures":[{"sig":"MEUCIDDCJ8mm7+7hau2ElJCQhSy4CLm8Ca/5gZPPiUJNUI1PAiEApgqoQ1DApQuhAF97y32ULIHbE6Hp9Wu1PQ5qwtLYn1I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cubist-labs%2fcubesigner-sdk-az-keyvault-storage@0.4.281","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":43888},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"bb857d0c0c82c0cc15d633f41ca805c7aa6b450d","scripts":{"test":"vitest run","build":"tsc","prepack":"tsc"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:390d7b65-e380-4f9b-a84c-93ec09b4c318"}},"repository":{"url":"git+https://github.com/cubist-labs/CubeSigner-TypeScript-SDK.git","type":"git","directory":"packages/az-keyvault-storage"},"_npmVersion":"11.7.0","description":"CubeSigner SDK session manager backed by Azure Key Vault","directories":{"test":"test"},"_nodeVersion":"24.15.0","dependencies":{"@azure/identity":"^4.13.1","@azure/keyvault-secrets":"^4.11.2"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{"@cubist-labs/cubesigner-sdk":"^0.4.281"},"_npmOperationalInternal":{"tmp":"tmp/cubesigner-sdk-az-keyvault-storage_0.4.281_1787147186790_0.9187473976214737","host":"s3://npm-registry-packages-npm-production"}},"0.4.284":{"_id":"@cubist-labs/cubesigner-sdk-az-keyvault-storage@0.4.284","bugs":{"url":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK/issues"},"dist":{"shasum":"1f5cd4f4d53d4bbc690fad2e58980b814ee2d7cf","tarball":"https://registry.npmjs.org/@cubist-labs/cubesigner-sdk-az-keyvault-storage/-/cubesigner-sdk-az-keyvault-storage-0.4.284.tgz","fileCount":7,"integrity":"sha512-hvyfNnIK4cUVsZlwAkQgtX8tZeqMNBk2ph4M0q677uOPSs2TyMkYHeQlRct6nxE5ld9+Y4hF76pHY9nrMgOhhg==","signatures":[{"sig":"MEUCIQC+j/fGe8oZhmr3dpqML7Gt+ByfLEDqf3OQsZBeU+TKeAIgZI4m3iOiI1oy7iHgm7oxVip4BOijcUrnjgMF2uSo4Z0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDohTR4/xlXORUM+7oHmETkHI56t8xZFvllcwlOEAIpXwIhAJr+a+bS1eZhMmIaARKpRzI8YfWklc1d4jrYwXg0llv0"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cubist-labs%2fcubesigner-sdk-az-keyvault-storage@0.4.284","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":43888},"main":"dist/index.js","name":"@cubist-labs/cubesigner-sdk-az-keyvault-storage","type":"module","types":"dist/index.d.ts","author":{"name":"Cubist, Inc."},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"gitHead":"29db4857f25bb971f183efce012283eb97c45885","license":"MIT OR Apache-2.0","scripts":{"test":"vitest run","build":"tsc","prepack":"tsc"},"version":"0.4.284","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:390d7b65-e380-4f9b-a84c-93ec09b4c318"}},"homepage":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK#readme","repository":{"url":"git+https://github.com/cubist-labs/CubeSigner-TypeScript-SDK.git","type":"git","directory":"packages/az-keyvault-storage"},"_npmVersion":"11.7.0","description":"CubeSigner SDK session manager backed by Azure Key Vault","directories":{"test":"test"},"maintainers":[{"name":"mlfbrown_cubist","email":"f@cubist.dev"},{"name":"amilicevic","email":"m@cubist.dev"},{"name":"noetzli","email":"n@cubist.dev"}],"_nodeVersion":"24.15.0","dependencies":{"@azure/identity":"^4.13.1","@azure/keyvault-secrets":"^4.11.2"},"_hasShrinkwrap":false,"devDependencies":{},"peerDependencies":{"@cubist-labs/cubesigner-sdk":"^0.4.284"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cubesigner-sdk-az-keyvault-storage_0.4.284_1788936328271_0.9888645705404753"}}},"time":{"created":"2026-06-24T23:01:14.461Z","modified":"2026-09-09T06:45:28.757Z","0.4.270":"2026-06-24T23:01:14.747Z","0.4.272":"2026-07-16T11:46:19.153Z","0.4.273":"2026-07-24T13:07:04.281Z","0.4.274":"2026-07-30T06:22:44.080Z","0.4.275":"2026-08-04T06:03:35.335Z","0.4.276":"2026-08-06T14:05:14.405Z","0.4.279":"2026-08-12T15:11:39.595Z","0.4.280":"2026-08-14T10:18:27.108Z","0.4.281":"2026-08-19T13:46:26.928Z","0.4.284":"2026-09-09T06:45:28.427Z"},"bugs":{"url":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK/issues"},"author":{"name":"Cubist, Inc."},"license":"MIT OR Apache-2.0","homepage":"https://github.com/cubist-labs/CubeSigner-TypeScript-SDK#readme","repository":{"url":"git+https://github.com/cubist-labs/CubeSigner-TypeScript-SDK.git","type":"git","directory":"packages/az-keyvault-storage"},"description":"CubeSigner SDK session manager backed by Azure Key Vault","maintainers":[{"name":"mlfbrown_cubist","email":"f@cubist.dev"},{"name":"amilicevic","email":"m@cubist.dev"},{"name":"noetzli","email":"n@cubist.dev"}],"readme":"# CubeSigner SDK session manager backed by Azure Key Vault\n\nThis package provides an Azure Key Vault-backed implementation of the\n`SessionManager` interface from the CubeSigner SDK.\n\nFor more information, check out the\n[@cubist-labs/cubesigner-sdk](https://www.npmjs.com/package/@cubist-labs/cubesigner-sdk)\nNPM package.\n\n## Installation\n\n```bash\nnpm install @cubist-labs/cubesigner-sdk-az-keyvault-storage\n```\n\n## Prerequisites\n\nBefore using this package, you need:\n\n1. **Azure Key Vault**: Create a Key Vault in Azure Portal or using Azure CLI:\n   ```bash\n   az keyvault create --name my-vault --resource-group my-rg --location eastus\n   ```\n\n2. **Permissions**: Ensure your application has the necessary permissions:\n   - **Get** permission to read secrets\n   - **Set** permission to create/update secrets\n\n   You can assign the \"Key Vault Secrets Officer\" or \"Key Vault Secrets User\" role:\n   ```bash\n   az role assignment create --role \"Key Vault Secrets Officer\" \\\n     --assignee <your-app-id> \\\n     --scope /subscriptions/<subscription-id>/resourceGroups/<rg>/providers/Microsoft.KeyVault/vaults/<vault-name>\n   ```\n\n3. **Authentication**: Configure Azure authentication using one of these methods:\n   - **Local Development**: Use Azure CLI login (`az login`)\n   - **Production**: Use Managed Identity (recommended) or Service Principal\n   - **Environment Variables**: Set `AZURE_TENANT_ID`, `AZURE_CLIENT_ID`, `AZURE_CLIENT_SECRET`\n\n## Usage\n\n### Basic Usage\n\n```typescript\nimport * as cs from \"@cubist-labs/cubesigner-sdk\";\nimport { AzureKeyVaultSessionManager } from \"@cubist-labs/cubesigner-sdk-az-keyvault-storage\";\n\n// Create a session manager\nconst vaultUrl = \"https://my-vault.vault.azure.net\";\nconst secretName = \"cubesigner-session\";\n\nconst sessionMgr = new AzureKeyVaultSessionManager(vaultUrl, secretName);\n\n// Use it to create a CubeSigner client\nconst client = await cs.CubeSignerClient.create(sessionMgr);\n\n// Use the client as normal\nconst user = await client.user();\nconsole.log(\"User:\", user.email);\n```\n\n### Storing a Session\n\nTo initially store a CubeSigner session in Azure Key Vault:\n\n```typescript\nimport * as cs from \"@cubist-labs/cubesigner-sdk\";\nimport { defaultManagementSessionManager } from \"@cubist-labs/cubesigner-sdk-fs-storage\";\nimport { AzureKeyVaultManager } from \"@cubist-labs/cubesigner-sdk-az-keyvault-storage\";\n\n// Create a session using your management credentials\nconst managementClient = await cs.CubeSignerClient.create(\n  defaultManagementSessionManager()\n);\n\n// Create a new session for your application\nconst sessionData = await managementClient.org().createSession(\n  \"my-app-session\",\n  [\"sign:*\"]\n);\n\n// Store it in Azure Key Vault\nconst vaultUrl = \"https://my-vault.vault.azure.net\";\nconst secretName = \"cubesigner-session\";\n\nconst manager = new AzureKeyVaultManager(vaultUrl, secretName);\nawait manager.update(sessionData);\n\nconsole.log(\"Session stored in Azure Key Vault!\");\n```\n\n### Custom Authentication\n\nBy default, the package uses `DefaultAzureCredential` which automatically detects\ncredentials from your environment. You can provide a custom credential:\n\n```typescript\nimport { ClientSecretCredential } from \"@azure/identity\";\nimport { AzureKeyVaultSessionManager } from \"@cubist-labs/cubesigner-sdk-az-keyvault-storage\";\n\nconst credential = new ClientSecretCredential(\n  process.env.AZURE_TENANT_ID!,\n  process.env.AZURE_CLIENT_ID!,\n  process.env.AZURE_CLIENT_SECRET!\n);\n\nconst sessionMgr = new AzureKeyVaultSessionManager(\n  \"https://my-vault.vault.azure.net\",\n  \"cubesigner-session\",\n  { credential }\n);\n```\n\n### Cache Configuration\n\nControl how long session data is cached:\n\n```typescript\nconst sessionMgr = new AzureKeyVaultSessionManager(\n  \"https://my-vault.vault.azure.net\",\n  \"cubesigner-session\",\n  {\n    // Cache session data for at most 5 minutes (300 seconds)\n    maxCacheLifetime: 300,\n  }\n);\n```\n\nWithout `maxCacheLifetime`, the cache expires based on the session token's\nexpiration time.\n\n### Refreshing Sessions\n\nUse `AzureKeyVaultManager` to refresh sessions stored in Azure Key Vault:\n\n```typescript\nimport { AzureKeyVaultManager } from \"@cubist-labs/cubesigner-sdk-az-keyvault-storage\";\n\nconst manager = new AzureKeyVaultManager(\n  \"https://my-vault.vault.azure.net\",\n  \"cubesigner-session\"\n);\n\n// Refresh the session (extends token lifetime)\nawait manager.refresh();\n```\n\nYou can set up a periodic refresh using a cron job, Azure Function, or similar:\n\n```typescript\n// Refresh every hour\nsetInterval(async () => {\n  try {\n    await manager.refresh();\n    console.log(\"Session refreshed successfully\");\n  } catch (error) {\n    console.error(\"Failed to refresh session:\", error);\n  }\n}, 60 * 60 * 1000); // 1 hour\n```\n\n## API Reference\n\n### `AzureKeyVaultSessionManager`\n\nSession manager that reads CubeSigner session tokens from Azure Key Vault.\n\n**Constructor:**\n```typescript\nnew AzureKeyVaultSessionManager(\n  vaultUrl: string,\n  secretName: string,\n  opts?: AzureKeyVaultSessionManagerOpts\n)\n```\n\n- `vaultUrl`: Azure Key Vault URL (e.g., \"https://my-vault.vault.azure.net\")\n- `secretName`: Name of the secret containing the session data\n- `opts`: Optional configuration\n  - `credential`: Custom Azure credential (default: `DefaultAzureCredential`)\n  - `maxCacheLifetime`: Maximum cache lifetime in seconds\n  - `clientOptions`: Options passed to Azure `SecretClient`\n\n**Methods:**\n- `token()`: Returns the current session token\n- `metadata()`: Returns session metadata\n- `onInvalidToken()`: Clears the cache (called automatically by SDK)\n\n### `AzureKeyVaultManager`\n\nManager for updating and refreshing CubeSigner sessions in Azure Key Vault.\n\n**Constructor:**\n```typescript\nnew AzureKeyVaultManager(\n  vaultUrl: string,\n  secretName: string,\n  credential?: TokenCredential,\n  clientOptions?: SecretClientOptions\n)\n```\n\n**Methods:**\n- `update(session: SessionData)`: Writes session data to the secret\n- `refresh()`: Refreshes the stored session and updates the secret\n\n## Differences from AWS Secrets Manager Implementation\n\n- **No rotation schedule checking**: Azure Key Vault doesn't have the same automatic\n  rotation scheduling as AWS Secrets Manager, so there's no `checkScheduledRotation` option\n- **Vault URL instead of ARN**: Azure uses HTTPS URLs while AWS uses ARNs\n- **DefaultAzureCredential**: Uses Azure Identity instead of AWS SDK credential chain\n\n## Best Practices\n\n1. **Use Managed Identity in production**: Avoid storing credentials in environment\n   variables when running in Azure (VM, App Service, Function, etc.)\n\n2. **Enable soft-delete**: Configure your Key Vault with soft-delete enabled to\n   prevent accidental secret deletion\n\n3. **Set appropriate cache lifetime**: Balance between reducing Key Vault API calls\n   and ensuring fresh session data\n\n4. **Implement session refresh**: Set up automated session refresh to avoid\n   session expiration\n\n5. **Use separate secrets for different environments**: Don't reuse the same\n   secret for dev, staging, and production\n\n## Troubleshooting\n\n### Authentication Errors\n\nIf you get authentication errors, verify:\n- You're logged in with `az login` (for local development)\n- Your application has the necessary Key Vault permissions\n- Environment variables are set correctly (for Service Principal auth)\n\n### Permission Errors\n\nEnsure your identity has these permissions on the Key Vault:\n- `Get` permission (to read secrets)\n- `Set` permission (to create/update secrets)\n\nYou can check with:\n```bash\naz keyvault show --name my-vault --query properties.accessPolicies\n```\n\n### Cache Issues\n\nIf you're not seeing updated session data:\n```typescript\n// Force cache invalidation\nawait sessionMgr.onInvalidToken();\n```\n\n## License\n\nSee the [NOTICE](/NOTICE) file for licensing information.","readmeFilename":"README.md"}