分類システム
データ分類システムはTriggerfishshのセキュリティモデルの基盤です。システムに入り、 移動し、または離れるすべてのデータは分類ラベルを持ちます。これらのラベルはデータが 流れる場所を決定します — さらに重要なのは、流れることができない場所を決定することです。
分類レベル
Triggerfishshはすべてのデプロイメントに対して単一の4層の順序付け階層を使用します。
| レベル | ランク | 説明 | 例 |
|---|---|---|---|
RESTRICTED | 4(最高) | 最大限の保護が必要な最も機密性の高いデータ | M&Aドキュメント、取締役会資料、PII、銀行口座、医療記録 |
CONFIDENTIAL | 3 | ビジネス機密または個人の機密情報 | CRMデータ、財務、HR記録、契約、税務記録 |
INTERNAL | 2 | 外部共有を意図しない | 内部wiki、チームドキュメント、個人メモ、連絡先 |
PUBLIC | 1(最低) | 誰でも見て安全 | マーケティング資料、公開ドキュメント、一般的なウェブコンテンツ |
ライトダウン禁止ルール
Triggerfishshで最も重要なセキュリティ不変条件:
データは等しいか高い分類のチャンネルまたは受信者にのみ流れることができます。
これは固定ルールです — 設定・上書き・無効化することはできません。LLMはこの 決定に影響を与えることができません。 :::
これが意味すること:
CONFIDENTIALデータを含むレスポンスはPUBLICチャンネルに送信できませんRESTRICTEDにtaintされたセッションはRESTRICTED以下のどのチャンネルにも出力できません- 管理者の上書きなし、エンタープライズの回避策なし、LLMの回避なし
有効な分類
チャンネルと受信者の両方が分類レベルを持ちます。データがシステムを離れようとするとき、 宛先の有効な分類が送信できるものを決定します:
EFFECTIVE_CLASSIFICATION = min(channel_classification, recipient_classification)有効な分類は2つのうちの_低い_方です。これは、低分類の受信者を持つ高分類チャンネルは 依然として低分類として扱われることを意味します。
| チャンネル | 受信者 | 有効 | CONFIDENTIALデータを受信できますか? |
|---|---|---|---|
INTERNAL | INTERNAL | INTERNAL | いいえ(CONFIDENTIAL > INTERNAL) |
INTERNAL | EXTERNAL | PUBLIC | いいえ |
CONFIDENTIAL | INTERNAL | INTERNAL | いいえ(CONFIDENTIAL > INTERNAL) |
CONFIDENTIAL | EXTERNAL | PUBLIC | いいえ |
RESTRICTED | INTERNAL | INTERNAL | いいえ(CONFIDENTIAL > INTERNAL) |
チャンネル分類ルール
各チャンネルタイプには分類レベルを決定するための固有のルールがあります。
Email
- ドメインマッチング:
@company.comからのメッセージはINTERNALとして分類 - 管理者はどのドメインが内部かを設定
- 不明または外部ドメインはデフォルトで
EXTERNAL - 外部受信者は有効な分類を
PUBLICに低下
Slack / Teams
- ワークスペースメンバーシップ: 同じワークスペース/テナントのメンバーは
INTERNAL - Slack Connectの外部ユーザーは
EXTERNALとして分類 - ゲストユーザーは
EXTERNALとして分類 - 分類はLLMの解釈ではなくプラットフォームAPIから導出
WhatsApp / Telegram / iMessage
- エンタープライズ: HR ディレクトリ同期に対して照合された電話番号が内部/外部を決定
- 個人: すべての受信者はデフォルトで
EXTERNAL - ユーザーは信頼できる連絡先をマークできますが、これは分類の計算を変更しません — 受信者の分類を変更します
WebChat
- WebChat訪問者は常に
PUBLICとして分類(訪問者はオーナーとして確認されることがない) - WebChatは公開向けのインタラクションを意図しています
CLI
- CLIチャンネルはローカルで実行され、認証ユーザーに基づいて分類
- 直接ターミナルアクセスは通常
INTERNAL以上
受信者分類のソース
エンタープライズ
- ディレクトリ同期(Okta、Azure AD、Google Workspace)が受信者の分類を自動的に設定
- すべてのディレクトリメンバーは
INTERNALとして分類 - 外部ゲストとベンダーは
EXTERNALとして分類 - 管理者は連絡先またはドメインごとに上書き可能
個人
- デフォルト: すべての受信者は
EXTERNAL - ユーザーはインフロープロンプトまたはコンパニオンアプリを通じて信頼できる連絡先を 再分類
- 再分類は明示的でログ記録される
チャンネルの状態
すべてのチャンネルはデータを運ぶ前に状態機械を通過します:
| 状態 | データを受信できますか? | エージェントコンテキストにデータを送信できますか? | 説明 |
|---|---|---|---|
UNTRUSTED | いいえ | いいえ | 新しい/不明なチャンネルのデフォルト。完全に分離。 |
CLASSIFIED | はい(ポリシー内) | はい(分類付き) | レビューされて分類レベルが割り当てられた。 |
BLOCKED | いいえ | いいえ | 管理者またはユーザーによって明示的に禁止。 |
セキュリティ 新しいチャンネルは常にUNTRUSTED状態になります。エージェント
からいかなるデータも受信できず、エージェントコンテキストにデータを送信することもできません。 管理者(エンタープライズ)またはユーザー(個人)が明示的に分類するまで、チャンネルは 完全に分離されたままです。 :::
分類が他のシステムと相互作用する方法
分類はスタンドアロン機能ではありません — プラットフォーム全体で決定を駆動します:
| システム | 分類の使用方法 |
|---|---|
| セッションtaint | 分類されたデータにアクセスするとセッションがそのレベルにエスカレート |
| ポリシーhook | PRE_OUTPUTはセッションtaintと宛先の分類を比較 |
| MCP Gateway | MCPサーバーのレスポンスはセッションをtaintする分類を持つ |
| データ系譜 | すべての系譜レコードには分類レベルと理由が含まれる |
| 通知 | 通知コンテンツは同じ分類ルールの対象 |
| エージェント委任 | 呼び出し先エージェントの分類上限は呼び出し元のtaintを満たす必要がある |
| プラグインサンドボックス | プラグインSDKはすべての出力データを自動分類 |
