リーガルテック

【法務×AI】自作ツール開発の要件定義10STEP|稟議・監査に通る設計の作法

無料ツール 6本まとめ
⚖️
法務向け無料デスクトップツール一覧
契約依頼の一次整理マスキング論点アラート
運用引継ぎメモ稟議一枚化レビュー受付台帳を 完全オフラインで支援。用途別に"最短で選べます"。
✓ 一次整理 ✓ マスキング ✓ 論点アラート ✓ 運用引継ぎ ✓ 稟議一枚化 ✓ 法務依頼受付台帳
+ 無料ツール一覧を見る
✓ インストール不要 ✓ 完全オフライン対応 ✓ すべて無料
法務が自作で業務改善するための「要件定義」10STEP|Legal GPT
リーガルエンジニアリング連載 ── 第1回

法務が自作で業務改善するための
「要件定義」10STEP
──現場の課題を確実に解決する設計の作法

法務実務に特化したツール開発において、最も重要なのは実装ではなく「要件定義」。
証跡・機密保持・誤検出──法務ならではの制約条件を、設計に落とし込むための実践ガイド。

Legal GPT ─ legal-gpt.com カテゴリ:リーガルエンジニアリング

「法務の業務を自動化したい」と考えたとき、いきなりコードを書き始めたり、ChatGPTにプロンプトを打ち込んだりしていませんか?

法務実務に特化したツール開発において、最も重要なのは実装ではなく「要件定義」です。

法務には、証跡(ログ)の保全、機密保持、誤検出への対応といった、一般的なIT開発とは異なる特有の制約条件があります。これらを無視して開発を始めると、「便利だけど社内で使えない」ツールが出来上がります。

本記事では、法務担当者が自力でツールを企画・開発し、かつ組織として「正当に運用」するための要件定義10STEPを解説します。各STEPには「このステップで必ず作る成果物」を示しているので、順番に埋めていけば、そのまま社内稟議や導入企画書のベースにもなります。

ここで言う「リーガルエンジニアリング」とは、法務の業務要件を、設計・実装・統制まで一貫して技術に落とし込むアプローチです。単にコードを書く技術ではなく、台帳・理由書・ログ仕様といった成果物として残し、稟議・監査に耐える形で運用するところまでを含む方法論全体を指します。

この記事の対象読者
  • 法務部門で業務効率化に取り組みたいが、何から始めればいいかわからない方
  • ノーコード・ローコードや簡単なスクリプトで業務改善を試みている方
  • AIツールの導入を検討しているが、情報管理やコンプライアンスの壁に悩んでいる方

10STEPの全体像

まず全体を俯瞰します。10STEPは「前段(課題特定)→ 実装(ロジック・UI)→ 統制(法務としての正当化)」の3フェーズで構成されています。

前段
課題と範囲
STEP 1〜3:何が辛いか → 何を入力するか → どこまでAIに任せるか
実装
ロジックとUI
STEP 4〜8:どう処理するか → 間違いにどう気づくか → 何を出力するか → どう配るか → どう設定するか
統制
法務の正当化
STEP 9〜10:情報管理は適切か → 後から検証・再現できるか
STEP 名称 このSTEPで作る成果物 フェーズ
01ペインの言語化ペイン定義シート前段
02入力データの特性定義入力データ台帳前段
03自動化の範囲と人間の役割人間確定ポイント一覧前段
04中核ロジックの選定ロジック選定表実装
05誤検出・見逃し・ハルシネーション対応誤検出時のUX仕様実装
06アウトプット形式の定義出力仕様書実装
07UIの選定UI選定理由書実装
08設定ファイルの外部化設定ファイル項目表実装
09情報管理とセキュリティ情報管理チェックシート統制
10証跡・説明責任・再現性監査ログ仕様書統制

なぜ法務のツール開発に「独自の要件定義」が必要なのか

一般的なシステム開発における要件定義と、法務ツールの要件定義には、決定的な違いがあります。

通常のシステム開発では「速度」「ユーザビリティ」「コスト」が三大評価軸です。しかし法務ツールでは、これに加えて「正確性の担保」「証跡の保全」「機密情報の管理」という3つの制約が上位に来ます。

たとえば、契約書レビューを自動化するツールを考えてみましょう。一般的な開発者なら「AIに契約書を読ませて、リスク箇所をハイライトする」という機能仕様から始めるでしょう。しかし法務の視点では、以下の問いが先に来ます。

──その契約書データは、外部のAIサービスに送信して問題ないか?(秘密保持義務・情報管理規程との抵触)
──AIが見落とした条項があった場合、誰がどの時点で責任を負うのか?
──処理結果を後から監査で検証できるか?

こうした問いに答えられない状態で実装を始めると、完成後に「社内で使用許可が下りない」という最悪の結末を迎えます。

「SaaSを買えばいいのでは?」への回答

読者が社内で最初に受ける質問は、おそらくこれです。あえて自作する理由は5つあります。①機密性:契約書や訴訟書類を外部サービスに送信できないケースでは、オフライン動作する自作ツールが唯一の選択肢になる。②ニッチ適応:自社固有の契約類型・レビュー基準・社内規程に完全対応したSaaSは存在しない。③コスト:法務AI SaaSの年間ライセンスは数百万円規模。スモールスタートの自作ツールなら、費用をかけずに価値を検証できる。④説明可能性:自作であれば、処理ロジック・判断根拠・適用ルールのすべてを自社で把握でき、監査時に「ブラックボックスではない」と説明できる。⑤データ主権:データの保管場所、ログの管理、処理の再現性を自社でコントロールできるため、統制設計の自由度が格段に高い。この「Build vs Buy」の判断自体が、STEP 1〜3の要件定義で整理できます。なお、AI契約レビューと弁護士法の関係については「AI契約書レビューは弁護士法違反になるのか?」で整理しています。

よくある失敗パターン

❌ 技術先行型
「面白そうだから作った」→ 情報管理部門からNGが出て使用不可
❌ 機能過多型
「あれもこれも」→ 複雑すぎて誰も使わない
❌ 属人化型
「自分だけわかる」→ 異動と同時に廃止

本記事の10STEPは、これらの失敗を構造的に防ぐための設計手順です。


課題と範囲の特定

01現場の「痛み(ペイン)」を言語化する

要件定義の出発点は、「何が辛いか」の正確な言語化です。

「契約書レビューに時間がかかる」では不十分です。具体的に、どの工程で、何の判断が詰まっているかを特定する必要があります。

たとえば「契約書レビューに時間がかかる」を分解すると、次のように細分化できます。案件受付時に、どの契約類型かの判別に迷う(5〜10分/件)。秘密保持条項の有無と適切性のチェックに時間がかかる(15〜20分/件)。過去の類似契約を探すのに社内検索が機能していない(10〜30分/件)。レビュー結果を事業部に説明する資料作成が手作業(20〜30分/件)。

こう分解すると、「全部を自動化する」のではなく「案件受付の類型判別だけを補助する」という現実的なスコープが見えてきます。

STEP 1の成果物:ペイン定義シート
項目記入内容
業務名(例)契約書レビュー
詰まっている工程(例)類型判別、条項チェック、類似案件検索、報告書作成
各工程の所要時間(例)類型判別:5〜10分/件
発生頻度(例)月30〜50件
現在の対処法(例)ベテラン担当者の経験則に依存
改善した場合の期待効果(例)類型判別を3分以内に短縮

02入力データの特性を定義する

ツールが処理する「入力データ」の正体を正確に把握します。法務の入力データは多様で、その特性がツールの設計を大きく左右します。

データ形式: Word(.docx)、PDF、スキャンPDF(OCRが必要)、メール本文、Excel管理表など、形式によって前処理の難易度が変わります。特にスキャンPDFは文字認識の精度に依存するため、入力とすべきかどうかから検討が必要です。

構造化の度合い: 契約書のように一定の構造がある文書と、メール本文のように非構造のテキストでは、処理のアプローチが根本的に異なります。

機密区分: ここが法務ツールの要件定義で最も重要なポイントです。機密区分を整理する際は、「社内規程上のラベル」(社外秘・極秘等)「法律上の概念」(営業秘密・個人情報等)を区別して記録します。「社外秘」は社内規程が定めた管理区分であり、「営業秘密」は不正競争防止法上の法律要件(秘密管理性・有用性・非公知性)で判定される概念です。両者は重なることが多いものの、同一ではありません。この区別が、外部APIに送信してよいか、ローカル環境でのみ処理すべきかの設計判断の基礎になります。

見落としやすい観点:相手方から預かった情報

自社の秘密情報だけでなく、相手方から秘密保持義務の下で受領した文書をAIに投入することのリスクにも注意が必要です。NDA(秘密保持契約)の条項によっては、AIサービスへの送信が「第三者への開示」に該当し得ます。入力データ台帳には、自社情報か相手方情報かの区別も記録しましょう。

STEP 2の成果物:入力データ台帳
項目記入内容
データの名称(例)取引先との業務委託契約書
ファイル形式(例)Word(.docx)
構造化の度合い(例)条文番号あり・見出しあり
平均分量(例)10〜30ページ
社内区分(規程ラベル)(例)社外秘 ※情報管理規程に基づく分類
法的性質(例)営業秘密を含む可能性あり/個人情報あり(署名欄)
情報の帰属(例)自社情報 / 相手方からの受領情報
外部送信の可否(例)原則不可(情報管理規程+NDA制約)
例外パターン(例)相手方から受領した雛形(公開情報)

03自動化の「範囲」と「人間の役割」を分ける

法務ツール開発で最も重要な設計判断は、「AIの担当範囲」と「人間の確定権限」の境界線を引くことです。

100%の自動化を目指してはいけません。法務業務には、最終的に「人間が判断し、確定する」ことが求められる局面が必ずあります。ツールの役割は、人間の判断を「補助」し、判断に至るまでの工数を削減することです。

📄 入力
契約書等
⚙️ AI処理
検出・分類・下書き
👤 人間確定
採否判断・補正
✅ 出力
確定済み成果物
図:法務ツールの基本処理フロー ── AIは「下書き」、人間が「確定」

たとえば、契約書のマスキング(個人情報等の秘匿化)であれば、AIがテキストから個人名・住所・口座番号等のパターンを検出してマスキング候補を提示し、人間が候補を確認して「マスキングする/しない」を確定します。誤検出(マスキング不要な箇所の検出)や漏れ(検出されなかった箇所)の補正も人間の役割です。

この境界設計を「人間確定ポイント」と呼びます。人間確定ポイントが明確であれば、ツールの事故が起きても「どこで人間のチェックが入るか」が説明できます。

STEP 3の成果物:人間確定ポイント一覧
処理工程AIの担当人間の担当(確定権限)
マスキング候補の検出パターンマッチで候補を抽出候補の採否を1件ずつ確認・確定
リスク条項の抽出条文を分類しリスクスコアを付与スコアの妥当性を確認、最終評価を決定
要約の生成目的別に要約文を生成要約の正確性を原文と照合して確認
前段フェーズ(STEP 1〜3)が埋まったら確認
  1. ペイン定義シートで、改善対象の工程を1つに絞り込めているか?
  2. 入力データ台帳で、社内区分と法的性質の両方を記入したか?
  3. 人間確定ポイントが最低1箇所以上あるか?(100%自動化になっていないか?)
  4. 外部送信の可否について、情報管理規程の根拠を特定できたか?
  5. Build vs Buy の判断を社内で説明できるロジックがあるか?

まずはSTEP 1のペイン定義シートだけでも、この記事の表をGoogleスプレッドシートにコピーして埋めてみてください。それだけで、次に何を設計すべきかが見えてきます。


ロジックとインターフェース

04中核ロジックの選定(AIか、ルールベースか)

ツールの「頭脳」にあたる処理ロジックを選定します。大きく分けて3つの選択肢があります。

① ルールベース(正規表現・辞書マッチ)──定型的なパターンの検出に強い。電話番号、メールアドレス、マイナンバーなど、形式が決まっている情報の検出は、AIよりも正規表現のほうが正確かつ高速です。ブラックボックスにならないため、「なぜこの箇所を検出したか」の説明が容易です。

② AI(LLM:大規模言語モデル)──非定型の判断に強い。「この条項は甲に不利か?」「この契約書の要点は何か?」といった、文脈に依存する判断はAIの得意領域です。ただし、ハルシネーション(もっともらしい嘘)のリスクがあるため、単独での判断確定には適しません。

③ ハイブリッド(ルール+AI)──実務上、最も現実的な選択肢です。定型部分はルールベースで確実に処理し、非定型部分はAIに判断を委ね、最終的に人間が確定します。

マスキングツールの場合

筆者が開発した契約書マスキングツール(無料公開中)では、ハイブリッド方式を採用しています。

項目内容
目的契約書中の個人情報・機密情報を検出し、マスキングを施す
入力Word文書(.docx)
ルール部分正規表現で電話番号・メールアドレス・口座番号等を検出
AI部分NLP(自然言語処理)で人名・組織名・住所等の固有表現を検出
出力マスキング候補の一覧 → 人間が確認 → 確定後にWord文書として保存
法務上の工夫外部APIを使用しない(オフライン動作)。処理ログを自動保存。誤検出率を表示し、人間の確認精度を担保
学び正規表現だけでは人名の検出が困難。NLPだけでは口座番号のような数列パターンを見逃す。両者の組み合わせが法務の実務には不可欠
STEP 4の成果物:中核ロジック選定表
処理対象ルールベースAI(LLM/NLP)採用方式選定理由
電話番号の検出ルール形式が定型。正規表現で十分
人名の検出AI表記揺れが多く、辞書マッチでは限界
リスク条項の評価×AI+人間確定文脈依存の判断が必要

05誤検出・見逃し・ハルシネーションへの対応設計

法務ツールが出す「誤り」には、性質の異なる3種類があります。設計段階でこれらを区別しておかないと、「何に備えるUXなのか」が曖昧になり、対策が中途半端になります。

誤検出(False Positive)
本来は対象外なのに検出してしまう。例:会社名を人名と誤認してマスキング候補に含めてしまう
見逃し(False Negative)
本来は対象なのに検出できない。例:旧字体の人名を検出漏れし、マスキングされないまま出力される
ハルシネーション
根拠のない結論・引用・説明を生成してしまう。例:存在しない判例番号を引用してリスク評価を行う

法務ツールでは、「精度を上げる」ことよりも先に、「誤りに気づける設計(人間確定+根拠提示+ログ)」を要件として固定することが重要です(AIレビューの精度課題については「Claudeで契約書チェックしたら見落としが95%減った話」も参考になります)。以下、リスクの種類ごとに対策を整理します。

05-1 誤検出(FP)と見逃し(FN)を分けて設計する

誤検出と見逃しは、対策の方向が正反対です。誤検出を減らそうとルールを厳しくすると、見逃しが増えます。法務ツールでは一般的に、見逃しのほうがリスクが大きい(検出されなかった情報がそのまま流出し得る)ため、「多少の誤検出は許容し、見逃しを最小化する」方向にチューニングし、誤検出は人間確定フローで除外する設計が現実的です。

05-2 ハルシネーション対策:根拠・引用・「判断不能」の強制

ハルシネーションへの対策は、誤検出・見逃しとは異なるアプローチが必要です。AIの出力結果に対して、根拠となった条文やガイドラインの該当箇所を引用させること、および、AIが十分な根拠を持たない場合に「判断できません(要・人間レビュー)」と明示させることをMust要件に含めます。AIに「分からない」と言わせることは、法務ツールにおいては弱点ではなく安全装置です。

05-3 人間確定フロー:採否+理由+再実行

3種類のリスクすべてに共通する最終防衛線が、人間確定フローです。AIの出力に対してレビュー優先度(高/中/低)を付与し(「自信度」や「確率」ではなく、「人間が確認すべき度合い」として表示する)、候補ごとに「採用/不採用/保留」を選択でき、その判断がログに残る仕組みを設計します。

STEP 5の成果物:誤検出時のUX仕様
フェーズ画面上の動作ユーザーの操作ログに記録される内容
検知候補をハイライト表示+レビュー優先度(高/中/低)一覧を確認検知日時、対象箇所、優先度、リスク種別(FP警戒/FN警戒/ハルシネーション警戒)
確認候補ごとに「採用/不採用/保留」ボタン判断を選択判断者、判断内容、判断日時
判断不能AIが「要・人間レビュー」を明示手動で確認・判断判断不能フラグ、対応結果
修正不採用にした箇所の理由入力欄(任意)必要に応じ入力修正理由
再実行修正後に再処理するボタン必要に応じ実行再実行日時、変更差分

06アウトプット形式の定義

ツールの出力形式は、利用者の業務フローに合わせて設計します。「どんなに良い処理ロジックでも、出力が使いにくければ採用されない」のが現実です。

修正履歴付きWord文書──契約書のレビュー結果を出力する場合、変更箇所が追跡できるWord形式が最も実用的です。比較用Excel──複数の契約書を横断的に比較する場合やチェックリスト形式に適しています。通知メール/チャット連携──案件の受付や期限管理のアラートに。ログファイル(JSON/CSV)──STEP 10の監査ログとして保存します。

出力形式を決める際は、「その出力を受け取った人が、次に何をするか」を想像することが重要です。出力は「次のアクション」に直結するものでなければなりません。

STEP 6の成果物:出力仕様書
出力の種類形式利用者次のアクション
レビュー結果修正履歴付きWord事業部担当者コメント返信・社内承認
リスク一覧Excel(条項別)法務部長承認判断・方針決定
処理ログJSON法務管理者監査対応・品質管理
完了通知メール / Slack依頼者成果物の受領確認

07ユーザーインターフェース(UI)の選定

UIの選定は、技術的な好みではなく、「誰が使うか」と「どう配布するか」で決めます。

CLI(コマンドライン)──開発者自身が使うプロトタイプには最適ですが、法務部内の他のメンバーに展開するには不向きです。GUI(デスクトップアプリ)──exe化して配布できれば、ITリテラシーを問わず利用可能です。ただし、社内のソフトウェアインストール規程を確認する必要があります。社内Webアプリ──配布の容易さは最高ですが、サーバーの運用・保守が必要です。Excel VBA / Google Apps Script──導入ハードルが最も低い。既存のExcel業務フローに組み込めるため、「いきなりの変化」を嫌う組織には効果的です。

法務ツールの場合、「教育コスト」と「配布の容易さ」のバランスが選定の鍵です。高機能でも使い方の習得に時間がかかるUIは、法務部門では敬遠されます。

Legal GatewayをGUIにした理由

筆者が開発した契約審査支援ツール「Legal Gateway」では、デスクトップGUI(Python + tkinter → exe配布)を採用しました。

項目内容
目的事業部からの契約審査依頼を受け付け、ヒアリング→リスクスコア→論点整理→交渉カード→稟議書一枚化までを支援
GUIを選んだ理由①社内にPython環境がない担当者でも使える ②自社の運用では、Web公開よりもexe配布のほうが承認フローが短かった ③オフラインで動作可能
注意点実行ファイルの審査が厳しい企業もあるため、情報システム部門の基準に従って選定する必要がある
教育コスト初回説明15分で運用開始。画面遷移は「入力→確認→出力」の3ステップに限定
配布方法社内ファイルサーバーにexeとREADMEを配置。更新時はファイル差し替え
学びCLIで開発・テストし、機能が安定してからGUIに移行する「CLI→GUI段階移行」が効率的
STEP 7の成果物:UI選定理由書
評価軸CLIGUI(exe)WebアプリExcel VBA
配布の容易さ
教育コスト×
オフライン動作×
機能拡張性
保守・更新
適した場面開発者のみ部門内展開全社展開小規模改善

08設定ファイルの外部出し(YAML/JSON)

法務ツールは「法改正」や「社内規程の変更」に伴い、処理ルールを更新する必要があります。このとき、ルールがコード内にハードコーディングされていると、プログラミングの知識がない担当者では更新できません。

解決策は、処理ルールを設定ファイル(YAMLやJSON)に外部化することです。

masking_rules.yaml
# マスキングルール設定ファイル(例) version: “2.0” last_updated: “2025-04-01” updated_by: “法務部 藤田” approved_by: “法務部長” legal_basis: “情報管理規程 第5条、個人情報取扱規程 第3条” detection_rules: – id: “PHONE_JP” label: “日本の電話番号” pattern: “0\\d{1,4}-\\d{1,4}-\\d{4}” action: “mask” priority: “high”id: “COMPANY_NAME” label: “取引先名称” source: “dictionary” dictionary_path: “./dictionaries/partners.txt” action: “flag” # マスクではなく注意喚起のみ priority: “medium”

設定ファイルを外部化するメリットは、「法改正対応のたびに開発者に依頼しなくて済む」ことだけではありません。設定変更の履歴管理(いつ、誰が、何を変えたか)も容易になり、STEP 10の監査ログと組み合わせることで、ツールの運用状況を透明化できます。上の例で legal_basis(参照すべき社内規程)や approved_by(承認者)を設定ファイルに明記しているのは、単なる技術設定ではなく「法務判断の根拠と承認プロセスを外部化している」ことを示すためです。

STEP 8の成果物:設定ファイル項目表
設定項目形式変更頻度変更権限者変更手続
検出パターン(正規表現)YAML法改正時(年1〜2回)法務担当者変更申請→法務管理者承認→差分記録
辞書ファイル(取引先名等)TXT/CSV取引先変更時(随時)法務担当者差し替え→変更ログに記録
参照規程リンク(legal_basis)YAML規程改定時法務管理者規程改定と同時に更新→承認
AIモデルのパラメータJSONモデル更新時開発者(法務部内)テスト実行→精度確認→承認
出力テンプレートWord/Excel書式変更時法務担当者差し替え→変更ログに記録
ログ保存設定(期間・場所)YAML規程改定時法務管理者規程改定と同時に更新→承認

設定変更の差分管理

設定ファイルの変更履歴は、Gitなどのバージョン管理ツールで管理するのが理想的ですが、最低限、変更前後のファイルを日付付きで保存する運用でも差分の追跡は可能です。重要なのは「誰がいつ何を変えたか」が後から辿れる状態にしておくことです。

実装フェーズ(STEP 4〜8)が埋まったら確認
  1. ルールベース/AI/ハイブリッドの選定理由を一言で説明できるか?
  2. 誤検出(FP)・見逃し(FN)・ハルシネーションのどれを優先的に抑えるか方針が決まっているか?
  3. 出力形式は、受け取る人の「次のアクション」に直結しているか?
  4. UI選定は、情報システム部門の基準と整合しているか?
  5. 設定ファイルの変更時に、申請→承認→差分記録のフローがあるか?

ここまで埋まっていれば、「何を・どう作り・どう変更管理するか」が説明可能な状態です。次の統制フェーズで、法務としての正当化を固めます。


法務としての正当化

ここからの2ステップが、本記事の最大の差別化ポイントです。一般的な技術ブログには書かれない、しかし法務が自作ツールを社内で「正当に」運用するために不可欠な要件です。

09情報管理とデータセキュリティの要件

法務ツールが扱うデータには、以下の法的・規程的な制約がかかる可能性があります。要件定義の段階で、これらの制約を整理し、ツールの設計に反映させる必要があります。

① 営業秘密(不正競争防止法)
契約書に含まれる取引条件、価格情報、技術情報等が「営業秘密」に該当する場合、秘密管理性を維持する方法が必要です。営業秘密に該当するかは、一般に秘密管理性・有用性・非公知性の3要件で整理します。外部クラウドサービスへの送信は、秘密管理性の喪失リスクを伴うため、これらの要件を踏まえた設計判断が求められます。

② 個人情報・個人データ(個人情報保護法)
契約書に含まれる署名者の氏名、住所等の個人情報を処理する場合、利用目的の範囲内であるか、第三者提供に該当しないかを確認します。外部AIサービスに契約書データを送信する場合、当該サービス提供者への個人データの提供に該当し得るか、あるいは委託として整理できるか、および委託先の監督(安全管理措置を含む)の観点で整理が必要です。

外部AIサービス利用時の追加確認ポイント

委託該当性の整理に加えて、以下の3点も必ず確認します。
・国外移転の有無:サービス提供者のサーバーが海外にある場合、個人データの越境移転に関する規律が適用される可能性がある。
・再委託先の確認:AIサービス提供者がさらに下請け(再委託先)にデータ処理を行わせていないかを規約で確認する。
・学習利用の有無:入力データがAIモデルの学習に利用されるかどうかを利用規約で確認する(オプトアウト可能かも含む)。

③ 安全管理措置
個人情報保護法は、個人データの取扱いにあたり、安全管理措置(組織的・人的・物理的・技術的)を講じることを求めています。自作ツールのアクセス権限設定、データの暗号化、保存場所の管理などが該当します。

④ 社内規程(情報管理規程・IT利用規程)
多くの企業には、業務データの外部送信や業務ツールの利用に関する社内規程があります。自作ツールであっても、これらの規程の適用対象になり得ます。事前に情報管理部門に確認し、必要に応じて規程上の整理を行いましょう(生成AIの社内ルール整備については「社内ルールと生成AIの法務リスク」、個人情報保護法の改正動向は「個人情報保護法改正でプライバシーポリシーの何を変える?」で解説しています)。

これらの要件を整理した結果として、「外部APIを使用せず、オフラインで動作するツール設計」が最適解となるケースは少なくありません。

STEP 9の成果物:情報管理チェックシート
チェック項目確認内容判定対応策
営業秘密の該当性処理対象に営業秘密(秘密管理性・有用性・非公知性)が含まれるか該当/非該当該当→外部送信禁止、ローカル処理
個人情報の有無個人情報・個人データが含まれるかあり/なしあり→利用目的確認、安全管理措置
第三者提供/委託の整理外部サービス利用時、提供か委託か提供/委託/非該当委託→委託先監督の体制確認
国外移転の有無サーバーの所在地、処理実行国あり/なしあり→越境移転の規律を確認
再委託先の確認サービス提供者の再委託先の有無あり/なし/未確認あり→再委託先の管理体制を確認
学習利用の有無入力データがモデル学習に使用されるかされる/されない/不明される→オプトアウトの可否確認
相手方情報の取扱いNDA等で受領した相手方情報の処理可否可/不可不可→当該データを処理対象から除外
外部送信の要否ツールが外部サーバーと通信するかあり/なしあり→情報管理規程との整合確認
アクセス権限ツール及びデータへのアクセス者の範囲限定/全員限定→権限管理の実装
暗号化の要否保存データの暗号化が必要か要/不要要→暗号化方式の選定・実装

10証跡(監査ログ)・説明責任・再現性

自作ツールを社内に配布する場合、法務部門としての説明責任が問われます。

「なぜこのマスキングロジックにしたのか」「どのAIモデルを使用し、データはどこまで送信されているのか」「処理結果を誰がいつ確定したのか」──これらの問いに、後から正確に答えられる仕組みを、ツールに組み込む必要があります。

監査ログに最低限記録すべきは、いつ(処理日時)、誰が(操作者のID・氏名)、何を(対象ファイル名・処理内容)、どのルールで(適用した設定ファイルのバージョン)、結果はどうなったか(処理結果の要約、採用/不採用の判断)の5項目です。

ログは「お守り」ではありません。万が一の事故が発生した際に「適切に運用していた」ことを証明する最大の武器です。事故後に「ログがない」状態は、法務として最も説明が困難な状況を生みます。

さらに、ログが持つもう一つの重要な価値は「再現性(Reproducibility)」です。ログにモデル/ルール/設定ファイルバージョン/入力ファイルのハッシュが揃っていれば、同じ条件で処理を再実行し、同じ結果を得ることができます。これは、事故時の原因特定、監査時の検証、そして品質改善のための比較テストの基盤になります。「証跡」は過去を説明するため、「再現性」は過去を検証するためのものです。

ログ設計の実例

筆者の開発ツールでは、処理ごとにJSON形式のログを自動出力しています。

processing_log_20250315.json
{ “timestamp”: “2025-03-15T14:30:22+09:00”, “operator”: “fujita_t”, “tool”: “masking_tool”, “tool_version”: “1.2.0”, “config_version”: “masking_rules_v2.0”, “input_file”: “業務委託契約書_A社.docx”, “input_hash”: “sha256:a1b2c3…”, “detections”: 12, “confirmed”: 10, “rejected”: 2, “reject_reasons”: [ “社名は公開情報のためマスク不要”, “日付はマスク対象外” ], “output_file”: “業務委託契約書_A社_masked.docx”, “output_hash”: “sha256:d4e5f6…”, “reproducible”: true }

ファイルのハッシュ値を記録することで、入出力ファイルの改ざん検知と処理の再現性を同時に確保しています。不採用の理由も記録し、判断の合理性を事後検証できる設計です。

STEP 10の成果物:監査ログ仕様書
ログ項目記録内容形式必須/任意主な用途
処理日時ISO 8601形式のタイムスタンプString必須証跡
操作者社員ID・氏名String必須証跡
ツール名・バージョン使用したツールとそのバージョンString必須再現性
設定ファイルバージョン適用したルールのバージョンString必須再現性
入力ファイル情報ファイル名・ハッシュ値String必須再現性・改ざん検知
処理結果概要検出数・確定数・不採用数Number必須品質管理
不採用理由人間が不採用とした理由String任意(推奨)証跡・品質改善
出力ファイル情報ファイル名・ハッシュ値String必須再現性・改ざん検知
保存期間社内規程に準拠規程による
閲覧権限法務管理者、監査部門規程による

要件定義テンプレート:Must / Should / Could

ここまでの10STEPを踏まえ、法務ツール開発の要件定義をMust / Should / Couldの3段階に整理します。社内稟議の添付資料としても使えるよう、非機能要件も含めました。

機能要件

MUST 必須 ── これがないと本番運用できない
  • 誤検出を見逃さないための人間確定フロー(STEP 3・5)
  • 処理ログの自動保存+再現性の確保(STEP 10)
  • 機密情報の適切な取扱い(外部送信の制御)(STEP 9)
  • 入力データの機密区分に応じた処理分岐(STEP 2)
  • AIが「判断不能」を明示する機能(STEP 5)
SHOULD 重要 ── 運用品質を大きく左右する
  • 設定ファイルの外部化+変更承認フロー(STEP 8)
  • 処理結果の差分比較機能(STEP 6)
  • 再実行(同じ設定で再処理)の容易性(STEP 5・10)
  • 操作ガイド / READMEの同梱(STEP 7)
COULD あれば良い ── 将来の拡張候補
  • AIモデルの切替機能(ローカルLLM ↔ API)
  • 要約の複数モード(概要版・詳細版・条項別)
  • 処理結果の統計ダッシュボード
  • 学習用データの出力(※社内規程との整合を要確認)

非機能要件

項目要件備考
処理速度1文書あたり○秒以内業務フローのボトルネックにならない水準
配布方法exe / フォルダコピーインストール作業を最小化(社内基準に準拠)
保守・更新設定ファイル差し替え+承認で対応開発者不在でも最低限の運用継続
権限管理フォルダアクセス権で制御社内ADと連携(Could)
動作環境Windows 10/11、オフライン社内標準PCで動作すること

まとめ:要件定義は「稟議書」の裏返しである

本記事で解説した10STEPの要件定義は、実はそのまま社内稟議書のロジックに転用できます。

稟議書で求められる「なぜこのツールを導入するのか」「リスクはどう管理するのか」「誰が責任を持つのか」という問いへの回答は、すべてこの10STEPの成果物の中にあります。

稟議書で問われること対応するSTEP提出する成果物
導入の目的・必要性STEP 1ペイン定義シート
処理対象と範囲STEP 2・3入力データ台帳、人間確定ポイント一覧
技術的な妥当性STEP 4・7ロジック選定表、UI選定理由書
リスク管理策STEP 5・9誤検出対応UX仕様、情報管理チェックシート
運用・保守の体制STEP 8・10設定ファイル項目表、監査ログ仕様書
出力と業務フローへの接続STEP 6出力仕様書

要件定義を丁寧に行うことは、「良いツールを作る」ためだけでなく、「組織としてそのツールを正当に運用する」ための基盤を整えることでもあります。


次のステップ

本記事の10STEPを実装に落とした具体例として、筆者は以下のツールを開発・運用しています。いずれも無料で公開中です。

これらのツールの設計・実装・配布の詳細は、今後の連載記事で順次公開していきます。

📝 今日やること(1つだけ)

まずはSTEP 1のペイン定義シートと STEP 2の入力データ台帳だけ、この記事の表をGoogleスプレッドシートやExcelにコピーして埋めてみてください。「どの業務が辛いか」「そのデータは外に出せるか」の2点が整理できれば、STEP 3以降は自然に進みます。次回記事までにここだけ準備しておくと、連載全体を通して手を動かしながら読み進められます。

次回予告:「オフラインAIで作る理由──外部送信NGの現場で法務ツールを動かす設計思想」

なぜ法務がクラウドAIに慎重になるべきなのか?ローカルLLMやオフライン動作するPythonアプリ(exe配布)が法務の最適解になる理由を、情報管理・営業秘密・個人情報の観点から深掘りします。


COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA