メールの宛先と添付を送信前に点検して、誤送信を止める
送信しようとしているメールの宛先・添付・本文を入力に、社外への送信で危ない組み合わせを見つけて、送信の直前に知らせます。送信者の作業は、毎回自分で見直すことから、指摘が出たときだけ確かめることに変わります。
- 利用ツール
- Azure OpenAI Service/ChatGPT/Claude/Gemini/Python
- 対象業界
- IT・SaaS/保険/士業/金融
- 対象部門
- 情報システム
- 対象業務
- 内容確認・チェック
- 主な課題
- 人手が足りない/属人化している/確認ミスが多い
- AIで行う処理
- 判定
- 主な効果
- 品質標準化/工数削減/機会損失防止
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- 個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 担当者がメールを作成する(顧客企業の担当者宛て、書類を添付)
- 宛先を確認する(アドレス帳の予測入力で似た名前が並ぶ)
- 添付ファイルを確認する(ファイル名と中身が合っているか)
- 本文を読み直す(他の顧客の社名が残っていないか)
- 送信する
- 誤送信に気づいたら、情報システムに連絡する
- 受信者に削除を依頼し、顧客に報告する
- 担当者がメールを作成する
- 自動宛先が変わったとき、宛先の組み合わせを下ごしらえする
- 自動添付が追加されたとき、添付の分類と中身の要点を下ごしらえする
- 自動本文が確定した時点で、本文と添付・宛先の整合を判定する
- 担当者が送信ボタンを押す
- 自動下ごしらえの結果を照合し、危ない組み合わせがあれば画面に出す(1秒以内)
- 人担当者が指摘を読み、修正するか、そのまま送るかを決める
- 自動指摘の内容と、担当者の選択を記録する
- 自動月次で、指摘の傾向と「そのまま送信」の割合を集計する
各工程の詳しい説明を読む
- 担当者がメールを作成する(顧客企業の担当者宛て、書類を添付)
- 宛先を確認する(アドレス帳の予測入力で似た名前が並ぶ)
- 添付ファイルを確認する(ファイル名と中身が合っているか)
- 本文を読み直す(他の顧客の社名が残っていないか)
- 送信する
- 誤送信に気づいたら、情報システムに連絡する
- 受信者に削除を依頼し、顧客に報告する
問題は5つあります。
(a)確認が自己申告に頼っている。 全員が毎回確認する前提ですが、確認したかどうかは記録に残りません。 忙しいときほど飛ばされます。
(b)アドレス帳の予測入力が危ない。 「tanaka@」と打つと、複数の顧客企業の田中さんが並びます。社名を見ずに選ぶと、別の会社に送ります。
(c)添付の取り違えが見つけにくい。 ファイル名が「賃金台帳_202609.xlsx」のような共通の形式だと、どの顧客のものかがファイル名から分かりません。
(d)本文の使い回しで社名が残る。 前の顧客宛てのメールを引用して作ると、本文に別の社名が残ることがあります。
(e)気づかれていない誤送信がある。 年3〜5件は「気づいた分」です。受信者が黙っていれば、記録にも残りません。
- 担当者がメールを作成する
- 【自動】 宛先が変わったとき、宛先の組み合わせを下ごしらえする
- 【自動】 添付が追加されたとき、添付の分類と中身の要点を下ごしらえする
- 【自動】 本文が確定した時点で、本文と添付・宛先の整合を判定する
- 担当者が送信ボタンを押す
- 【自動】 下ごしらえの結果を照合し、危ない組み合わせがあれば画面に出す(1秒以内)
- 【人】 担当者が指摘を読み、修正するか、そのまま送るかを決める
- 【自動】 指摘の内容と、担当者の選択を記録する
- 【自動】 月次で、指摘の傾向と「そのまま送信」の割合を集計する
自動化されるのは「下ごしらえする」「照合する」「知らせる」の3つです。残るのは「修正するかどうかを決めること」で、これは送信者の判断です。
02今回想定するシステム構成
Outlook(メール作成中) │ ├──【宛先が変わったとき】──▶ 判定サービス(下ごしらえ) │ └─ 宛先ドメインの分類 / 顧客の照合 │ ├──【添付が追加されたとき】──▶ 判定サービス(下ごしらえ) │ ├─ 分類ラベルの確認 │ └─ LLM API ── 添付の要点の抽出 │ ▼【送信ボタンを押したとき(OnMessageSend)】 Outlook アドイン(Smart Alerts) │ ▼ 下ごしらえの結果を照合(1秒以内) │ ├─ 問題なし ──▶ そのまま送信 └─ 指摘あり ──▶ ダイアログを表示 │ ▼ 【人が判断】修正する/そのまま送る │ ▼ 記録(指摘の内容と、選択の結果)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 実行環境 | Python(判定サービス。Azure Functions などで稼働) | 個別開発 |
| 生成AI | Claude API | OpenAI API、Gemini API、Azure OpenAI Service |
| 連携 | Outlook アドイン(Office.js) | メールゲートウェイでの処理 |
| メール基盤 | Exchange Online | オンプレミスの Exchange |
| 顧客情報 | 顧客管理システム | SharePoint リスト |
メールの誤送信防止に特化した製品が多数あります。 送信の一時保留、上長承認、添付の自動暗号化といった機能を持つものです。まずそれを検討してください。
自前で組む価値があるのは、「本文と添付と宛先の意味の整合」を見たい場合です。 既存の製品の多くは、宛先ドメインと分類ラベルのルールで判定します。「この本文で、この添付を、この宛先に送るのは不自然」という判断は、ルールでは書けません。
Smart Alerts の仕組みについて。 Outlook のアドインは、OnMessageSend イベントで送信時に処理を挟めます(requirement set 1.12 で導入)。この機能を使うアドインは、組織の管理者が集中展開する必要があります。 利用者が個別に入れるものではありません。
03どうやって実装するのか
処理の起点を決める
トリガーを3つに分けることが、この構成の設計の核です。
| イベント | 処理 | 時間の制約 |
|---|---|---|
OnMessageRecipientsChanged(宛先が変わったとき) | 宛先ドメインの分類、顧客の照合 | ゆるい |
OnMessageAttachmentsChanged(添付が変わったとき) | 分類ラベルの確認、添付の要点の抽出(LLMを呼ぶのはここ) | ゆるい |
OnMessageSend(送信ボタンを押したとき) | 下ごしらえの結果を照合するだけ | 1秒以内 |
送信時にLLMを呼ばないでください。
Smart Alerts のアドインは、短時間・軽量であるべきとされています。処理が5秒を超えると「時間がかかっている」という画面が出て、送信モードの設定によっては利用者が「そのまま送信」を選べてしまいます。 5分を超えるとタイムアウトします。
Microsoft のドキュメントでも、送信イベントのハンドラに重い検証を詰め込まず、他のイベントで事前に処理することが推奨されています。
送信モードの選び方。
Smart Alerts には、条件を満たさなかったときの挙動を決める「送信モード」が3つあります。
| モード | 挙動 | この構成での使い分け |
|---|---|---|
| prompt user | 「そのまま送信」を選べる。アドインが使えないときはそのまま送信される | 注意喚起にとどめる指摘 |
| soft block | 修正しないと送れない。ただしアドインが使えないときは送信される | 標準(既定値) |
| block | 修正しないと送れない。アドインが使えないときも送信できない | 分類ラベルが「社外禁止」の添付があるとき |
block を選ぶと、Microsoft Marketplace には公開できず、組織の管理者が展開する必要があります。 社内利用であれば問題ありません。
既定は soft block にし、条件を絞ってください。 すべての社外メールを止める設定にすると、利用者が「そのまま送信」を押すのが習慣になります。
なお、送信モードは実行時に上書きできます(Mailbox requirement set 1.14 以降)。危険度に応じて、注意喚起と強制を切り替える設計が取れます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 宛先 | TO・CC・BCC のメールアドレス | Outlook(Office.js) |
| 件名・本文 | 作成中のメールの内容 | Outlook(Office.js) |
| 添付ファイル | ファイル名、サイズ、種類、分類ラベル | Outlook(Office.js) |
| 送信者 | 送信者のメールアドレス、所属 | Outlook |
| 顧客ドメイン台帳 | 顧客企業名、ドメイン、担当部署、契約状況 | 顧客管理システム |
| 社内ドメイン | 自社および関連会社のドメイン | 情報システム |
| 送信履歴 | 送信者ごとの過去の送信先(直近12か月) | Exchange |
| 分類ラベルの定義 | ラベルと、社外送信の可否 | 情報システム |
| 過去の指摘と選択の記録 | 指摘の内容と、送信者が「そのまま送信」を選んだ履歴 | 運用で蓄積 |
「顧客ドメイン台帳」が、この構成の前提です。 どのドメインがどの顧客企業かが分からないと、「複数の顧客が宛先に混在している」ことを検出できません。1,200社分のドメインを整備する作業が、最初の関門です。
「送信履歴」も重要です。 その送信者が過去に一度も送ったことのないドメインへの送信は、注意すべき合図です。類似ドメインへの誤送信(1文字違い)を拾えます。
データの取得方法を決める
メールの内容: Outlook アドインから Office.js のAPIで取得します。本文全体を取得できますが、判定に必要な範囲に絞ってください。
添付ファイル: ファイル名・サイズ・種類は取得できます。中身の取得は、サイズと処理時間の制約があります。 添付が変わったタイミングで、必要なものだけ中身を読みます。
分類ラベル: Microsoft Purview の秘密度ラベルが設定されていれば、それを使います。ラベルの運用がない場合は、この構成の効果が大きく下がります。 ラベルの整備を先に行うことを推奨します。
顧客ドメイン台帳: 顧客管理システムからエクスポートし、判定サービス側に持ちます。日次の更新で足ります。
AIへ渡す前に整形する
ここでいう前処理は、送信の瞬間より前に行う下ごしらえです。
宛先が変わったとき:
- 各宛先を「社内」「顧客A」「顧客B」「未知のドメイン」に分類する
- TO・CC に複数の顧客企業が含まれていないかを確認する
- その送信者が過去に送ったことのないドメインを特定する
- 似たドメイン(1〜2文字違い)が顧客台帳にないかを確認する
添付が変わったとき:
- 添付の分類ラベルを確認する
- ファイル名から、対象の顧客を推定する
- 添付の中身の要点を抽出する(LLMを呼ぶのはここ)
- 個人情報が含まれそうかを判定する
送信の瞬間は、これらの結果を照合するだけにします。
AIに処理させる
ルールで書けることは、プログラムで判定します。
| 判定 | 方法 |
|---|---|
| 宛先に複数の顧客企業が混在している | ドメイン台帳との照合 |
| 分類ラベルが社外送信禁止の添付がある | ラベルの確認 |
| 過去に送ったことのないドメイン | 送信履歴との照合 |
| 顧客台帳のドメインと1〜2文字違い | 文字列の比較 |
| BCCにすべきものがTOに入っている | 宛先の件数と分類 |
| 添付が暗号化されていない | ファイルの属性 |
これらにLLMを使う理由はありません。 速く、確実で、根拠が明確です。
LLMにさせること(添付が変わったタイミングで実行):
| 処理 | 内容 |
|---|---|
| 添付の要点の抽出 | 添付がどの顧客の、どんな種類の書類かを要約する |
| 本文と添付の整合 | 本文で言及している書類と、実際の添付が一致しているかを見る |
| 本文と宛先の整合 | 本文に出てくる社名と、宛先の顧客が一致しているかを見る |
| 言及された添付の不足 | 本文に「添付します」とあるのに添付がない場合を指摘する |
「本文に出てくる社名と、宛先の顧客が違う」は、ルールでは書きにくく、LLMが効く典型です。 「株式会社◯◯様の賃金台帳をお送りします」と書いて、宛先が別の会社、というケースを拾えます。
LLMに「送ってよいか」を判断させないでください。 出すのは「本文には◯◯社とありますが、宛先は△△社です」という事実です。送るかどうかは送信者が決めます。
指示内容を固定する
あなたは、メールの送信前の点検を支援する担当者です。
本文と添付と宛先の整合を確認してください。
【厳守事項】
- 送ってよいかどうかを判断しないでください。
「送信を中止してください」「問題ありません」と書かないでください。
食い違っている事実だけを示してください。
- 本文と添付と宛先のうち、どれが正しいかを決めないでください。
「本文の社名が誤りです」と書かないでください。
- 添付の中身について、要約以上のことを書かないでください。
個人の氏名、金額、健康に関する記載を、指摘文に転記しないでください。
「個人情報を含む書類です」とだけ書いてください。
- 本文に社名が出てこない場合は、宛先との照合を行わず、
company_in_body を null にしてください。
「おそらく〇〇社宛てと思われます」と推測しないでください。
- 指摘文は、下記の制約に従ってください。
・1つの指摘は60文字以内
・何が、何と食い違っているかを具体的に書く
・「確認してください」だけの指摘を作らない
- 添付が複数ある場合は、それぞれについて別の指摘にしてください。
- 送信者の注意力や過去の誤りについて言及しないでください。
【宛先(分類済み)】
{recipients_classified}
【件名】
{subject}
【本文】
{body}
【添付ファイルの情報(要点のみ)】
{attachments_summary}
【顧客ドメイン台帳の該当行】
{customer_domains}
「送ってよいかどうかを判断しない」の1行が重要です。 これを書かないと「このまま送信して問題ありません」という出力が出ます。それを見た送信者が確認を省きます。
「個人の氏名、金額、健康に関する記載を指摘文に転記しない」も必ず入れてください。 指摘のダイアログは画面に表示され、記録にも残ります。そこに個人情報を書くと、防ごうとしている漏えいを自分で起こすことになります。
「1つの指摘は60文字以内」の制約は、表示の都合です。 Smart Alerts のダイアログに表示できるメッセージは500文字以内とされています。複数の指摘を並べるため、1件を短くします。
出力形式を固定する
下ごしらえ(プログラム+LLM)の出力:
{
"draft_id": "",
"prepared_at": "",
"recipients": [
{
"address_hash": "",
"domain": "",
"classification": "internal | customer | unknown | similar_to_customer",
"customer_name": "",
"sent_before": true
}
],
"rule_findings": [
{
"type": "multiple_customers | label_blocked | unknown_domain | similar_domain | to_should_be_bcc | unencrypted",
"severity": "block | soft_block | prompt",
"detail": ""
}
],
"llm_findings": [
{
"type": "body_vs_recipient | body_vs_attachment | attachment_missing | attachment_customer_mismatch",
"message": "",
"company_in_body": "",
"company_in_recipient": "",
"attachment_name": ""
}
],
"contains_personal_data": false,
"prepared_complete": true
}
送信時(アドイン)の判定:
{
"send_mode": "block | soft_block | prompt",
"dialog_message": "",
"findings_shown": [],
"prepared_complete": true
}
prepared_complete を持つのは、下ごしらえが終わっていない状態を区別するためです。宛先や添付を変えた直後に送信ボタンを押すと、下ごしらえが間に合わないことがあります。その場合は「確認できていません」と伝え、送信モードは prompt にします。 止めてはいけません。
address_hash(メールアドレスのハッシュ)を持ち、アドレスそのものを記録に残さない設計にできます。 ドメインは残し、ローカル部は残さない、という選択もあります。
なお、Claude API には出力をJSONスキーマに沿わせる構造化出力の機能があります(2026-09-16時点ではベータ機能として提供)。件数が多く機械処理なので、利用できると安全です。
システムへ連携する
| つなぐ先 | 内容 |
|---|---|
| Outlook アドイン(Office.js) | メールの内容の取得、ダイアログの表示、送信の制御 |
| 判定サービス(Python) | 下ごしらえと照合 |
| 顧客管理システム(読み取り) | 顧客ドメイン台帳を取得する |
| Exchange(読み取り) | 送信履歴を取得する |
| ログ基盤 | 指摘と選択の記録 |
送信を自動でキャンセルしないでください。 送信モードで制御し、利用者が明示的に「送らない」を選ぶ形にします。 黙って送信が消えると、利用者は何が起きたか分かりません。
対応クライアントに注意してください。 Smart Alerts は、Outlook on the web(モダンUI)、新しい Outlook on Windows、クラシック Outlook on Windows(Version 2206 以降)、Outlook on Mac(Version 16.65 以降)で動作します。Android と iOS では動作しません。 モバイルからの送信は、この構成の対象外になります。
人が確認する
判定は自動ですが、修正するかどうかは必ず送信者が決めます。
送信モードの使い分けは次のとおりです。
| 状況 | 送信モード | 理由 |
|---|---|---|
| 分類ラベルが社外送信禁止の添付 | block | 規程で禁止されている。アドインが動かないときも止める |
| 複数の顧客企業がTO・CCに混在 | soft_block | ほぼ確実に誤り |
| 本文の社名と宛先の顧客が違う | soft_block | 誤りの可能性が高い |
| 過去に送ったことのないドメイン | prompt | 正当な新規取引先の可能性がある |
| 顧客ドメインと1〜2文字違い | soft_block | 誤送信の典型 |
| 本文で言及した添付がない | prompt | 意図的な場合がある |
| 下ごしらえが未完了 | prompt | 止めてはいけない |
「そのまま送信」を選んだ記録を必ず残し、月次で集計してください。
同じ指摘に対して「そのまま送信」が続いているなら、その判定は誤検知です。 条件を見直します。この集計をしないと、警告が形骸化していることに気づけません。
例外に対処する
| 起きること | 対応 |
|---|---|
| 下ごしらえが間に合わない | prompt で「確認できていません」と伝える。止めない |
| 判定サービスに接続できない | 送信モードは prompt または soft_block。block を既定にすると業務が止まる |
| 添付が大きくて中身を読めない | 中身の判定を行わず、ファイル名と分類ラベルだけで判定する |
| 添付が暗号化されていて読めない | 中身を判定しない。暗号化されていること自体は安全側 |
| 分類ラベルが設定されていない | ラベルによる判定を行わない。「ラベルなし」を検出して注意喚起する |
| 顧客ドメイン台帳にないドメイン | unknown として prompt にする。新規取引先の可能性がある |
| メーリングリスト宛て | 展開後のメンバーが分からない。注意喚起にとどめる |
| 社内転送で顧客情報を含む | 社内宛ては対象外にするか、別の基準にする |
| モバイル(Android/iOS)からの送信 | Smart Alerts が動作しない。 別の対策(モバイルからの添付送信を制限するなど)が必要 |
| 処理が5秒を超えた | 「時間がかかっている」画面が出る。下ごしらえの設計を見直す |
| 同じ指摘に「そのまま送信」が続く | 誤検知として条件を見直す |
| 利用者が指摘を読まずに送信する | 指摘の件数を絞る。出しすぎが原因 |
記録を残す
- 指摘の内容と、そのときの送信モード
- 送信者の選択(修正した/そのまま送った/送らなかった)
- 判定に使ったルールと、その根拠
- 下ごしらえが未完了だった件数
- 処理時間(5秒を超えた件数)
- 月次の集計(指摘の種類別の件数、「そのまま送信」の割合)
メールの本文と添付の中身を記録に残さないでください。 判定のために一時的に読むことと、記録として保管することは別です。保管すれば、そのログ自体が新しい漏えいの対象になります。
「そのまま送信」の割合が、この構成の健全性の指標です。 種類別に見て、8割を超える指摘は誤検知として扱ってください。
04実装レベルの3段階
半自動化の段階に価値があります。 ルールによる判定だけでも、複数顧客の混在と類似ドメインへの送信は止められます。これが誤送信の多くを占めます。 本文と添付の整合まで作り込むのは、その後で構いません。
05工数削減シミュレーション
導入後 9,000件 × 0.2分 ÷ 60 = 22.5 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 顧客ごとに機密性の高い情報を扱い、社外メールの送信が月3,000通以上ある企業。Microsoft 365 を利用していて、アドインを組織全体に展開できること。顧客企業のドメインが管理されていること。
- 社外メールが月500通未満の場合。すでにメールの誤送信防止製品を導入していて、要件を満たしている場合。Microsoft 365 以外のメール基盤を使っていて、送信前に処理を挟む仕組みがない場合。
07最小構成で試す方法
この構成には「最小構成」がありません。 送信前に処理を挟む仕組みが必要なためです。
ただし、導入の可否を判断するための準備は、アドインなしでできます。
- 顧客ドメイン台帳を作る(1,200社分。顧客管理システムから作れます)
- 過去3か月の送信履歴から、社外メールを抽出する
- TO・CCに複数の顧客企業のドメインが含まれていた件数を数える
- 顧客ドメインと1〜2文字違いのドメインへの送信があったかを調べる
この2つの数字で、ルールによる判定だけでどれだけ拾えるかが分かります。
次に、AIの部分を試します。
- 添付ありの社外メールを50通選ぶ
- 本文と添付のファイル名、宛先ドメインを生成AIに渡し、整合を判定させる
- 誤検知が何件出るかを数える
6の検証では、誤検知の件数が重要です。 50通中10件も指摘が出るようなら、実運用では警告が形骸化します。50通中1〜2件に収まる条件を探してください。
あわせて、分類ラベルの運用状況を確認してください。 秘密度ラベルが設定されていないなら、この構成の前にラベルの整備が必要です。 ラベルによる判定が、もっとも確実で速い判定だからです。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 送信時にLLMを呼んで遅くなる | 事前イベントで下ごしらえする。送信時は照合のみ。5秒を超えると警告画面が出る |
| 警告が多すぎて読まれない | 指摘の件数を絞る。「そのまま送信」の割合を月次で見て条件を見直す |
すべてを block にして業務が止まる | block は分類ラベル違反のみ。既定は soft_block、判定できないときは prompt |
| 判定サービスが落ちたときに送信できない | block を既定にしない。接続できないときは prompt にする |
| 指摘文に個人情報を書いてしまう | 氏名・金額・健康に関する記載を転記させない。画面と記録の両方に残る |
| メール本文をログに保存する | 保存しない。ログ自体が漏えいの対象になる |
| 顧客ドメイン台帳がない | 先に整備する。これがないと混在の検出ができない |
| 分類ラベルの運用がない | ラベルの整備を先に行う。もっとも確実な判定手段 |
| モバイルからの送信を対象にできると思う | Smart Alerts は Android / iOS では動作しない。 別の対策が要る |
| 下ごしらえ未完了で送信されたときに止める | 止めない。prompt にする |
| AIが「送信して問題ありません」と書く | プロンプトで禁止する。確認を省かせる原因になる |
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: メールの宛先、件名、本文、添付ファイルの内容。顧客企業の従業員の個人情報(氏名、マイナンバー、給与、健康に関わる手続き情報)が含まれます。
- 誤送信を防ぐ仕組みが漏えいの経路にならないようにする … 本文と添付を判定のために外部のAIサービスに送ることは、それ自体が新しい送信経路を作ることです。 自社の情報管理規程と、顧客との契約を必ず確認してください。テナント内で処理が完結する構成を選ぶ判断は、この用途では特に合理的です
- 特定個人情報(マイナンバー)の扱い … マイナンバーを含む書類は、番号法により取扱いが厳しく制限されています。マイナンバーを含む添付の中身をLLMに送ることは、避けてください。 分類ラベルとファイル名だけで判定する設計にします
- 要配慮個人情報 … 健康診断結果、傷病手当金の申請書など、要配慮個人情報を含む書類があります。同様に、中身をLLMに送らない設計を検討してください
- ログに本文・添付を残さない … 判定のために一時的に読むことと、記録に残すことは別です。指摘の種類と選択の結果だけを残してください
- 送信者の監視にしない … 「誰が何回そのまま送信したか」を個人の評価に使わないでください。そのように使われると、利用者は指摘を回避する行動を取ります(添付を分けて送る、社内経由で送るなど)。全体の傾向として見てください
- 学習利用 … 入力を学習に使わないことが契約で保証されるサービスを選びます。この用途では絶対条件です
- アクセス権限 … 指摘のログの閲覧を、情報システム部門に限定します
- 自動実行してよい範囲 … 判定と指摘の表示までです。送信の可否は、必ず送信者が決めます。 自動で送信を取り消す構成にしないでください
誤りが起きた場合のリスクは、誤送信の見逃しと、この構成自体が情報を外部に送ることによる漏えいです。後者を防ぐため、「何をAIに送るか」を最小限にする設計を、最初に固めてください。
10まず何から始めるか
1週目:誤送信のパターンを数える
過去3か月の送信履歴から、次を数えます。
- TO・CCに複数の顧客企業のドメインが含まれていた件数
- 顧客ドメインと1〜2文字違いのドメインへの送信
- その送信者が初めて送ったドメインへの送信
この3つで、ルールだけで拾える範囲が分かります。
2週目:顧客ドメイン台帳を作る
顧客管理システムから、顧客企業名とドメインの対応表を作ります。1,200社分です。 複数ドメインを持つ顧客、グループ会社の扱いを決めます。
3週目:分類ラベルの運用を確認する
秘密度ラベルが設定されている書類の割合を測ります。低いなら、ラベルの整備が先です。 マイナンバーを含む書類には、必ずラベルが付く運用を作ってください。
4週目:AIに送る範囲を決める
法務・情報システムで、次を決めます。
- 本文をAIに送ってよいか
- 添付の中身を送ってよいか
- マイナンバー・要配慮個人情報を含む添付の扱い
技術より先にここを決めてください。 結論によっては、ルールによる判定だけの構成になります。
2か月目:ルール判定だけのアドインを作る
ドメイン混在、分類ラベル、類似ドメインの3つだけを判定するアドインを作り、情報システム部門の10名で1か月試します。指摘の件数と、「そのまま送信」の割合を測ります。
3か月目以降: 全社展開し、事前イベントでの下ごしらえと、本文・添付の整合の判定を追加します。月次で「そのまま送信」の割合を見て、条件を絞り続けてください。 そこを止めると、警告は形骸化します。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
OnMessageSend / OnAppointmentSend イベントで送信時に処理を挟めること(requirement set 1.12 で導入)。送信モードに prompt user / soft block / block の3つがあり、既定は soft block であること。処理が5秒を超えると「時間がかかっている」旨の画面が出て、5分でタイムアウトすること。ダイアログのメッセージは500文字以内であること。block を設定したアドインは Microsoft Marketplace に公開できず、組織の管理者が展開する必要があること。対応クライアントが Outlook on the web(モダンUI)・新しい Outlook on Windows・クラシック Outlook on Windows(Version 2206 以降)・Mac(Version 16.65 以降)であり、Android・iOS は対応外であること。送信イベントのハンドラに重い検証を詰め込まず、OnMessageRecipientsChanged や OnMessageAttachmentsChanged など他のイベントで事前に処理することが推奨されていること。Mailbox requirement set 1.14 以降は送信モードを実行時に上書きできること | Microsoft Learn: Handle OnMessageSend and OnAppointmentSend events with Smart Alerts | 2026-09-16 |
| イベントベースのアクティブ化が、組織の管理者による集中展開を前提とすること | Microsoft Learn: Activate add-ins with events | 2026-09-16 |
| Claude API に、出力をJSONスキーマに沿わせる構造化出力の機能があること(2026-09-16時点ではベータ機能) | Claude Platform Docs: Structured outputs | 2026-09-16 |
メール本文および添付ファイルの内容を外部サービスに送ることの可否は、自社の情報管理規程と顧客との契約によります。特定個人情報(マイナンバー)については、番号法に基づく取扱いの制限を確認してください。 アドインの展開方法と対応クライアントは、自社の Microsoft 365 の構成によって異なります。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。誤送信の削減効果は、根拠がないため数値化していません。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0104)についてのご相談はこちらから。
