チームの会話を読み取り専用で確認する
未リリースのEnterprise向け閲覧専用画面、職員向け通知、APIです。
Enterprise 版の有効な Manager/Admin は、報告系統内の有効な部下(最大 8 階層)が Operator/Owner として直接担当する AI スタッフの会話を閲覧できます。Admin にも実際の報告関係が必要です。停止、担当解除、上司変更、パスワード変更要求は次のリクエストから反映され、内容を返す直前にも再確認します。既存の履歴、エクスポート、添付ダウンロード、会話再開の権限は変わりません。
| 会話 | 返す内容 |
|---|---|
| 自分または対象の部下本人のログイン済み WebChat | ユーザーとスタッフの本文。添付は種類とファイル名のみ |
| メッセージアプリ、サイト訪問者、Odoo Live Chat | 双方の本文をマスク。添付は種類のみ |
| 他人の WebChat、不明/未分類の履歴、内部タスクやスケジュール | 非表示。非表示件数も返さない |
現在の有効期間内で可視かつ取り消されていない user/assistant メッセージだけを返します。保存済みタイトル、圧縮要約、過去の文脈、非表示ターン、思考、ツール手順は含めません。一覧タイトルは期間内の最初の可視ユーザーメッセージから作ります。添付のパスやダウンロードリンクは返しません。
ダッシュボードでの使い方
Section titled “ダッシュボードでの使い方”「マイチーム」から「チームの会話」を開くか、対象のAIスタッフの横にある「会話を見る」を選びます。AIスタッフを選び、部下や会話の種類で絞り込みます。外部のお客様との会話には「マスク済み」と表示されます。入力欄、会話の再開、エクスポート、添付ファイルのダウンロードはありません。本文はテキストとして表示し、リンクや埋め込み画像を読み込みません。AI検出が未導入の場合は、氏名や住所が残る可能性を表示します。
会話を開くたびに記録が残ります。絞り込みの変更、更新、閲覧の拒否時には、それまでの内容を消去します。ウィンドウに戻るとチームの範囲を再確認します。失敗時に以前の会話を残すことはありません。「さらに読み込む」で次の一覧を読み込めます。
管理者は「ユーザー管理」の「組織の設定」で閲覧を切り替えられます。有効にする前に職員へ通知してください。無効にしてから再び有効にすると期間が新たに始まります。AI検出のリンクから既存のマスク設定へ移動できます。ゲートウェイがその職員の会話を上司に公開すると確認した場合にのみ、WebChat入力欄の下とスタッフ選択欄に通知が表示されます。
会話を閲覧した人
Section titled “会話を閲覧した人”Enterprise のすべてのアカウント(Employee を含む)は、サイドバーの 設定 → 会話を閲覧した人(/my/history-views)で自分の記録を確認できます。「チームの会話」から自分の WebChat を開いた記録のみで、閲覧者と AI スタッフの現在の表示名、時刻、「自分の WebChat」という種類を表示します。削除されたアカウントやスタッフは汎用名になります。会話内容、セッション識別子、顧客の会話、他人の記録、監査の詳細は返しません。Admin も他人を指定できません。
上司の閲覧設定が無効になった後や報告関係・担当解除の後も、自分の過去の記録は確認できます。専用のチーム閲覧経路の記録であり、従来の管理者向け経路を網羅しません。自分が WebChat の部下として記録された team_history_viewed のみが対象で、画面の状態イベントや未知のイベントは含みません。
「さらに読み込む」で以前のページへ進めます。1 回で最大 4 MiB/10,000 行を調べ、自分の記録を最大 100 件(画面では 50 件)返します。該当がないページでも、以前のページに続く場合があります。全体や非表示の件数は表示しません。カーソルは本人とデータディレクトリに紐付き、有効期間は 10 分です。ゲートウェイ再起動や監査スナップショット変更時は更新してください。専用の上限は 1 人 1 時間 300 回、同時読み取りは 2 件です。使用中、破損、切り詰め、読み取り不能の場合はエラーを示し、記録なしとは表示しません。ローカルログの削除・保管により古い記録が失われることがあります。走査範囲のチェーンのみを確認し、全ファイルの鑑識検証や同じ OS ユーザーによる改変への保証ではありません。
設定と有効期間
Section titled “設定と有効期間”[people]manager_team_history = true有効な設定ファイルでは Enterprise の既定値はオンです。ファイルなし、読み込み/解析エラー、非 boolean 値はオフ。Personal は常にオフです。gateway はチャネル開始前に境界を users.db に記録し、読み取りと設定変更時に確認、60 秒ごとにエディションを同期します。オフからオンへ戻すと新しい期間になり、以前の期間は復活しません。無効化の監査が失敗してもリセット要求を永続化するため、復旧後に古い期間を再使用しません。
Admin は users.org_settings.get/users.org_settings.update {manager_team_history: boolean} で操作します。ロック付き設定ライターを使い、詳細設定エディターからの変更も同期します。ファイルを直接編集した場合は次の読み取りか watcher で検出します。観測間に完結したオフ/オンは検出できません。オフにしても元の会話は削除しません。
マスクと限界
Section titled “マスクと限界”外部会話には taiwan_strict、financial、general とカスタム規則を必ず適用します。モデル送信側のマスター/ソース設定では無効化できません。既存のトークンはプレースホルダーにし、vault を読まず、復元可能な複製も作りません。同じ電話番号は句読点が違っても同一会話内で同じ番号になります。会話間では番号を引き継ぎません。外部送信者 ID は「客戶 n」に置き換え、確認済みで対象チーム内の有効な職員だけは表示名を使えます。
低優先度の重なりも含め、すべての規則の元の一致範囲を隠します。優先度が選ぶのはプレースホルダーの分類だけです。外部本文は NFKC 正規化してから検出し、正規化済み本文を返します。添付を含む行は通常文も含めて 1 つの添付に置き換え、入れ子/エスケープされた括弧からファイル名やパス末尾が残ることを防ぎます。不完全な操作確認タグからメッセージ末尾までも返しません。
元の本文にも規則を適用し、全角キーワードや正規化で変わる単語境界から機密値が漏れないようにします。元の一致は完全な書記素単位へ保守的に写し、連結が全体の正規化結果と一致しなければ区間全体を隠します。番号付けは毎回新しい salt の固定長メモリ内ダイジェストを使い、大きい一致が分割されても個人情報の長いコピーを増やしません。ダイジェストは返さず保存せず、再読込の表示番号は同じです。
ローカル NER が未導入なら regex のみで ner: false を返します。氏名や住所が残る可能性があります。 部分的なインストール、規則エラー、導入済みモデルの推論失敗やタイムアウトは会話全体を masking_failed にします。NER はエラーを返す API で実行します。タイムアウト後も worker が permit を保持し、故障した推論を無制限に増やしません。マスク済み会話はディスクや vault に保存しません。
これは製品の読み取り経路の保護です。OS のファイル/DB に直接アクセスできる人は迂回できます。regex と NER は自由文中の個人情報をすべて検出する保証ではありません。
macOS arm64のネイティブ動作で、固定モデル版 7ffa9a043d54d1be65afb281eddf0ffbe629385b とONNX Runtime 1.24.2を使い、中国語と英語の合成例文2件を確認しました。氏名、住所、電話番号、メールがマスクされ、ner:true が返りました。精度評価ではありません。通常の接頭語までマスクされる場合や、検出の重複でプレースホルダーが連続する場合があります。件数は表示された部分の数であり、人数ではありません。
| メソッド | 引数/結果 |
|---|---|
users.team_history.list |
必須 agent_id。任意 report_user_id、class(own/report_webchat/external)、limit(既定 50、最大 200)、before。sessions、next_before、since、ner、read_only: true を返す。 |
users.team_history.get |
必須 session_id。limit は既定 200、最大 500。分類、期間、ner、read_only: true、messages、masked_counts を返す。 |
agents.callable |
Enterprise の設定がオンで、呼び出し元が直接 Operator 以上、上位に有効な Manager がいる場合 manager_may_read: true。 |
audit.resolve_session_digest |
Admin 専用。{digest} からローカルの 16 文字 HMAC に対応するセッション ID を返す。 |
メッセージの parts は {t:"text",v}、{t:"mask",cat,n}、{t:"attachment",kind,name?}。外部会話には name がありません。クライアントは分類ごとの訳語と、外部会話で ner: false の警告を表示してください。不明/非表示の会話は同じ session not found を返します。
next_before はそのまま次回に渡します。初回の before は RFC3339 も利用可能。SQL で対象を絞ってから活動時刻+セッション ID でページ分割します。1 ページ最大 10,000 候補、1 会話の期間は最大 20,000 行/8 MiB。超過時は行を飛ばさずエラーにします。マスク番号は期間全体で計算し、その後に要求された最新メッセージを選びます。表示文字はマスク後に 1 メッセージ 20,000 文字へ制限します。
ページ内で保持するタイトル原文も合計 8 MiB までです。超えたら limit を小さくしてください。任意フィルターは文字列(または省略/null)、カーソルは最大 4 KiB、部下 ID は 128 bytes。送信者欄は AI スタッフの表示名を優先します。
成功した閲覧ごとに重複排除なしでハッシュチェーン付き team_history_viewed を永続化します。一覧と拒否は閲覧者/スタッフ/フィルターまたは理由ごとに 1 分間で重複排除。監査にはローカル HMAC と件数だけを含め、本文や外部セッション ID は記録しません。監査に失敗したら内容なしの audit_unavailable。閲覧は 1 人・1 プロセスあたり毎分 20/毎時 120、一覧は毎時 300。超過時は rate_limited と再試行秒数を返します。マスク中の報告関係変更も、内容を返す前に拒否します。
件数は選択・切り詰め後に実際に返した parts だけを数え、番号は可視期間全体で決めます。起動時の監査エラーはチーム履歴だけを閉じ、gateway は継続します。復旧時は新しい期間が必要です。DB にリセット要求さえ書けない場合はプロセス内ラッチで拒否を続け、修復完了まで開きません。マスクの受付は最大 8 リクエスト、待機は最大 3 秒、実行 worker は 1 つです。
参照:AI スタッフの呼び出し、セキュリティ。
直接 Viewer/Operator バインド(未リリースの動作変更)
Section titled “直接 Viewer/Operator バインド(未リリースの動作変更)”直接バインドされた Viewer と Operator は、引き続き AI 社員とチャットし、呼び出せます。履歴は本人のログイン済み WebChat を全文表示し、他のアカウントの WebChat は非表示、外部顧客の会話は独立した読み取り専用画面でマスクします。直接 Owner と Admin の全文アクセスは維持します。内部・帰属不明の会話は除外し、タスク実行は既存のタスク閲覧対象に従います。
履歴一覧・本文、会話の実行履歴、会話検索、CSV/XLSX エクスポートが対象です。外部タイトルは一般名とし、識別子や参照に WhatsApp の電話番号などの元のプラットフォーム ID を含めません。外部検索はマスク後の文章に一致判定します。既存エクスポートもダウンロード時に現在の可視データを再収集するため、権限降格後は古い原文ファイルを取得できません。NER 未導入では正規表現のみの通知を表示し、不完全な導入・推論失敗時は外部本文を拒否します。すべての氏名や住所の除去は保証しません。
添付アーカイブは、ホストが記録した本人 WebChat の所有者、または既存の明示的なタスク・レビュー対象を要求します。外部・他人の添付名と内容、帰属不明の旧添付は制限付き閲覧者に非表示です。ナレッジベース、タスク、コンピューターワークスペースは各自の権限を維持します。モデルがパスに言及しても所有権は付与しません。
[people] bound_history_privacy = true が既定で、欠落や不正な値でも制限を維持します。移行期間に限り Admin が詳細設定で明示的に false を指定すると、従来の直接バインドの広い履歴アクセスを復元できます。管理者のチーム閲覧や manager_team_history の期間には影響しません。バインドを確認し職員に通知した後、制限を戻してください。本人 WebChat にコピーした第三者データは全文の対象で、意図的なコピーや同一 OS/Bash 経由のアクセスはこの読み取り境界の範囲外です。保存済み原文は変更しません。
制限付き収集は一度に可視ユーザー/アシスタント 20,000 件または 8 MiB を超えると明示的に拒否します。カーソル失効・再起動後は更新してください。不透明な識別子はルーティング用であり、各リクエストが現在のバインドと保存済み帰属を再検証します。