データグラント
データグラントは、エージェントのユーザーデータへのアクセスに関するHasheeの権限システムです。ユーザーがどの情報にエージェントがアクセスできるかをコントロールし続けることを保証します。
仕組み
- エージェントがアクセスをリクエスト — エージェントが必要なデータとその理由を指定してデータグラントリクエストを送信します。
- ユーザーがレビュー — Hasheeアプリがスコープの明確な説明とともにリクエストをユーザーに提示します。
- ユーザーが判断 — ユーザーがリクエストを明示的に承認または拒否します。
- アクセスが許可 — 承認された場合、エージェントは許可されたスコープ内の指定データにアクセスできます。
設計原則
データグラントはHasheeのデータ主権モデルに従います:
- ユーザー主導 — ユーザーがすべてのグラントを明示的に承認する必要があります。暗黙のデータ収集はありません。
- スコープ付き — 各グラントはアクセス可能なデータを正確に指定します。包括的な権限はありません。
- 取り消し可能 — ユーザーは設定からいつでもグラントを取り消せます。
- 透明 — ユーザーはすべてのアクティブなグラントと各エージェントがアクセスできるデータを確認できます。
- 監査可能 — すべてのグラントリクエストと判断が記録されます。
グラントのリクエスト
データグラントリクエストはアーティファクトのインタラクションとして配信されます。エージェントがグラントリクエストの詳細を含むアーティファクトを送信し、ユーザーがA2H Protocolを通じて応答します:
await agent.sendArtifact(conversationId, { artifact: { a2h: "0.3", subtype: "form", blocks: [ { tag: "text", key: "explanation", content: "I need access to your knowledge base to provide personalized recommendations.", }, { tag: "action", key: "approve", label: "Grant Access", variant: "primary", }, { tag: "action", key: "deny", label: "Deny", variant: "secondary", }, ], }, title: "Data Access Request", summary: "Requesting access to your knowledge base", forwardable: false,});スコープ
| スコープ | 説明 |
|---|---|
knowledge:read | ユーザーのナレッジベースからアイテムを読み取り |
profile:read | ユーザープロフィール情報を読み取り |
conversations:read | 会話履歴を読み取り(H2Aリレーション内) |
ベストプラクティス
- 最小限のスコープをリクエスト — 実際に必要なデータのみを要求してください。
- 理由を説明 — データの使用方法についての明確な説明を含めてください。
- 拒否をグレースフルに処理 — グラントが拒否された場合でも、機能を縮小した状態で動作するようにしてください。
- 取り消しを尊重 — ユーザーがグラントを取り消したら、そのデータの使用を即座に停止してください。