Hane Platform
セキュリティとデータの扱い
組織の分離、資格情報とトークン交換、内部の短命のトークン、秘密値、AI の実行の境界、データの保存場所、Hane が外へ出さないものを説明します。
このページでは、Hane が顧客のデータと権限をどう守っているかを説明します。組織の分離から、AI の実行の境界、データの保存場所まで、設計の決まりと現在の提供状況を合わせて書きます。
組織はデータと権限を分ける単位です。
- 組織のデータは、組織ごとに分けた保存先に置きます。組織の設定、環境ごとの業務データ、監査ログは、それぞれ組織(業務データは組織と環境の組)ごとの Durable Object に入り、ほかの組織と同じ保存先を共有しません。
- プロジェクトは、組織の中でキーと認可によって分けます。
- どの組織の要求かは、資格情報から決めます。 URL や本文に書かれた組織の ID は信じません。別の組織の資源を指定しても、存在しないものと同じ応答を返します。
- 顧客がアプリで定義を変えても、これらの決まりは無効にできません。
| 資格情報 | 使う人・もの | 性質 |
|---|---|---|
| API キー | サービスアカウント(顧客アプリ・CI) | プロジェクトと環境に結び付きます。発行したときに一度だけ表示し、Hane はハッシュだけを保存します。失効させると次の要求から拒否します |
| アクセストークン | 利用者 | IdP の id_token を POST /v1/auth/token で交換して得る、15 分のトークン。組織・プロジェクト・環境に結び付きます |
ロール・グループ・API キーが変わるたびに権限の世代が上がり、古い世代で発行したトークンは拒否します。権限を外したら、トークンの期限を待たずに効きます。
顧客アプリから公開 API を呼ぶときも、利用者の IdP のトークンをそのまま渡すのではなく、トークン交換で利用者付きの短命のトークンにします。承認の決定者や連絡先の値の表示は、この利用者で記録し、判定します。詳しくは 認証 を見てください。
内部の短命のトークン
Section titled “内部の短命のトークン”Hane の中でも、長く使える資格情報を持ち回りません。
| トークン | 期限 | 用途 |
|---|---|---|
| 内部トークン | 60 秒 | 入口が確かめた組織・利用者の情報を、共通 API へ渡す |
| RunToken | 実行の上限の時間に合わせる(最短 5 分) | Agent の実行が Tool Gateway を呼ぶ。実行を止めると、期限を待たずに拒否 |
| モデル用の RunToken | 同上 | Agent の実行が Model Gateway を呼ぶ。Tool Gateway 用とは別で、取り違えは拒否 |
| 転送先の短命のトークン | 60 秒 | 顧客の API を呼ぶときに 1 回ごとに渡す |
| Cowork のモデル用の資格情報 | 5 分 | Hane Cowork が Model Gateway を呼ぶ |
秘密値と暗号化
Section titled “秘密値と暗号化”- 接続に使う秘密値は、データごとの鍵(DEK)で暗号化し、DEK はさらに上位の鍵(KEK)で包んで持ちます。登録した後は、API でもコンソールでも値を返しません。
- 秘密値を使うのは、取り込みの処理と、認可した顧客の API の呼出しだけです。Agent とモデルには渡しません。
- 連絡先の番号やアドレスも連絡先ごとの鍵で暗号化し、画面と承認にはマスクした値だけを出します。全体の表示には別の権限が要り、表示したことは監査に残ります。
AI の実行の境界
Section titled “AI の実行の境界”- Agent は、Tool Gateway を通してしか業務データを読み書きできません。呼べるツールは定義に書いたものだけです。
- CLI のドライバーはサンドボックスのコンテナで動き、インターネットに出られません。届くのは Tool Gateway と Model Gateway だけで、ほかの宛先への通信は断って記録します。CLI の組み込みのツール(シェル・ファイルの編集・Web の取得など)は無効にします。
- メール・電話・顧客の API の更新のような外への操作は、宛先と内容を固定して digest を付け、承認を通してから一度だけ実行します。操作を頼んだ本人は、その操作を承認できません。
- 文書の本文、受け取ったメール、通話の相手の発話、ツールの結果は、信頼できない入力として扱います。そこに書かれた命令で権限は広がりません。
Hane が外へ出さないもの
Section titled “Hane が外へ出さないもの”| 出さないもの | 説明 |
|---|---|
| モデルの事業者の API キー | Hane の中だけに置き、サンドボックスにも社員の PC にも渡しません |
| 接続の秘密値 | Agent・モデル・API の応答・ログに出しません |
| 呼出し元の資格情報 | 顧客の API へ転送するとき、呼出し元のトークンや Cookie は渡しません |
| モデルの入出力の本文 | Model Gateway の呼出しの記録には、トークンの数と結果だけを残し、プロンプトと応答の本文は残しません |
| 会話の記録の中の資格情報 | 保存した会話のコンテキストには、RunToken・API キー・資格情報を含めません |
データの保存場所
Section titled “データの保存場所”Hane は、提供側が運用する SaaS として、Cloudflare の上で動きます。
モデルを使う機能では、プロンプトが Model Gateway から上流のモデルの事業者へ渡ります。事業者が入力をどう扱うかは、その事業者の条件によります。プレビューの機能を試すときは、実際の業務データではなく、作りもののデータを使うことをおすすめします。
止める・消す
Section titled “止める・消す”- 緊急停止:
platform:suspendを持つ人は、組織のすべての API と実行をすぐに止められます(POST /v1/platform/suspension)。解除できるのは owner だけです。 - 運営者の委任: 提供側の運営者が顧客のプロジェクトで作業するときは、顧客の管理者が範囲と期間を決めた委任が要ります。運営者は顧客のメンバーにならず、操作は委任の ID 付きで監査に残ります。
- 削除と hold: 文書と連絡先は、消したときに派生物ごとの結果を記録します。hold をかけている間は消しません。文書の保持期間による自動の削除は、まだ提供していません。