{"_id":"@aopslabs/xf-secure-store","_rev":"2-279e0f62116b9bf8506fc23a31abc542","name":"@aopslabs/xf-secure-store","dist-tags":{"latest":"0.1.28"},"versions":{"0.1.27":{"name":"@aopslabs/xf-secure-store","version":"0.1.27","license":"SEE LICENSE IN LICENSE","_id":"@aopslabs/xf-secure-store@0.1.27","maintainers":[{"name":"mzsonmez","email":"mzsonmez2@hotmail.com"}],"homepage":"https://github.com/eeemzs/tsapps#readme","bugs":{"url":"https://github.com/eeemzs/tsapps/issues"},"dist":{"shasum":"065656158ac6c234682fb36901164379390257bf","tarball":"https://registry.npmjs.org/@aopslabs/xf-secure-store/-/xf-secure-store-0.1.27.tgz","fileCount":6,"integrity":"sha512-ZON1cx7M6x3OMCDYcihCYsAKfkb1cVlzKSZiaVKl1NelXOCiGGMJSHzD8jyBZp8xVl15SJvBoNYVwxKZqf6iZA==","signatures":[{"sig":"MEYCIQDQPsuoo80c+/lNzDewJF1Q7kvVOe8WfKykrPwfqphwIgIhAKqMkQxB8rNClFZlPj9KWIu7swmDFw6ZKGe4y4P/d8eF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15592},"main":"dist/index.js","type":"commonjs","_from":"file:/var/folders/xt/2crct1kx0pxgcncc_zsmp8jc0000gn/T/tsapps-xf-secure-store-bootstrap.XXXXXX.YeoNRlEhYA/aopslabs-xf-secure-store-0.1.27.tgz","types":"dist/index.d.ts","private":false,"scripts":{"lint":"eslint . --max-warnings=0","build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\""},"_npmUser":{"name":"mzsonmez","email":"mzsonmez2@hotmail.com"},"_resolved":"/var/folders/xt/2crct1kx0pxgcncc_zsmp8jc0000gn/T/tsapps-xf-secure-store-bootstrap.XXXXXX.YeoNRlEhYA/aopslabs-xf-secure-store-0.1.27.tgz","_integrity":"sha512-ZON1cx7M6x3OMCDYcihCYsAKfkb1cVlzKSZiaVKl1NelXOCiGGMJSHzD8jyBZp8xVl15SJvBoNYVwxKZqf6iZA==","repository":{"url":"git+https://github.com/eeemzs/tsapps.git","type":"git","directory":"packages/xf-packages/xf-secure-store"},"_npmVersion":"11.6.2","description":"**XF Secure Store** – Şifreli depolama ve OS keychain (keytar). Scrypt KDF, AES-256-GCM.","directories":{},"_nodeVersion":"24.13.0","publishConfig":{"access":"public","registry":"https://registry.npmjs.org","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"eslint":"9.39.5","typescript":"5.9.3","@types/node":"25.3.0","@aopslabs/eslint-config":"0.0.0","@aopslabs/typescript-config":"0.0.0"},"optionalDependencies":{"keytar":"^7.9.0"},"_npmOperationalInternal":{"tmp":"tmp/xf-secure-store_0.1.27_1787688353549_0.24871694158997393","host":"s3://npm-registry-packages-npm-production"}},"0.1.28":{"name":"@aopslabs/xf-secure-store","version":"0.1.28","main":"dist/index.js","types":"dist/index.d.ts","type":"commonjs","optionalDependencies":{"keytar":"^7.9.0"},"private":false,"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"repository":{"type":"git","url":"git+https://github.com/eeemzs/tsapps.git","directory":"packages/xf-packages/xf-secure-store"},"license":"SEE LICENSE IN LICENSE","devDependencies":{"@types/node":"25.3.0","eslint":"9.39.5","typescript":"5.9.3","@aopslabs/eslint-config":"0.0.0","@aopslabs/typescript-config":"0.0.0"},"scripts":{"build":"tsc -p tsconfig.lib.json","clean":"node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"","lint":"eslint . --max-warnings=0"},"_id":"@aopslabs/xf-secure-store@0.1.28","description":"**XF Secure Store** – Şifreli depolama ve OS keychain (keytar). Scrypt KDF, AES-256-GCM.","bugs":{"url":"https://github.com/eeemzs/tsapps/issues"},"homepage":"https://github.com/eeemzs/tsapps#readme","_integrity":"sha512-jUVCqrnAjPx/wFdXeACqCI4S45RlpBJTf656TfwB6jQdbiSFVIytiKU6103VlxX5NoXHtBHaX8MCMnKhg3W24Q==","_resolved":"/home/runner/work/_temp/release-candidates/aopslabs-xf-secure-store-0.1.28.tgz","_from":"file:/home/runner/work/_temp/release-candidates/aopslabs-xf-secure-store-0.1.28.tgz","_nodeVersion":"24.20.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-jUVCqrnAjPx/wFdXeACqCI4S45RlpBJTf656TfwB6jQdbiSFVIytiKU6103VlxX5NoXHtBHaX8MCMnKhg3W24Q==","shasum":"1e9b9e5464ab346f9a9fc44311448d1f04434863","tarball":"https://registry.npmjs.org/@aopslabs/xf-secure-store/-/xf-secure-store-0.1.28.tgz","fileCount":6,"unpackedSize":15568,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC0J0zNV/caV2yyzv5I2zPTVSG65uxzi7fFyCjjcVTNhAIhAKs06XhBhgkrUO/IzXU7O1kcMFwAQnVej2RNtH4sgbTF"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:32481169-106b-44f8-ac87-c5487954eb33"}},"directories":{},"maintainers":[{"name":"mzsonmez","email":"mzsonmez2@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/xf-secure-store_0.1.28_1788791248108_0.6598436726654779"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-25T20:05:53.294Z","modified":"2026-09-07T14:27:28.396Z","0.1.27":"2026-08-25T20:05:53.701Z","0.1.28":"2026-09-07T14:27:28.228Z"},"bugs":{"url":"https://github.com/eeemzs/tsapps/issues"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/eeemzs/tsapps#readme","repository":{"type":"git","url":"git+https://github.com/eeemzs/tsapps.git","directory":"packages/xf-packages/xf-secure-store"},"description":"**XF Secure Store** – Şifreli depolama ve OS keychain (keytar). Scrypt KDF, AES-256-GCM.","maintainers":[{"name":"mzsonmez","email":"mzsonmez2@hotmail.com"}],"readme":"# @aopslabs/xf-secure-store\n\n**XF Secure Store** – Şifreli depolama ve OS keychain (keytar). Scrypt KDF, AES-256-GCM.\n\n## Mimari Konum\n\n**Katman:** Yardımcı (Supporting)  \n**Bağımlılıklar:** keytar (opsiyonel, lazy-load)\n**Kullananlar:** CLI, credential yönetimi, repo URL şifreleme\n\n## Ne İşe Yarar?\n\n- **encryptWithPassword / decryptWithPassword**: Şifre ile şifreleme (scrypt KDF)\n- **encryptWithKey / decryptWithKey**: Ham key ile\n- **saveKeyToKeychain / loadKeyFromKeychain**: OS keychain (Windows Credential Manager, macOS Keychain, Linux Secret Service)\n- **createKeyId, maskLockedSecret**: Yardımcılar\n\nCLI’da repo URL’leri, API key’leri gibi hassas verileri güvenli saklamak için kullanılır. xf-crypto ile birlikte kullanılabilir.\n\n## Kurulum\n\n```bash\npnpm add @aopslabs/xf-secure-store\n```\n\n**Bağımlılık:** `keytar` ^7.9.0 (optionalDependency)\n\nNot:\n- `encryptWithPassword/decryptWithPassword` ve key tabanli crypto API'ler keytar olmadan da calisir.\n- Sadece OS keychain API'leri (`saveKeyToKeychain/loadKeyFromKeychain/deleteKeyFromKeychain`) keytar gerektirir.\n- keytar yuklenemezse bu API'ler `code = XF_SECURE_STORE_KEYTAR_UNAVAILABLE` ile hata verir.\n\n## API\n\n- `encryptWithPassword(value, password)`: `{ payload: EncryptedPayload, key: Buffer }` döner\n- `decryptWithPassword(payload, password)`: `string` döner\n- `saveKeyToKeychain(keyId, key)`\n- `loadKeyFromKeychain(keyId)`\n- `deleteKeyFromKeychain(keyId)`\n- `createKeyId()`: UUID\n- `maskLockedSecret(label?)`: `******** (label)` maskeleme\n- `resolveUnlockExpiry(ttlDays?)`, `isUnlockExpired(unlockExpiresAt?)`: TTL yardımcıları\n\n## Kullanım\n\n```typescript\nimport {\n  encryptWithPassword,\n  decryptWithPassword,\n  saveKeyToKeychain,\n  loadKeyFromKeychain\n} from '@aopslabs/xf-secure-store';\n\nconst { payload, key } = await encryptWithPassword(repoUrl, userPassword);\nconst keyId = createKeyId();\nawait saveKeyToKeychain(keyId, key);\n```\n\n## Versiyon\n\n0.1.21\n","readmeFilename":"README.md"}