「ソースコードをAIに渡して、本当に大丈夫なのか」。AIを使ったシステム移行や解析のご相談で、費用や品質と並んでほぼ毎回出てくる質問です。自社のコードが他社のAIの学習に取り込まれ、どこかで出てこないか。クラウドに出すこと自体を社内の規程が認めていない。データベースには個人情報が入っている。不安の中身は会社ごとに違いますが、共通しているのは「見えないところで何が起きるか分からない」という点です。
学習に使われるかどうかについては、答えがはっきりしています。主要な生成AIベンダーはいずれも、法人向けの契約では入力を学習に使わないと公式資料に明記しています。ただ、学習に使われなくてもログは一定期間残りますし、コードは委託先の人も読みます。委託先に何を聞けば社内で判断できるのかを、各社の公式資料と当社の運用をもとに整理します。
よくある不安
ご相談で伺う不安を分解すると、4つに分かれます。
1つ目は学習です。渡したコードがAIモデルの学習データになり、他社の利用者への回答に自社の処理ロジックが現れるのではないか、という懸念です。2つ目はクラウドです。学習に使われなくても、社外のサーバーにコードを送ること自体を、情報セキュリティ規程や取引先との契約が認めていない場合があります。3つ目は個人情報を含む実データです。移行の検証に本番データが必要だとすれば、個人情報の取り扱いや委託契約の整理が必要になります。4つ目は委託先の管理体制です。AIサービスの仕様がどれだけ堅牢でも、委託先の担当者が誰でもコードを見られる状態であれば意味がありません。
この4つは確認する先が違います。学習はAIサービスの契約と設定、クラウドへの送信は自社の規程や取引先との契約、実データは委託契約での取り決め、管理体制は委託先の運用を見て判断します。
学習への利用を決める契約と設定
生成AIによる情報漏洩として広く報道された事例は、社員が個人向けの対話型AIに業務のソースコードを貼り付けたものでした。個人向けの無料サービスや個人契約のプランでは、利用者がオプトアウト(学習への利用を拒否する設定)をしない限り、入力内容がモデルの改善に使われることがあります。OpenAIは、ChatGPTなど個人向けサービスでは利用者がオプトアウトしない限り入力内容を学習に使う場合がある一方、ChatGPT Business・Enterprise・APIといった法人向け製品では既定で入力も出力も学習に使わないことを、公式ヘルプで明示しています。
他の主要ベンダーも、法人向けのAPI(システムからAIを直接呼び出す仕組み)やエンタープライズ契約では同様の方針を公式に公開しています。2026年9月時点の各社の公式ドキュメントから、学習への利用とデータの保持に関する記述を整理したのが次の表です。
| サービス | 学習への利用 | 入力データの保持と閲覧 |
|---|---|---|
| OpenAI(API・ChatGPT Enterprise/Business) | 既定で使わない。利用者が明示的にデータ提供を選んだ場合のみ | APIは不正利用の監視のため最大30日保持。条件を満たす顧客は保持ゼロ(ZDR)を申請できる。データの保管地域に日本を指定できる |
| Anthropic(Claude API・法人向けプラン) | 利用規約上、顧客コンテンツでモデルを学習しない | 入力・出力は原則保持せず、保持する場合も30日以内に削除。ZDR契約が可能。最新の一部モデルは安全対策のため30日間の保持が必須 |
| Microsoft(Azure OpenAI) | 使わない。OpenAI社を含む他社にも渡らない | 指定した地域内で処理。不正利用の監視で検出された入力の一部を保存し、承認されたMicrosoft社員のみが確認。条件を満たす顧客は申請により保存と人による確認を無効化できる |
| AWS(Amazon Bedrock) | AWSもモデル提供元も学習に使わない。モデル提供元には共有されない | 既定で入力・出力を保存しない。データは利用中のリージョン内に保存。最新の一部モデルは不正利用の検知のため最大30日保持 |
| Google Cloud(Vertex AI、現名称はGemini Enterprise Agent Platform) | 事前の許可や指示なしに学習に使わない | 不正利用の監視のためプロンプトを記録することがあり、要件に応じて例外を申請できる。応答高速化のためのキャッシュは24時間で、プロジェクト単位で無効化できる |
※2026年9月時点の各社公式ドキュメントによる。出典: OpenAI、Anthropicの利用規約とデータ保持、Microsoft、AWSの不正利用検知とFAQ、Google Cloud。各社の方針は更新されるため、最新の内容は公式ページで確認してください。
法人向けサービスでは「学習に使わない」がほぼ共通ですが、データ保持の扱いはサービスごとに異なります。学習に使わないことと、送信したデータをまったく保存しないことは同じではありません。不正利用の監視のために一定期間ログを保持するのが標準で、保持そのものをなくすには申請や上位の契約が必要です。同じベンダーの中でも、AnthropicやAWSのように最新の一部モデルだけ保持の条件が違う場合があるため、使うモデルまで特定しないと答えは出ません。
委託先から「学習には使われません」と説明されたら、それがどのサービスのどの契約に基づくのか、保持期間と保管地域はどうなっているのかまで確認します。この表は、その答え合わせに使ってください。
学習以外の情報漏洩の経路
学習の問題が契約と設定で整理できても、それで安全になったわけではありません。残る経路の多くは、AIサービスの仕様ではなく委託先の運用の中にあります。主な経路は5つです。
送信データのログと閲覧範囲:
表のとおり、AIサービス側には不正利用の監視のための保持があります。それに加えて、委託先が自社のシステムでプロンプト(AIへ送る入力文)や応答を記録していれば、そこにもコードが残ります。誰がそのログを見られるのか、いつ消すのかは、委託先の運用次第です。
データの保管地域:
法人向けサービスの多くは処理や保存の地域を指定できますが、指定しなければ海外で処理されることがあります。取引先との契約や社内規程で国内保管が求められている場合は、委託先がどのリージョン(データを処理・保管するデータセンターの地域)を使うかまで確認が必要です。
委託先の作業員のアクセス管理:
ソースコードは、AIだけでなく人も読みます。委託先の誰がコードにアクセスできるのか、作業用の端末や環境は分離されているのか、担当を外れた人のアクセス権は削除されるのか。ここは従来の開発委託と同じ確認事項で、AIを使うからといって省略できるものではありません。
成果物やプロンプトへの機密情報の混入:
古いシステムのソースコードには、設定ファイルにデータベースのパスワードやAPIキーが直書きされていたり、コメントに顧客名が残っていたりすることがよくあります。コードごとAIに渡せば、それらも一緒に送信されます。Gitのリポジトリごと渡す場合は、現在の設定ファイルから消した認証情報が過去のコミット履歴に残っていることにも注意が必要です。渡す前に認証情報を取り除き、納品される仕様書やレポートに機密情報がそのまま転記されていないかも確認します。
再委託:
委託先がさらに別の会社や個人に作業を出していれば、そこにもコードが渡ります。NDA(秘密保持契約)や作業環境の条件が再委託先にも及ぶのか、そもそも再委託があるのかは、最初に聞いておきたい項目です。
次の図は、ソースコードが委託先を経由して生成AIサービスへ渡り、成果物として戻ってくるまでの流れと、段階ごとの確認ポイントです。
委託先に確認する項目
委託先に聞く項目は次の8つです。当社の商談で実際に多くいただく質問とも重なっています。
- 利用するAIサービスと契約種別:
「生成AIを使います」だけでは判断できません。どのベンダーのどのサービスを、個人契約ではなく法人向けの契約で使っているのかを聞きます - 学習に使われないことの根拠:
口頭の説明ではなく、規約のどの条項に基づくのかを示してもらいます。前の表の出典が確認に使えます - データの保管場所と保持期間:
AIサービス側の保持期間と地域に加えて、委託先自身のログの保持期間と削除のルールを確認します - 作業環境:
委託先が管理するクラウド上か、自社のクラウド環境内に構築するのか、閉域か。作業員のアクセス管理と監査ログの有無もここに含まれます - NDAの範囲:
AIサービスへの送信が秘密情報の「開示」に当たるのかどうかの整理があるか。生成AIの利用条件を明記したNDAが増えているため、契約書にAI利用の条項を入れることも検討します - 実データの要否とマスキング:
個人情報を含む本番データを渡さずに済む方法があるか。データベースの構造情報や、個人を特定できる値を別の値に置き換えたテストデータで代替できるなら、渡すデータを最小限にできます - 作業終了後のデータ削除:
預けたコードや資料を、いつ、どのように削除するのか。削除の報告を受けられるかを確認します - 再委託の有無:
再委託があるなら、その先にも同じ条件が及ぶかを確認します
これらを1枚にまとめたのが、次の確認シートです。確認する理由と、回答を書き込む欄を横に並べています。
※実案件のものではなく、当社で作成したサンプル資料です。
聞くときは「安全ですか」とは尋ねず、事実を答えてもらいます。安全かどうかは自社の規程と照らし合わせて決まるもので、委託先から「安全です」と回答をもらっても、社内の承認者に説明する根拠にはならないためです。どのサービスを、どの契約で、どこで、誰が、いつまで扱うのか。この事実がそろえば、情報システム部門や法務の担当者が自社の規程に照らして判断できます。
ソースコードを社外に出せない場合の選択肢
社内の規程や取引先との契約で、ソースコードをクラウドに出せないケースもあります。その場合でも、AIを使った移行や解析をあきらめる必要はありません。取れる方法は3つあります。
自社のクラウド環境内の専用環境:
自社で契約しているAWSやAzureの中に、委託先が作業環境を構築する方式です。コードは自社のアカウントから出ず、生成AIも同じクラウドが提供するサービスを同じアカウント内で使えます。アクセス権の付与と削除を自社で管理できるため、作業終了後の削除も自分たちで確認できます。
閉域やオンプレミスでの実行:
インターネットに接続しない環境で、自前で動かせるモデルを使う方式です。ただし、社内のサーバーで動かせる規模のモデルに限られるため、複数のファイルにまたがる処理を読み解く精度や処理速度が、大規模システムの解析と変換に足りないことがあります。GPUを備えた環境の準備と運用にも費用がかかります。要件が厳格な場合の選択肢ですが、移行の品質・期間・費用への影響を織り込んだうえで判断する必要があります。AIが移行のどの工程で何をしているかはAIマイグレーションとはで解説しています。
コードの一部だけを渡す方法:
移行可能性の診断は、システム全体のコードがなくても進められます。代表的な画面やバッチ処理など一部のコードとシステム構成の概要があれば、使われている技術や複雑さ、移行の難所は把握できます。機密性の高いモジュールを除外する、認証情報や個人情報を取り除いてから渡す、といった調整も可能です。診断の結果と委託先の管理体制を確認したうえで、範囲を広げるかどうかを判断できます。まずコードの解析と仕様書化だけを依頼して様子を見る進め方もあり、詳しくはソースコードからAIで仕様書を作る方法で解説しています。
当社の運用
当社のAIマイグレーションでは、無料診断の段階からNDAを締結し、そのうえでシステム概要とソースコードの一部をお預かりします。作業環境は2つのパターンから選べます。当社が管理するクラウドAI基盤で作業するか、お客様のAWSまたはAzure環境内に専用環境を構築するかです。完全なオンプレミスや閉域での作業は、利用できるAIと運用条件を確認したうえで個別に判断しています。
生成AIサービスは法人向けの契約と設定で利用し、お預かりしたソースコードや資料がモデルの学習に使われない形で運用します。どのサービスをどの環境で使うのか、保持期間や地域はどうなるのかといった具体的な条件は、作業を始める前にご説明します。リージョンの指定や監査ログの設定といった追加の要件にも対応しています。
個人情報を含む実データは、初期診断では必須ではありません。テーブルの定義や項目の型だけでもシステムが何を管理しているかは読み取れるため、データベースの構造情報や、マスキング・匿名化したテストデータをもとに検討します。この考え方は仕様書がないシステムの移行で説明しています。本番移行前の動作確認にどのデータを使うかは、お客様のセキュリティ要件に合わせて設計します。
こうした内容はよくあるご質問のセキュリティの項でもお答えしています。当社との商談でも、この記事の確認項目をそのままご質問いただいて構いません。
まとめ
委託先を比べるときに最初に確かめるのは、2つの事実です。1つは、委託先が使うAIサービスの契約種別と、学習に使わないこと、保持期間、保管地域の根拠となる公式資料です。これは上の表と出典で答え合わせができます。もう1つは、コードを置く作業環境と、誰がいつまで触れられるかで、こちらは従来の開発委託と同じ基準で判断できます。この2つを確認シートに書き込めば、社内の規程に照らして承認できるかどうかが判断しやすくなります。規程上クラウドに出せない場合は、自社のクラウド内に専用環境を作るか、一部のコードだけで診断するところから始める方法があります。
当社のAIマイグレーションサービスの無料診断では、NDAを締結したうえでソースコードの一部をお預かりし、現状のリスクと移行可能性をまとめた診断レポートと概算費用をご提示します。機密性の高いモジュールや認証情報を除いてからお渡しいただくことも可能です。利用するAIサービスと契約、作業環境、保持期間は、コードをお預かりする前にご説明しますので、確認シートの項目をそのままお尋ねください。
よくある質問
Q. NDAを結べば、それで十分ですか?
NDAは委託先との契約であり、委託先が使う生成AIサービスのデータの扱いまでは規定しません。NDAに加えて、AIサービス側の契約種別と設定を確認する必要があります。NDAにAIサービスへの送信条件を明記しておくと、両者のつながりが明確になります。
Q. ソースコードにパスワードやAPIキーが埋め込まれています。どうすればよいですか?
渡す前に取り除き、可能であれば鍵やパスワードそのものを変更してください。Gitのリポジトリごと渡す場合は、過去のコミット履歴に残っていないかも確認します。委託先の側にも、受け取ったコードに認証情報が含まれていないかを確認する運用があるかを聞いておくと安心です。
Q. 個人情報を含むデータベースの中身も渡す必要がありますか?
初期診断では必須ではありません。テーブルの定義や項目の型といった構造情報と、マスキングや匿名化を施したテストデータがあれば検討できます。本番移行前の確認で実データに近いものが必要になる場合は、その時点で範囲と方法を取り決めます。
Q. 生成AIを使わない移行会社に頼んだ方が安全ではありませんか?
人手で移行する場合でも、ソースコードは委託先に渡り、委託先の作業員が読みます。作業環境やアクセス管理、再委託の確認が必要な点は同じです。生成AIを使う場合に加わるのは、AIサービス側の契約と設定という確認項目で、これは各社の公式資料で確認できるものです。見積の根拠や進め方まで含めて委託先を比べる観点はマイグレーション見積の方法で扱っています。