> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# キーの保護

> 埋め込みウォレットアプリがブラウザで公開するHelius APIキーを保護する方法 — アクセス制御、Secure RPC URLs、サーバールートハンドラー、ワンクリックCloudflareプロキシ

ウォレットキットSDKはブラウザで動作するため、Helius `apiKey`がクライアント側に存在します。プロバイダーはアプリが読み込まれる際に**ブートストラップ** (`/waas/config`) に渡します。これはクライアント側SDKにとって想定される動作です。公開されたキーが悪用されないようにすることが重要です。

<Note>
  **公開は請求を回避するものではありません。** 埋め込まれたウォレットが署名する瞬間にすべての署名が測定され、APIキー層ではありません。ドメインにロックされたキーが漏洩しても、他のサイトで無料署名を作成したりクレジットを浪費したりすることはできません。測定はキーの秘密に依存しません。
</Note>

このリストを下に進めてください。最初のステップは必要な基本であり、残りは深層防御を追加します。

## 1. ドメインを制限してキーを保護する（必須）

アプリが稼働するオリジンにキーをロックします。一度設定すると、他のオリジンからのリクエストは拒否され、バンドルから抽出されたキーは自分のドメイン以外では無効になります。

<Steps>
  <Step title="RPCアクセス制御を開く">
    [ダッシュボード](https://dashboard.helius.dev)で、**RPCs**セクションの下にあるキーに移動して**アクセス制御**を開きます。
  </Step>

  <Step title="許可されたドメインにドメインを追加する">
    アプリが配信されるすべてのオリジンを追加します—本番、ステージング、プレビュー：

    ```
    yourdapp.com
    www.yourdapp.com
    staging.yourdapp.com
    ```
  </Step>

  <Step title="環境ごとに別々のキーを使用する">
    ローカル、ステージング、本番用に異なるキーを保持し、1つをローテーションしても他のものを停止させないようにします。
  </Step>
</Steps>

[キーを保護する](/docs/ja/rpc/protect-your-keys)を参照し、アクセス制御の完全なセット（サーバー側キーの許可されたIPやCIDR範囲）を確認してください。

## 2. Secure RPC URLs（自動）

RPCトラフィックのために、SDKはブートストラップ時にプロジェクトの**キーなしSecure RPC URLs**を解決し、それらを`connection`呼び出しに使用します。このため、APIキーはRPCリクエストに含まれません。設定する必要はなく、デフォルトで有効です。

<Info>
  セキュアURLはIPごとに5RPSにレート制限され、有料プランで利用可能です。
</Info>

## 3. ルートハンドラーでトラフィックをサーバーサイドに移行

SDKは、RPC、送信、トランザクション履歴の呼び出しを自分のサーバー経由で転送し、**サーバー側**の環境変数からキーを挿入するNext.jsルートハンドラーを提供しています(`HELIUS_API_KEY`)。これにより、キーはそのリクエストで使われることはありません。これはまた、[送信トランザクション用の送信者最適化](/docs/ja/sending-transactions/sender)やトランザクション履歴を活用する方法でもあります。

```ts app/api/helius/[...path]/route.ts theme={"system"}
import { createHeliusRouteHandler } from "helius-wallet-kit/next";

export const { GET, POST } = createHeliusRouteHandler();
```

`HELIUS_API_KEY`をサーバーの環境変数として設定し、ハンドラーが転送リクエストにそれを添付します。[クイックスタート → サーバールートハンドラー](/docs/ja/waas/quickstart#setup)を参照してください。

<Note>
  **ブートストラップ**はクライアントの`apiKey`を依然として使用します。これはプロバイダー`config`に渡され、応答を`/waas/config`からブラウザに送信するため、ルートハンドラーがマウントされていてもキーはブラウザに存在します。キーをドメインに制限すること（ステップ1）がこの呼び出しを保護します。完全なサーバーサイドキーの処理は今後の予定です。
</Note>

## 4. Cloudflare RPCプロキシを自前でホスティング

最大限の制御を得るために、自分のプロキシを展開してキーを完全にサーバーサイドに保持し、独自のレート制限やリクエストフィルタリングを追加できます。

<Card title="Helius RPCプロキシ" icon="github" href="https://github.com/helius-labs/helius-rpc-proxy">
  オープンソースRPCプロキシをCloudflareにワンクリックでデプロイできます。
</Card>

## チェックリスト

出荷前に:

* クライアントキーは正確なオリジンにドメイン制限されています
* ローカル/ステージング/本番用の別々のキー
* 環境変数からキーが読み込まれ、ハードコードされません
* (オプション) サーバーサイドRPC/送信+送信者用にルートハンドラーをマウント
* (オプション) 完全なサーバーサイドキー処理用のCloudflareプロキシ

## 次のステップ

<CardGroup cols={2}>
  <Card title="キーを保護する" icon="shield-halved" href="/docs/ja/rpc/protect-your-keys">
    完全なアクセス制御リファレンス：ドメイン、IP、CIDR、およびプロキシ。
  </Card>

  <Card title="構成" icon="sliders" href="/docs/ja/waas/configuration">
    プロバイダーの設定とダッシュボードサインイン方法。
  </Card>
</CardGroup>
