銀行エンジニアリング 15:ケース調査・判断・二次確認・上申
アラートを「処理する」のではなく「調べて判断する」ための仕組みです。証拠なしに判断できないこと、同じ人が一人で確定できない場面があること、上申の意味を学びます。
v8以降に実装した台帳・記帳エンジンなどを実際に動かし、正常時と異常時の両方から銀行システムの構造を学ぶ。
Prerequisite: BANKING SYSTEMLEARNING GOALS
このページで学ぶこと
- ケースの状態と判断(Disposition)
- 判断に証拠を求める理由
- 二次確認(Four Eyes)と上申(Escalation)
PLAIN LANGUAGE
まず、ここだけつかむ
アラートは口座ごとのケースにまとめて調査し、判断を記録します。
判断には証拠か調査メモが必要で、二次確認は別の担当者、上申後の完了は管理責任者が行います。
調査の記録は追記のみで、判断の選択肢に「不正確定」はありません。
DIFFICULT PARTS, STEP BY STEP
難しいポイントを、順番にほどく
専門用語を覚えることより、「なぜ必要か」「このシステムのどこで使うか」を理解することが目標です。
Case
1つの口座についての調査のまとまりです。
関連するアラートをまとめて判断するためです。
aml.cases。1ケース1口座。
Four Eyes(二次確認)
別の人がもう一度確認することです。
一人の誤りや不正を防ぐためです。
NEEDS_REVIEW 後は依頼者と別の人だけが判断(AL008)。
Escalation(上申)
より権限のある人へ判断を引き継ぐことです。
重大な判断を担当者だけで終わらせないためです。
ESCALATED のケースは管理責任者だけが完了。
Level 2 銀行業務:架空の3ケース
| 架空ケース | 検知 | 調査で分かったこと | 判断 |
|---|---|---|---|
| A:入金直後の送金 | RAPID_PASS_THROUGH | 給与の受け取り後に家賃と積立を支払っていた | FALSE_POSITIVE(誤検知) |
| B:開設直後の高額送金 | NEW_ACCOUNT_LARGE_OUTFLOW | 説明はあるが裏付けが足りない | NEEDS_REVIEW(別の担当者が二次確認) |
| C:高頻度の少額送金 | HIGH_FREQUENCY_OUTFLOW | 説明と取引が一致しない | ESCALATED(上申。管理責任者が結論を記録) |
Level 3 システム:ケースの状態遷移
- 01OPEN(未着手)
- 02INVESTIGATING(調査中)
- 03判断:FALSE_POSITIVE / CLEARED → CLOSED
- 04判断:NEEDS_REVIEW → PENDING_REVIEW → 別担当者が判断
- 05判断:ESCALATED → 管理責任者が完了 → CLOSED
- ケースは1つの口座についてだけ作れる(AL002)。すでにケースに入ったアラートは別のケースに入れられない(AL003)
- 判断には調査メモ(NOTE)か証拠(EVIDENCE)が少なくとも1件必要(AL007)
- NEEDS_REVIEW を付けた本人は最終判断できず、別の担当者が判断する(AL008)
- ESCALATED のケースを完了できるのは管理責任者だけ(AD004)
- 限界:上申した管理責任者本人が、そのケースを完了することもできる(別の人による確認は強制していない)。実際の銀行ではここにも二者確認が必要で、MiniBank はシミュレーターとして簡略にしている
- 限界:判断は担当者に限定されず、権限のある人なら誰でも判断できる(ケースの引き継ぎを簡易にするため)。誤検知(FALSE_POSITIVE)と問題なし(CLEARED)は、どちらも記録の分類が違うだけで処理は同じ
- 判断の選択肢に「不正確定」はない。上申は、より権限のある部署へ判断を引き継ぐことを意味する
- 調査の記録(aml.case_events)は追記のみで、後から書き換えられない
異常時:証拠なしで判断しようとした
| 段階 | 内容 |
|---|---|
| 症状 | 判断ボタンを押すと「判断には調査メモか証拠が必要です」と表示される |
| 理由 | 判断の根拠が記録に残っていないと、後から判断の妥当性を検証できないため |
| 対応 | 「証拠を収集」で口座情報と直近30日の取引をその時点のまま保存するか、調査メモを記録してから判断する |
Level 4 アーキテクチャ:判断をデータとして残す
AMLの判断は、後から監査や当局の確認を受ける前提で行われます。誰が・いつ・何を根拠に・どう判断したかを追記専用の記録として残し、職務の分離(二次確認・上申)をDBの関数で強制することで、画面の使い方に依存しない統制になります。
どこを確認すればよいか
- ケース詳細:判断・調査の記録・アラートの根拠
- 監査ログ:AML_CASE_CREATED / AML_CASE_DECIDED
CHECK YOUR UNDERSTANDING
3問で理解チェック
答えを頭の中で考えてから、各項目を開いて確認してください。
Q1証拠もメモもないケースに判断を記録できますか?
できません(AL007)。
Q2NEEDS_REVIEW を付けた本人が最終判断できますか?
できません(AL008)。
Q3調査メモを後から書き換えられますか?
できません。追記のみです。
完全に暗記する必要はありません。大切な考え方を説明できそうなら押してください。
SOURCE TRAIL
根拠と関連教材
CURRENT IMPLEMENTATIONは確認したrepository内の実装です。HISTORICAL IMPLEMENTATIONは導入・修正の履歴で、後続migrationによる再定義があり得ます。RELATED LESSONは教材への案内で、実装の一次Sourceではありません。ASSUMPTIONは仮定、UNKNOWNは未確認を表します。
確認基点: d02eae8914f39cbf06bfe422dc39c71886f82b3e / 2026-09-11。稼働環境への適用確認: UNKNOWN。パス実在の自動検査と、記述した技術的事実の確認は別です。
Implementation Status: IMPLEMENTED IN MINIBANK(この教材が扱うコードの範囲)
- RELATED LESSON/docs/audit監査証跡
- RELATED LESSON/docs/be-aml-rules-alerts監視ルール
- CURRENT IMPLEMENTATION
supabase/migrations/20260924130000_v11_aml_simulator.sqlaml.create_case / aml.start_investigation / aml.decide / aml.close_escalationケース・調査・判断・上申 - CURRENT IMPLEMENTATION
supabase/migrations/20260924130000_v11_aml_simulator.sqlaml.collect_evidence / aml.add_note証拠収集と調査メモ - CURRENT IMPLEMENTATION
src/domain/platform/aml.tsdecisionOptions()状態ごとに選べる判断