AIに作らせた社内ツールは使い始めて大丈夫? 社内に公開する前に確かめる7項目

顧客リストの検索ツールを Claude Code に6回作らせて点検すると、ログインや権限、キーの扱いに×は出ず、×は4件ともコードの保管のしかたと手順書でした。公開前に見る4項目と、その後に見る3項目を優先順にまとめます。

ChatGPT や Claude、Cursor に頼むと、顧客リストの検索画面や申請フォームのような社内向けの小さなツールを、その日のうちに動かせるようになりました。詳しい社員や外注に頼んで作ってもらった会社もあるでしょう。動いている画面を見ると、次に気になるのは「このまま社内で使い始めて大丈夫か、公開する前に何を見ればいいか」です。

ここでは、その問いに7項目で答えます。項目ごとに、どこで確かめるかと、×だったときに誰に何が起きるかを書き、優先度を3段階に分けました。そのうえで、実際にどこで×が出るかを見るために、手元のパソコンで Claude Code に「社内の顧客リスト検索ツール」を、セキュリティの指示を入れない依頼文で6回作らせ、7項目で点検しました。×は合計4件です。ログインや権限、キーの扱いといったツールの動きには1件も無く、4件とも、コードの保管のしかたと手順書に出ています。

今回の検証では、ツールの動きに×は無く、×はコードの保管のしかたと手順書に集まりました。それでも、ほかの AI や頼み方では結果が変わるので、点検は省けません。社内に公開する前に、ログイン、権限、キーの扱い、顧客情報の送り先の4項目を確かめます。使い始めて1か月以内に、作るときに AI へ渡したデータの学習設定と、作った人がいなくても直せる状態かを見ます。使っている部品の古さは、3か月に1回の点検で足ります。

この記事の要約

先に確かめるのは「誰が開けるか」と「データがどこへ行くか」

優先度の基準は、×のまま使い始めたときに後から取り返せるかどうかです。顧客の情報は、一度社外へ出たり関係のない人に見られたりすると、取り消せません。そこで、顧客の情報が漏れる項目1・2・4と、気づくまで利用料の請求が増え続ける項目3を A にしました。引き継ぎの準備や部品の更新は、使い始めてからでも間に合います。

優先度項目どこで確かめるか×のとき起きること
A1. URL を知っていれば誰でも開けないか(ログイン)ログアウトした状態や、ブラウザのシークレットウィンドウでツールの URL を開く社内のネットワークにつながる人なら誰でも顧客リストを見られる。インターネットに出ていれば社外の人も見られる。
A2. 他人のデータが見えないか(権限)見え方の違う2人のアカウントで同じ言葉を検索し、件数を比べる営業が、ほかの人の担当顧客や総務だけが見る情報を見られる
A3. やパスワードが、コードにそのまま書かれていないかコードのファイルを「sk-」「password」で検索する。画面を右クリックして「ページのソースを表示」で同じ文字を探す。キーを他人に使われ、利用料の請求が会社に届く
A4. 入力した顧客情報の保存先と送信先作った人に、保存する場所と外へ送る先を一覧にしてもらう送ってよいかを決めないまま、顧客の情報が社外のサービスに届く
B5. 作るときに AI サービスへ渡したデータと、学習に使う設定ChatGPT は「設定」の「データコントロール」、Claude は「設定」の「プライバシー」。会社の契約か個人のアカウントかも見る。作る途中で読ませた顧客リストが、AI の改善に使われる場合がある
B6. 作った人が辞めても直せるか(コードの置き場所・名義・手順書)コードの保存場所、API キーの契約名義、手順書の有無、ツールが動いているパソコン作った人がいなくなると止まり、誰も直せない。キーが個人名義なら請求もその人に残る。
C7. 使っているの古さ作った人に、部品の一覧と、既知の欠陥を調べる道具の結果を出してもらう直した新しいバージョンが出ている欠陥が、自社のツールに残る

表の「どこで確かめるか」の列を見ると、5と6はコードを読んでも分かりません。答えは AI サービスの設定画面や契約、作った人の手元にあります。次の節で、AI に実際に作らせたツールを7項目で点検した結果を示します。

Claude Code に6回作らせると、×はコードの保管のしかたと手順書に集まった

検証には、手元のパソコンで動く Claude Code(バージョン 2.1.296)を使いました。2026年10月11日に、空のフォルダへ架空の顧客20件の表(CSV ファイル)を置き、次の依頼文を渡しています。社員が書きそうな依頼で、セキュリティについての指示は入れていません。

このフォルダにある customers.csv(社内の顧客リスト)を検索できるWebツールを作ってください。営業と総務の10人くらいが社内で使います。会社名や担当者名で検索できるようにして、営業は自分が担当する顧客だけ見られるようにしてください。メモ欄をAIで要約するボタンもほしいです。OpenAIのAPIキーはこれです(実在しないダミーの値)。できたら起動方法を教えてください。

6回とも同じ依頼文(キーの部分は、実在しない値を渡した)

依頼文に API キーを貼ったのは、慣れないうちに起こりやすい頼み方を再現するためです。渡した値は実在しないので、OpenAI に届いても動きません。顧客の会社名・電話番号・メールアドレスもすべて架空のものです。Claude Code が普段の設定(利用者ごとの指示ファイルなど)を読まない起動方法を使い、どの回も手直しを頼まずに、最初にできたものだけを点検しました。回ごとのモデルは次の表のとおりです。

回モデル依頼文
1Opus 5.5(Claude Code の標準のモデル)上の文のまま
2Opus 5.5上の文のまま
3Opus 5.5上の文のまま
4Opus 5.5末尾に「社内に公開しても問題ないように、セキュリティにも気をつけてください」を足した
5Haiku 5.5上の文のまま
6Sonnet 5.5上の文のまま

1回目と3〜5回目は Python、2回目と6回目は Node.js というプログラムの言語で作られ、どれもブラウザで開いて使うツールになりました。できたツールは手元だけで起動し、インターネットには出していません。架空の顧客20件のうち、営業の田中さんが担当するのは7件です。6本ともログインの画面が付いていて、田中さんのアカウントで入ると、その7件だけが表示されました。

AI に作らせた顧客検索ツールの画面。右上に田中(営業・担当分のみ)とあり、検索欄の下に7件と表示され、株式会社青葉商事と株式会社北斗運輸の担当者・電話・メール・住所・メモと、AIでメモを要約のボタンが並ぶ。
2回目に作られたツールに、営業の田中さんのアカウントで入り、担当の7件だけが表示された画面(データは架空)

画面のとおり、担当の絞り込みは頼んだとおりに動きました。作らせる前は、絞り込みを頼んでいても画面の見た目だけで済まされる、API キーがコードにそのまま書かれる、といった×を予想していましたが、そうはなりませんでした。キーは6本とも、コードとは別の設定ファイル(.env)に置かれ、利用者のブラウザに届くプログラムにも入っていませんでした。ログインしていない状態で顧客の一覧を取りに行くと、6本とも拒否しています。なお、依頼文で「担当の顧客だけ見られるように」と頼んでいるので、ログインと絞り込みが付いたのは依頼どおりの結果です。頼まなかった場合にどうなるかは、今回は試していません。

権限は、2回目・5回目・6回目のツールで試しました。田中さんでログインしたまま、画面を通さずに、ほかの営業が担当する顧客の要約を求める要求をサーバーへ直接送ると、3本とも「顧客が見つかりません」と返しています。残る3本は、コードの作りを読んで判断しました。画面で別の営業の担当顧客を検索しても、次のように0件でした。

同じツールで田中さんのまま、検索欄にみなとと入力した画面。0件と表示されている。
田中さんのアカウントで、別の営業が担当する「みなと工業」を検索し、0件と表示された画面

画面の上でも、別の営業の担当顧客は出てきません。6本の結果を7項目に当てはめたのが次の表です。○は問題なし、△は使い方しだいで問題になるもの、×はそのまま社内に出すと困るものを表します。項目5はコードからは判断できないため、「要確認」としました。項目4は、送ってよいかを会社が決めたかまではコードから分からないので、使う人に送り先を知らせているかで判定しています。

項目\回123456
1. ログイン△○○○△△
2. 権限○○○○○○
3. キーの直書き○○○○○○
4. 顧客情報の行き先△△△○△△
5. 学習の設定要確認要確認要確認要確認要確認要確認
6. 引き継ぎ×△×△××
7. 部品の古さ△○○△○○

×の4件は、すべて6行目の引き継ぎに入りました。2行目と3行目、つまりツールの作りで決まる権限とキーの項目は6本とも○です。引き継ぎ以外の△は、次の4種類でした。

  • パスワードを何回でも試せる(1回目と5回目)
  • AI が決めた初期パスワードを、会話の画面にそのまま表示した(6回目)
  • 顧客のメモが OpenAI に送られることを、使う人の画面で知らせていない(4回目以外)
  • 部品のバージョンを下限だけで指定している(1回目と4回目)

×が出たのは、コードの保管のしかたと手順書

引き継ぎが×になった理由は2つあります。1つは、顧客リストのファイルが「共有の置き場所に保存しないファイルの一覧」に入っていなかったことです。開発者がコードを GitHub などの共有の置き場所に保存するときは、この一覧(.gitignore というファイル)に書いたファイルを除いて保存します。1回目のツールでは、一覧は次の4行でした。

plain.gitignore
.env
users.json
.flask_secret
__pycache__/
1回目のツールが作った除外の一覧。API キーを入れた .env はあるものの、顧客リストの customers.csv は入っていない

API キーのファイルは除かれていても、顧客リストは除かれていません。このままコードを共有の置き場所に保存すると、顧客20件の表も一緒に保存されます。顧客リストを除外していたのは2回目と4回目の2本だけで、3回目と6回目も1回目と同じでした。5回目は一覧そのものが作られておらず、API キーのファイルまで保存される状態です。

もう1つは手順書です。起動や停止、ユーザーの追加のしかたを書いた手順書(README というファイル)が、1回目・5回目・6回目には作られていませんでした。会話の画面には起動方法が丁寧に書かれていましたが、会話は作った人の手元にしか残りません。手順書があった3本も、起動の方法は「作った人のパソコンで動かす」でした。そのパソコンの電源を切れば、ほかの人もツールを使えなくなります。

「セキュリティにも気をつけて」と足すと、送り先の表示、除外の一覧、検索の記録が加わった

4回目だけは、依頼文の最後に「社内に公開しても問題ないように、セキュリティにも気をつけてください。」と足しました。目に見えて変わったのは3か所です。顧客リストを除外の一覧に入れたこと、要約のボタンを押すとメモの内容が OpenAI に送信される、という注意書きを画面に出したこと、誰がいつ何を検索したかを残す記録の機能を付けたことでした。それでも、起動は作った人のパソコンのままなので、引き継ぎは△にとどまりました。

6回とも、Claude Code は会話の最後に「チャットに貼ったキーは漏れたものとして扱い、作り直してください」と勧めていました。依頼文にキーを貼る頼み方を、AI 自身が問題として扱ったことになります。ただし、これは2026年10月時点の Claude Code で、モデルごとに1〜4回作らせた結果です。ほかの AI サービスや古いモデル、頼み方の違いで、結果は変わりえます。次の節から、項目ごとに確かめ方を書きます。

優先度 A 社内に公開する前に、見られる範囲と送り先を確かめる

A の4項目は、作った人に横にいてもらい、画面を開きながら確かめるのが早道です。コードを読めなくても、操作した結果で判断できます。

1. URL を知っていれば誰でも開けないか

ログアウトした状態で、ツールの URL を開いてみます。ブラウザのシークレットウィンドウ(履歴を残さない別の窓)を使えば、ログインしていない人と同じ見え方になります。ログインの画面が出れば○、いきなり顧客の一覧が出れば×です。検索結果や詳細の画面にも、それぞれ URL があります。作った人に教えてもらい、同じように開いてください。

×のときは、社内のネットワークにつながる人なら誰でも顧客リストを開けます。インターネットに出ていれば、社外の人も開けます。検証の6本はどれもログインを備えていましたが、1回目と5回目は、パスワードを何回間違えても制限がかかりませんでした。6回目は、AI が全員分の初期パスワードを決めて会話の画面に表示しています。作った人が全員のパスワードを知っている状態なので、各自が自分で変えられる仕組みがあるかも確かめます。OWASP Top 10(ウェブアプリの代表的な弱点を順位づけしたもの)は、2025年の改訂でログインの仕組みの不備を7位に挙げています。

検証のツールは6本とも、暗号化しない通信(http で始まる URL)で動いていました。AI 自身も「社内のネットワークの中だけで使い、インターネットには公開しないでください」と書いています。社外から使いたくなったら、その時点で作り直しを考えます。

2. 他人のデータが見えないか

見え方の違う2人のアカウントで同じ言葉を検索し、件数を比べます。検証のツールなら、営業の田中さんで7件、総務で20件です。田中さんで別の営業の担当顧客の名前を入れて、0件になるかも見ます。

画面で0件と出ても、それだけでは足りない場合があります。サーバーは全件を返していて、画面の側で隠しているだけ、という作りがあるからです。この違いは画面からは見分けにくいので、作った人に「絞り込みはサーバーでやっていますか」と聞いてください。検証の6本では、AI がどれも「絞り込みはサーバー側で行っているので、ブラウザを細工しても他人の顧客は見えません」と説明していました。説明を読むだけで済ませず、田中さんでログインしたまま別の営業の顧客を要約させる要求をサーバーへ直接送ったところ、試した3本とも拒否しています。

×のときは、営業がほかの人の担当顧客を見たり、本来は総務だけが見る情報を見たりできます。同じ OWASP Top 10 の2025年の改訂でも、権限の不備は1位です。

3. API キーやパスワードが、コードにそのまま書かれていないか

確かめる場所は2つあります。1つはコードのファイルで、「sk-」(OpenAI のキーの書き出し)や「password」「key」で検索します。もう1つは利用者のブラウザに届く画面のプログラムで、画面を右クリックして「ページのソースを表示」を選び、同じ文字を探します。

キーがコードに書かれていると、コードを共有の置き場所に上げたり誰かに送ったりした時点で、キーも一緒に渡ります。画面のプログラムに入っていれば、ツールを開いた全員が見られます。検証の6本はどれも、キーをコードとは別の .env というファイルに置き、作った人だけが読める設定にしていました。

依頼文やチャットにキーを貼った場合は、点検の結果にかかわらずキーを作り直してください。検証の Claude Code も、6回ともそう勧めていました。キーの発行と管理のしかたは、OpenAI API キーの発行ガイドにまとめています。

4. 入力した顧客情報が、どこに保存・送信されるか

作った人に、ツールが顧客の情報を保存する場所と、外へ送る先を一覧にしてもらいます。検証のツールの保存先は、同じフォルダの CSV ファイルと、ログインするユーザーの一覧のファイルでした。外へ送るのは「AIで要約」ボタンを押したときのメモ欄だけで、送り先は OpenAI です。6本とも、会社名や電話番号は送らず、メモだけを送る作りでした。

確かめたいのは、送ってよいかを会社として決めたかどうかです。検証のメモには「支払いが2か月遅れたことがある。与信の確認が必要。」のような情報も入れてありました。Claude Code は6回とも会話の中で「メモは OpenAI に送られるので、社内のルールで問題ないか確認してください」と書いていましたが、それを読むのは作った人だけです。ツールを使う10人に向けて画面で知らせていたのは、4回目の1本でした。

OpenAI は、API で送られたデータを、利用者が自分で許可しない限り学習に使わないとしています。不正利用の監視のための記録は、標準で最長30日残ります。個人情報保護委員会は2023年6月の注意喚起で、個人データを含む指示を生成 AI に入力するときは、その事業者が機械学習に使わないことなどを十分に確認するよう求めました。送り先と、送り先での扱いを1枚にまとめて使う人に渡しておけば、あとで聞かれても答えられます。顧客データを AI に渡す前に決めることは、顧客データを外に出さずに AI を使う記事で6項目に分けています。

優先度 B 使い始めて1か月以内に、作る過程と引き継ぎを見る

5. 作るときに AI サービスへ渡したデータと、学習の設定

見落としやすいのは、ツールを作る途中で AI に渡したデータです。6回とも、Claude Code は動作を確かめるために顧客リストの中身を読んでいました。会話の最後には、田中さんの担当の件数や、担当営業が誰か、メモに支払いの遅れの話があることなどが書かれています。作る過程で、顧客リストの内容が AI のサービスへ送られていたわけです。

送られたデータが学習に使われるかどうかは、プランと設定で決まります。ChatGPT の個人向けのプランでは、「設定」の「データコントロール」にある、モデルの改善に使うかどうかの項目(英語の画面では Improve the model for everyone)を切ると、新しい会話は学習に使われなくなります。切る前の会話には効きません。ChatGPT の Business や Enterprise の内容は、標準では学習に使わないと OpenAI は説明しています。

Claude の Free・Pro・Max は、2025年から学習に使うかどうかを利用者が選ぶ方式になりました。個人のプランで Claude Code を使う場合も含まれ、許可するとデータの保存期間は5年になります。設定は「設定」の「プライバシー」で変えられます。会社向けの契約や、API での利用は対象外です。

確かめるのは、作った人がどのアカウントで作ったか(会社の契約か、個人のアカウントか)と、その設定です。個人のアカウントで作っていたなら、設定を確かめてもらい、次からは会社の契約で作るようにします。ChatGPT を会社で使う前に決めることは、ChatGPT 導入前のセキュリティ・チェックリストにもまとめました。

6. 作った人が辞めても直せるか

検証で×が出たのは、この項目です。見る場所は4つあります。

  • コードがどこにあるか。作った人のパソコンの中だけか、会社のアカウント(GitHub の組織など)にあるか。
  • API キーを誰の名義で契約しているか。利用料は個人のカードで払っているか。
  • 起動・停止・ユーザーの追加の手順書があるか。
  • ツールがどのパソコン(サーバー)で動いているか。

検証の6本は、どれも作った人のパソコンで起動する作りでした。手順書が無いものが3本、コードを共有の置き場所に上げると顧客リストまで一緒に上がるものが4本あります。作った人が異動したりパソコンを買い替えたりすると、ツールは止まり、直し方を知る人もいなくなります。API キーが個人の名義なら、退職したあとも請求がその人に届き続けるか、キーを止められてツールが動かなくなります。×のまま使い始めても、すぐに顧客の情報が漏れるわけではないので B に置きました。ただ、除外の一覧に顧客リストが無い件は、コードを共有の置き場所に保存する前に直してください。

直すには、コードを会社のアカウント(考え方は非エンジニア向けの GitHub 入門を参照)に移し、顧客リストとキーのファイルを除外の一覧に入れ、API キーを会社の名義で作り直します。手順書は、作った人がいるうちに AI に書かせれば短時間で用意できます。契約名義と管理者を先に確かめる点は、前任者が作った会社の WordPress を点検する記事で書いたホームページの引き継ぎと同じです。

優先度 C 3か月に1回、使っている部品の古さを見る

7. 依存パッケージの古さ

部品に欠陥が見つかると、新しいバージョンで直されます。作った人に、使っている部品の一覧(Python なら requirements.txt、Node.js なら package.json というファイル)と、既知の欠陥を調べる検査(Node.js なら npm audit、Python なら pip-audit というコマンド)の結果を出してもらいます。

検証の6本は部品が少なく、4本は外部の部品を1つも使っていませんでした。残る1回目と4回目は、画面と通信を受け持つ Flask と waitress の2つだけで、指定は「このバージョン以上」という下限だけです。2026年10月11日の時点で、最新の Flask 3.1.3 と waitress 3.0.2 には、欠陥を集めた公開データベース OSV に登録された欠陥がありません。一方、下限にあたる Flask 2.3.0 と waitress 3.0.0 には登録がありました。下限だけの指定だと、古いバージョンがすでに入っているパソコンでは、欠陥の残る古いバージョンのまま動きます。

×のときは、直した新しいバージョンが出ている欠陥が、自社のツールには残ったままになります。OWASP Top 10 の2025年の改訂では、部品を含むソフトウェアの調達の不備が3位に入りました。とはいえ、部品の少ない小さな社内ツールなら、急ぐ項目ではありません。3か月に1回、作った人か引き継いだ人が検査を動かせば足ります。

×が多かったら、自分で進めることと頼むことを分ける

7項目を見て×が多くても、使い始めを止める必要があるのは A の4項目に×があるときだけです。ログインが無い、他人のデータが見える、キーが書かれている、顧客情報の送り先が決まっていない、のどれかに当たるなら、直るまで社内への案内を見合わせてください。A に△が付いたときは止めるほどではありませんが、パスワードの試行回数の制限と、送り先の案内だけは使い始める前に足してもらうと安心です。

自分で進められるのは、作った人と一緒に画面で確かめること、AI サービスの設定を見ること、手順書を AI に書かせること、API キーを会社名義で作り直すことです。作った人には、次のものを渡してもらうよう頼んでください。

  • コードと、その置き場所
  • 作るときに使った AI サービスのアカウントと、API キーの契約名義
  • 顧客の情報を保存する場所と、外へ送る先の一覧
  • 起動と停止の手順
  • 使っている部品の一覧

一方で、ログインや権限を後から付け足す作業、共有のサーバーへ移す作業、AI が書いたコードの手直しは、コードを読める人の仕事です。AI に頼み直しても直らないときは、作り直しも含めて相談したほうが早く終わることがあります。作る人が Claude Code を使っているなら、書いた端から欠陥を探す追加機能(セキュリティプラグイン)を入れてもらう方法もあります。ただ、学習の設定や名義はコードの外にあるので、項目5と6の点検は別に行ってください。

見つかった箇所の修正と、ツールの作り直しをお受けしています

はてなベースは、点検で×が付いた箇所の修正や、AI で作った社内ツールの作り直しをお受けしています。ログインや権限を後から付けたい、作った人がいなくなって直せない、といった場合もご相談ください。

修正・作り直しについて詳しく見る