コンテンツにスキップ

データグラント

データグラントは、エージェントのユーザーデータへのアクセスに関するHasheeの権限システムです。ユーザーがどの情報にエージェントがアクセスできるかをコントロールし続けることを保証します。

仕組み

  1. エージェントがアクセスをリクエスト — エージェントが必要なデータとその理由を指定してデータグラントリクエストを送信します。
  2. ユーザーがレビュー — Hasheeアプリがスコープの明確な説明とともにリクエストをユーザーに提示します。
  3. ユーザーが判断 — ユーザーがリクエストを明示的に承認または拒否します。
  4. アクセスが許可 — 承認された場合、エージェントは許可されたスコープ内の指定データにアクセスできます。

設計原則

データグラントは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リレーション内)

ベストプラクティス

  • 最小限のスコープをリクエスト — 実際に必要なデータのみを要求してください。
  • 理由を説明 — データの使用方法についての明確な説明を含めてください。
  • 拒否をグレースフルに処理 — グラントが拒否された場合でも、機能を縮小した状態で動作するようにしてください。
  • 取り消しを尊重 — ユーザーがグラントを取り消したら、そのデータの使用を即座に停止してください。

次のステップ