> For the complete documentation index, see [llms.txt](https://docs.keeper.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.keeper.io/release-notes/jp/enterprise/keeper-secrets-manager/2026/javascript-sdk-17.5.0.md).

# JavaScript SDK 17.5.0

* **KSM-901:** 分離環境向けにカスタムサーバー公開鍵のサポートを追加。公開鍵は、`getSecrets` に渡す `SecretManagerOptions` の `serverPublicKey` / `serverPublicKeyId` オプション、対応する設定ファイルの `serverPublicKey` / `serverPublicKeyId` フィールド、4セグメント形式の拡張ワンタイムトークンのいずれかの方法で指定できます。カスタム公開鍵が設定されている間は、SDKが指定した鍵を継続して使用できるよう、サーバー側から送信される鍵ローテーションのヒントは適用されません。
* **KSM-880:** 指数バックオフによる自動スロットリングリトライ機能を追加。HTTP 403 `{"error":"throttled"}` 応答を最大5回まで自動的に再試行します (11秒、22秒、44秒、88秒、176秒 ±25%のジッター付き）。応答に `retry_after` が含まれる場合はその値を優先します。再試行回数を超えた場合は型付きの `KeeperThrottleError` を送出します。呼び出し側でのコード変更は不要です。
* **KSM-887:** ブラウザ向けストレージバックエンド `secureStorage(dbName)` を追加。抽出不可能な AES-256-GCM `CryptoKey` を生成し、IndexedDBにネイティブに保存します。KSMの認証情報がブラウザストレージ内で抽出可能な形式で保持されることはありません。
* **KSM-1010:** 型付きアクセサクラス `KeeperRecordLink` と `getLinks()` 関数を追加。権限のブール値 (`isAdminUser`、`allowsRotation`、`allowsConnections` など、`allowedSettings` をフォールバックとして利用)、データアクセサ (`getDecodedData`、`getDecryptedData`、`getLinkData`)、設定アクセサ (`getAiSettingsData`、`getJitSettingsData`、`getMetaData`、`getSettingsForPath`) によるアクセスが可能です。すべてのアクセサは例外を送出しません。Python KSM-992のTypeScript移植版です。
* **KSM-1025:** `keeper.ts` から基底クラス `KeeperError` をエクスポート。`KeeperThrottleError` は `KeeperError` を継承するようになりました (`KeeperError` は `Error` を継承)。null/undefinedの構成値ガードは、通常の `Error` ではなく `KeeperError` を送出します。既存の `instanceof Error` による例外処理への影響はありません。残る例外処理の型付き階層への移行はKSM-1024エピックで進められています。
* **KSM-1029:** 固定済みサーバー公開鍵による拒否時のエラー伝播の不具合を修正。診断メッセージが空のcatchブロックで握りつぶされず、呼び出し元に届くようになりました。
* **KSM-984:** `webSafe64ToBytes` および `base64ToBytes` (Nodeおよびブラウザ版) の不具合を修正。null/undefinedの入力時は、不可解なネイティブ `TypeError` ではなく、対象フィールド名を示す型付きの `KeeperError` を送出します。Python KSM-808およびJava KSM-985と同等の動作です。
* **KSM-758:** 非推奨の `rollup-plugin-sourcemaps@0.6.3` を `rollup-plugin-sourcemaps2@0.5.6` に置き換え。Rollup 4.xとのピア依存関係警告および推移的依存 `picomatch` のHIGHレベル脆弱性を解消しました 。開発依存関係のみ、本番環境への影響はありません。
* **セキュリティ:** `rollup` 開発依存を `^4.60.1` に更新。Rollup 4.0.0～4.58.0に影響する、パストラバーサルによる任意ファイル書き込みのHIGHレベル脆弱性を修正しました。開発依存関係のみの更新であり、SDK利用者への影響はありません。

**リンク**

* [npmパッケージ](https://www.npmjs.com/package/@keeper-security/secrets-manager-core/v/17.5.0)
* [JavaScript/TypeScript SDKに関するドキュメント](/keeperpam/jp/secrets-manager/developer-sdk-library/javascript-sdk.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.keeper.io/release-notes/jp/enterprise/keeper-secrets-manager/2026/javascript-sdk-17.5.0.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
