運用担当がデータベースの一時パスワードをメール本文に書く。件名は「今夜はこのパスワードで」。同僚へ送り、控えとして自分にも Cc する。十分後にまずいと思い、送信済みを開いて消す。同僚のロック画面には、その一行がまだ出ている。社用ノートの Outlook は同じメールをすでに取り込んでいる。どちらも「消した」つもりだ。平文は、まだ開ける場所に複数残っている。

前の記事ではSlack や LINE にワンタイムリンクを貼ると、プレビューで先に消費されるかを書いた。あれは「人が押す前に、カードが閲覧回数を一回使うか」だ。本稿の問いは別にある。パスワードそのものをメール本文に書いたあと、まだ開けるコピーはどこか。鍵をワンタイムで渡すなら、形はいまも s.html?id=…#… だ。作成も閲覧も登録不要。MyPassGen のツールは開いたその場で使える。作成画面のボタン案内ではない。公式ヘルプと、送信済み、通知、アドレスバーで見えるものだけを照合する。

先に二つを分ける

「送信取り消し」の多くは、配送前の短い待ちだ。相手のメールボックスから、開いたあとのコピーを引き抜く機能ではない。情報保護モードが止めるのは、Gmail の画面にある転送、コピー、印刷、ダウンロードだ。公式の「重要」は、スクリーンショットと写真は止まらないと書く。自分の送信済みを消しても、相手の受信トレイ、スマホのプレビュー、メール検索が空になった証明にはならない。

送信済みを消しても、パスワードが残る理由

メールは、送信を押した瞬間に消える一枚の紙ではない。RFC 5321 §2.1 は、SMTP の仕事を、確実かつ効率よくメールを運ぶことと書く。クライアントは一通をサーバへ渡す。そのサーバは最終の届け先でも、途中の中継でもよい。中継はいったん預かり、次のホップへ渡す。各ホップは責任の受け渡しだ。パスワードを本文に書いた時点で、それは RFC 5322 のメッセージ全体に乗る。いま閉じた作成窓だけに点灯して消えるわけではない。

届いたあと、メールはたいていサーバ上のフォルダに残る。ネットワークから即座に消えるわけではない。RFC 9051 は IMAP4rev2 を、クライアントがサーバ上のメールを開き、操作する手段と定義する。遠隔のメールボックスは、機能としては手元のフォルダと同じだ。スマホ、ウェブメール、デスクトップのクライアントは、同じサーバ上のコピーを読む。ブラウザで送信済みを消すのは、自分のアカウントの一つのフォルダを変えただけだ。相手の受信トレイ、相手のスマホがすでに取り込んだコピー、会社テナントのジャーナルや保持方針は、そのクリックでは消えない。

だから「控えとして自分へ送る」も「同僚へ送ってから消す」も、平文を残す。自分宛てなら、送信済みと受信トレイは同じメールへの二つの入口になりやすい。件名やその数語で検索すれば、もう一度開く。他人宛てなら、少なくとも送信側の送信済み、受信側の受信トレイ、ロック画面の通知の先頭数行がある。一つの入口を空にしても、ほかが空だとは言えない。

国内の現場では、パスワード付き ZIP を添付し、解凍パスワードを次のメールで送る、いわゆる PPAP も残る。二通目の本文は、送信済みと検索に平文を残す点では、一時パスワードを本文に書くのと同じだ。添付の暗号は別の話で、解凍用の一文がメールに乗った時点で、本稿の対象になる。

送信取り消しとメッセージ取り消しは、別の段を戻す

Gmail の「送信取り消し」は公式ヘルプに書いてある。送信のあと、左下に「メールを送信しました。」と出る。[取り消し] を押せる。取り消せる時間は設定で 5、10、20、30 秒から選ぶ。メールの送信または送信取り消しは、「配送が終わったあと、相手のメールボックスから引き抜ける」とは書いていない。この数十秒を過ぎると、パスワード入りのメールは SMTP の経路で作成窓を離れている。遅延配送であり、事後の回収ではない。

Outlook の「メッセージの取り消し」は、境界がさらに狭い。Microsoft の Outlook でメールを取り消す方法は、新しい Outlook、従来の Outlook for Windows、Outlook on the web から取り消せる条件をこう書く。双方が同じ組織の Microsoft 365 の職場または学校アカウントを使い、受信者がまだメッセージを開いていないときだけだ。個人アカウント、Gmail、Hotmail、Outlook.com ではメッセージの取り消しは使えない。Outlook.com 側の説明はさらに短い。@outlook.com、@hotmail.com、@live.com、@msn.com は、一度出すと自分のメールサーバの外へ出る。個人アカウントが使えるのは「送信を元に戻す」の遅延で、最長も同じく 30 秒だ。

取り消し要求を出したあとでも、Microsoft は失敗条件を書く。相手がすでに読んだ、手で転送した、受信トレイ規則で行き先が変わった、といった場合だ。メッセージ取り消しレポートは、成功、保留中、失敗を出す。受信者のメールボックスが一時的に使えないときは、失敗と印を付ける前に最大およそ 24 時間再試行する。Exchange Online のクラウド側の取り消しは、テナント管理者が止めない限り、既読のコピーも引き抜けることがある。Microsoft Learn の クラウドベースのメッセージ リコールは、この機能は組織の範囲内に限ると書く。インターネットや組織をまたいだ取り消しはできない。ヘルプのダイアログがいまも「未読なら」と書いていても、クラウド経路ではその文言が実情とずれることがある。どれも、取り消しを確実な破棄にはしない。社外のメールボックス、通知をすでに開いた相手、自分の Gmail は、約束の外だ。

情報保護モードはボタンを消す。コピーは消さない

Gmail の情報保護モード(英語名 Confidential mode)は、「メール版のワンタイム」と扱われやすい。公式ヘルプ 情報保護モードのメールを送信する、開く が列挙するのは、有効期限、いつでもアクセス権を取り消せること、受信者の画面で転送、コピー、印刷、ダウンロードを無効にできること、任意の SMS パスコードだ。同じページ先頭の「重要」の方がはっきりしている。情報保護モードは、受信者が誤ってメールを共有するのを減らす助けになる。スクリーンショットや写真の撮影は制限できない。受信者の端末に悪意のあるプログラムがあれば、コピーやダウンロードはまだありうる。

アクセス権を取り消す入口は、送信側の送信済みにある。その情報保護モードのメールを開き、[アクセス権を取り消す] を押す。期限切れや取り消しのあと、受信者は本文と添付を開けない。送信側の送信済みのコピーは、別に消さない限り残る。期限切れが外すのは相手側のアクセス用リンクだ。Google のシステムから平文を物理的に消すわけでも、自分の送信済みを一緒に焼くわけでもない。パスワードを情報保護モードの本文に書くのは、本文を預かるサービスへ平文を渡し、画面上の制限を足すことだ。Google Workspace の説明では、配送時に受信側のコピーから本文と添付を外し、リンクに置き換える。SMTP で出ていくのは件名とそのリンクだ、と書く。

SMS パスコードは世界共通ではない。Google が挙げるのは北アメリカ、南アメリカ、ヨーロッパ、オーストラリア、アジアではインド、韓国、日本だ。この外では「SMS パスコードを使用しない」しか選べないことが多い。その一段が無いとき、メールを開けた人は本文を読める。情報保護モードが答えるのは「Gmail の画面からボタンが減る」だ。「鍵を見るのは受信者のブラウザだけ」ではない。MyPassGen のワンタイムとは設計が違う。こちらはブラウザで AES-256-GCM で暗号化し、鍵は URL の # の後ろに置き、サーバが預かるのは暗号文だけだ。アルゴリズムと、平文が上がっていないことの確かめ方は、ブラウザで暗号化したとき、平文が送られていないことをその場で確かめるにある。

送信済み、同期、ロック画面のプレビューの差

同じパスワードがメールに乗ったあと、よく残る入口は四つだ。第一は送信側の送信済み。ウェブメール、Outlook、Apple のメールが送信済みをサーバへ同期していれば、同じアカウントで入った別のパソコンでも、件名検索で原文が開く。スマホの通知を払っても、このコピーは消えない。

第二は受信側の受信トレイと、すでに端末へ落ちたオフラインのコピーだ。IMAP のクライアントは、ノートにメール全体をキャッシュすることが多い。相手が転送や返信で原文を引用すれば、パスワードは新しいスレッドへもう一度コピーされる。第三はロック画面と通知だ。多くのメールアプリは、件名と本文の先頭数行をバナーに描く。パスワードが一文目にある、あるいは件名が「パスワードは xxx」だと、プレビューは画面を見られる人へ平文を掲げる。iPhone では Apple が 通知機能を使う で「プレビューを表示」を説明する。設定 → 通知で、「常に」を選ぶと、ロックを外さずにロック画面へ内容が出る。「ロックされていない時のみ」と「しない」は、その断片を隠す。第四は検索だ。Gmail も Outlook も、本文の語で古いメールを拾える。パスワードそのものが当たるなら、索引から出ていない。

社用メールはもう一段増えることがある。前の記事では、Microsoft Defender の Safe Links が URL を書き換え、スキャンすることがあると書いた。あれはリンクのプレビューとゲートウェイの話だ。パスワードが本文にあるとき、スキャナが見るのは s.html?id=… ではない。平文そのものだ。ゲートウェイ、ジャーナル規則、電子情報開示が別コピーを残すかはテナント方針次第で、製品の標語からは読めない。その場で開けるのは、いまも送信済み、受信トレイ、通知のプレビュー、検索の四つだ。

自分宛てでも、手元だけにあることにはならない

「いったん自分の受信トレイへ送り、同僚へ転送する」は、送信済みを一つ、受信トレイを一つ増やす。スマホのメール、ウェブの検索、ブラウザがパスワードの保存を勧めると、もう一層残りうる。コピーしたあとクリップボードを誰が読むかは、パスワードをコピーしたあと、クリップボードはまだ誰が読めるか。問い合わせ票の本文にある電話番号やマイナンバーの伏せ方は、問い合わせ票とチャット履歴を送る前、伏せるべき項目。パスワードは、同じメールの普通の欄ではない。

対照表:メールのパスワードは何が残るか

同じテスト用パスワード、同じ件名で、普通の送信、送信取り消しの窓の中でのキャンセル、Outlook のメッセージ取り消し、Gmail の情報保護モードを分ける。開けるページは同じではない。表は「自分が押せる場所」で書く。製品の呼び方では書かない。

自分がしたこと 送信側の送信済み 受信側でよくある結果
普通に送り、自分の送信済みを消す こちらは空になりうる。先に検索する 受信トレイ、通知プレビュー、取り込み済みのコピーに原文が残りうる
Gmail の送信取り消し(5〜30 秒以内に取り消し) 作成へ戻ることが多く、送信済みはできない 窓の中で止めれば相手には届かない。時間切れ後は普通の送信と同じ
Outlook の取り消し(同一組織。ヘルプはいまも未読と書く) 元のメールと取り消しレポートは残る 引き抜けることもある。既読、社外、個人メールは失敗しやすい
Gmail の情報保護モード。期限切れかアクセス権の取り消し 送信済みにはコピーが残り、別に消す 本文は開かない。スクリーンショットと写真はボタン制限の外
本文はワンタイムの番号だけ。鍵は電話 メールに # の後ろの鍵は無い プレビューと検索では使える資格情報にならない。復号には両半分が要る

五行目と上の四行を混ぜない。完全な s.html?id=…#… をメールへ貼っても、スレッドには一つの資格情報が残る。サーバは鍵を見ない。人は文字列全体をコピーできる。プレビュー用ボットは、たいてい # の後ろを受け取らない。番号と鍵を分ければ、メール検索は動く完全なリンクを拾えない。完全な URL は、いまも資格情報だ。ブックマークへ残さない。

その場で確かめる

次の手順は、どの社の約束にも依らない。本物のアカウントへは入らないテスト用パスワードを使う。例は orange-lake-7。件名は「テスト — 本番は開かない」。いま使っているマスターパスワード、本番の鍵、本物のワンタイムでは試さない。

  1. 個人のテスト用メールから、自分宛てに一通送る。本文はテスト用パスワードだけ。送った直後に送信済みを開き、原文があることを見る。スマホのメール通知を開き、ロック画面や通知にテスト用パスワードか件名が出るかを見る。本番の社用メールではこの段をやらない。
  2. ウェブメールで orange-lake-7 を検索する。当たれば、本文は索引に入っている。まだ開く入口を書く。送信済み、受信トレイ、会話表示。送信済みを消し、もう一度検索する。受信トレイやすべてのメールはまだ当たるか。
  3. Gmail の設定で送信取り消しを読む。いまが 5、10、20、30 秒のどれかを書く。同じテストメールを送り、窓の中で取り消しを押す。送信済みと受信トレイのどちらにも、そのメールは出ないはずだ。もう一通送り、窓が終わるまで待ち、両方に原文が出ることを見る。証明できるのは遅延の境界だけだ。あとから回収できる証明にはならない。
  4. 同じ組織の Microsoft 365 のテストアカウントが二つあるなら、未読の同僚のテスト用受信トレイへ送り、公式の手順で取り消す。メッセージ取り消しレポートを開き、成功か失敗かを読む。Gmail や Outlook.com への比較用メールに、使える取り消しは出ないはずだ。個人アカウントは、Microsoft の説明どおり、送信を元に戻す遅延へ切り替える。
  5. 自分の Gmail に情報保護モードがあるなら、テスト用パスワードを情報保護モードで、自分の二つ目のテスト用受信トレイへ送る。照合する。転送とコピーは使えないか。システムのスクリーンショットはテスト用パスワードをまだ撮るか。送信済みでアクセス権を取り消したあと、受信側は本文を開けるか。送信側の送信済みに原文は残るか。
  6. 同じテスト文で MyPassGen のワンタイムリンクを作る。期限は 24 時間、閲覧回数は 1 のまま。メールにはハッシュより前の s.html?id=… だけを貼る。鍵は電話か対面で伝える。登録せずに開く。番号だけなら、受け手はリンクが不完全だと見るはずだ。復号には両半分が要る。読んだあとクリップボードを上書きする。# の付いたアドレスを送信済みに残さない。

社用メールなら半歩足す。このテストメールが会話の中で何回転送されたか、スマホのプレビューにテスト用パスワードがまだ出るかを見る。あるゲートウェイが別コピーを残したかは、MyPassGen は代行して判断しない。いま開いた窓を信じる。

メールで渡さざるを得ないとき、資格情報を分ける

一対一で、相手がすぐ開けるなら、パスワードを本文に書かない。この端末で生成し、ワンタイムに包む。MyPassGen のパスワード生成は、ランダムが 6〜128 文字、初期値 16、8 未満は弱いと出す。登録せずに開く。生成結果は業務データとして上がらない。作成時、ブラウザは AES-256-GCM で暗号化する。一文の上限は 32 KB。閲覧回数の初期値は 1、上限は 10。期限は 1 時間、24 時間、7 日、または回数だけ見て TTL 無し。サーバが預かるのは暗号文だけ。鍵を # の後ろに置く理由は、同僚にパスワードを一度だけ渡すとき、なぜ復号鍵を URL の # の後ろに置くのかにある。

メールが必須なら、経路を分ける。メールは番号と「鍵は電話」の一文だけにする。同期し、索引し、通知プレビューを描くメールボックスへ、完全なリンクを貼らない。電話、対面、別のメッセンジャアカウントが運ぶのは # の後ろだけだ。半分だけでは解けない。これは使い方であり、製品の既定の分割ではない。作成画面が出すのは、いまでも一本の完全なリンクだ。一対一ではそれが楽だ。大きな宛先や、プレビューカードを描くチャンネルでは、先にテスト用リンクでプレビューが回数を使うかを見てから、本番を出す。

32 KB を超える証明書の束や書き出し表は、ワンタイムのテキストに無理に載せない。ファイル暗号を使う。ブラウザで AES-256-GCM のストリーム暗号化、一件 5 GB まで、出力は .lock / .enc、パスフレーズは別経路。クラウドやメール添付が持つべきは暗号文だけだ。見方はファイルをクラウドに入れる前、平文は誰が読めるか、パスフレーズはどの経路で送るか。暗号化していない表をメールに付けるのは、本文にパスワードを書くのと同じ類だ。添付は送信済みと、その後の転送に乗る。

「送信済みを消したあと、検索はまだ当たるか」と「通知プレビューにテスト用パスワードが出るか」の二回を終えたら、本稿の問いに答えられる。パスワードをメール本文に書いたあと、送信済み、受信トレイ、転送の連鎖、スマホのプレビューは、平文をもう一度出せる。送信取り消しが覆うのは数十秒だ。メッセージの取り消しが覆うのは同一組織で、それでも失敗しうる。情報保護モードが覆うのはボタンであり、スクリーンショットではない。メールは番号向きだ。パスワードそのもの向きではない。

よくある質問

送信済みを消したら、相手も見えなくなるか

自分のフォルダが空でも、相手の受信トレイは空にならない。IMAP はサーバと、すでに同期した端末にメールを残す。テスト用パスワードを検索する。受信トレイ、すべてのメール、スマホの通知。相手がすでに読んだ、または転送したなら、取り消しは当てはまらない。「送信済みを消した」を、パスワードの更新の代わりにしない。

Gmail の情報保護モードは、ワンタイムの代わりになるか

ならない。Google は、誤った転送を減らせると書く。スクリーンショットと写真はまだ効く。マルウェアはまだコピーしうる。期限切れやアクセス権の取り消しのあと、送信側の送信済みには、たいていコピーが残る。本文はサービスが預かる。平文が受信者のブラウザにだけ出るわけではない。「サーバが暗号文以外を見たか」を見るなら、ワンタイムと Network を使う。情報保護モードで代用しない。

完全なワンタイム URL をメールに貼る方が、本文のパスワードより良い点は何か

サーバのログと、HTML だけ取るプレビューは、たいてい # の後ろの鍵を見ない。閲覧ページも、スクリプトが暗号文を取るまで回数を動かさない。スレッド、送信済み、通知プレビューには、URL 全体が残りうる。コピーした人は、破棄前に開ける。より安定なのは、メールは番号だけ、鍵は別経路だ。

作成と閲覧に登録は要るか。経路を間違えたら、問い合わせで戻せるか

登録は不要。作成も閲覧も訪問者に公開されている。暗号文が回数か期限で破棄されたあと、サーバ側の平文バックアップは無く、取り戻せる問い合わせ窓口も無い。新しいパスワードと新しいリンクを作る。同じ URL を何度も更新して戻るのを待たない。