東山紡無料で相談する
AIでつくったアプリ

AIでつくったアプリを公開する前の確認リスト

・書いた人 山本 健太

AIでつくったアプリは、何を確かめてから公開すればいい?

「動くアプリ」と「安心して公開できるアプリ」は別のものです。画面が正しく動いていても、APIキーが外から見えていたり、ほかの人のデータを見られたりすることがあります。

公開する前に、秘密の情報・ログインと権限・入力・料金・個人情報・データの復旧・公開の設定の 7 つを確かめてください。どれも、最低限は自分で確かめられます。そのうえで、個人情報・お金・他人のデータが関わるなら、公開する前に第三者の目を入れるのがおすすめです。

小さなアプリでも、公開すれば弱いところを探される

「自分がつくった小さなアプリなんて、わざわざ狙われないだろう」と思うかもしれません。ところが攻撃する側は、インターネットに公開された機器やシステムを探すサービスや自動のプログラム(ボット)を使って、弱いところのある相手を広く探しています。米国のサイバーセキュリティの機関 CISA も、この点に注意を呼びかけています。

相手は、あなたのアプリの存在を前もって知っている必要がありません。隠しておくべき APIキーが見える状態だったり、データベースに誰でも入れる設定だったりすれば、公開した本人が気づかないうちに、情報を抜かれたり、勝手に使われたりすることがあります。

すべてのサイトがいつも攻撃されている、というわけではありません。ただ、インターネットに公開した時点で、誰かに見つかり、弱いところを探される可能性がある、と考えておくのが正確です。

これは AI でつくったアプリに限った話ではありません。ただ、AI のおかげで専門の知識がなくても公開できるようになったぶん、「動いているから大丈夫」と判断しないことが大切になりました。

AIでつくったアプリで、問題になりやすい例

予約の管理アプリで、ほかのお客さんの予約が見えてしまう

小さなお店の予約の管理アプリ。ログインもでき、予約の登録・変更・取り消しも正しく動いています。ところが、予約を取り出す API で「その予約が本人のものか」を確かめていません。すると、URL に入っている予約の番号を書き換えるだけで、ほかの人の予約が見えてしまうことがあります。

ログインの機能があるだけでは、安全にはなりません。「誰がログインしたか」だけでなく、「その人がどの情報を扱ってよいか」を、サーバーやデータベースの側で確かめる必要があります。Web のセキュリティの危険をまとめた OWASP Top 10 の 2025 年版でも、この「アクセスの制御の不備」がいちばん上に挙がっています。

AIチャットのアプリで、利用料が膨らむ

生成AIの API を使ったチャットのアプリを、誰でも使えるように公開した例です。使える回数に上限がなく、しかも APIキーがブラウザの側に埋め込まれている。すると、第三者に API を大量に使われたり、キーを抜き取られて悪用されたりして、思わぬ請求が来ることがあります。

怖いのは、アプリが正しく動いているあいだにも被害が進むことです。キーを守るだけでなく、使う人ごとの回数の制限、サーバーの側での使用量の制御、予算の上限や通知の設定まで確かめます。

お客さんが上げたファイルを、誰でも見られる

お客さんが見積書や写真を上げられるアプリ。画面ではログインした本人にしかファイルが出ません。ところが、ファイルの置き場が「公開」の設定になっていて、ファイルの URL さえ分かれば、ログインしなくても誰でもダウンロードできてしまいます。

画面で隠していても、置き場が公開されていれば意味がありません。たとえば Supabase のストレージでは、公開の設定にした置き場のファイルは、URL を知っている人なら誰でも開けます。人に見せないファイルは、非公開の置き場に入れ、見てよい人を決めておく必要があります。

公開する前に確かめる 7 つのこと

どれも、最低限は自分で確かめられます。ただ、自分で問題を見つけられることと、安全だと言い切れることは別です。それぞれ、専門家に任せたほうがいいところも書きました。優先する順番はアプリによって変わりますが、個人情報やお客さんの情報を扱うなら、1 と 2 は公開前の必須の条件です。

CHECK 1

APIキーやパスワードが、外に漏れていないか

なぜ大事か
漏れると、外のサービスを勝手に使われたり、データを操作されたりします。
自分で確かめる
Chrome でアプリを開き、F12(Mac は Option + Command + I)で開発者ツールを出します。「Network」で通信の中身を、「Sources」で読み込まれたプログラムを見て、秘密にすべきキーが入っていないかを調べます。
危ないサイン
OpenAI などの秘密のキーが、画面の側のコードに入っている。.env など秘密の情報のファイルを GitHub に公開している。
専門家に任せる
コード全体と Git の履歴まで含めた漏れの調査、キーの交換、キーをサーバーの側へ移す作業。
補足
ブラウザにログイン用のトークンが見えること自体は、異常とは限りません。Supabase の publishable key や、Firebase の Web アプリ用の APIキーのように、公開する前提のキーもあります。大事なのは、キーの種類と、そのキーで何ができる設定になっているかです。
CHECK 2

ほかの人の情報を、見たり変えたりできないか

なぜ大事か
お客さんの情報が漏れたり、予約や注文を勝手に変えられたりします。
自分で確かめる
テスト用のアカウントを 2 つつくり、A で登録した情報を B から見たり変えたりできないかを試します。ログアウトした状態で、URL を直接開いても確かめます。
危ないサイン
別のアカウントの情報が出る。ログアウトしたあとも個人情報が見える。一般の利用者が、管理者の機能を使える。
専門家に任せる
サーバーの側の権限の確認、データベースのアクセスの制御(Supabase の RLS など)、管理者の権限の検証。画面の操作だけでは、裏側のすべての経路を確かめられないためです。
CHECK 3

思いがけない入力で、壊れないか

なぜ大事か
入力の扱いが甘いと、情報の書き換え、不正な処理、データの破損が起こりえます。
自分で確かめる
テスト用の環境で、空欄、とても長い文、絵文字、記号、想定していない形式のファイルなどを入れてみます。エラーがきちんと出て、おかしな情報が保存されないかを見ます。
危ないサイン
入力すると画面が崩れる。内部のエラーがそのまま出る。想定していない内容が保存される。
専門家に任せる
SQL インジェクション、XSS、ファイルのアップロード、サーバーの側での入力の検証など。単純な入力の試しだけでは、弱いところがあるかどうかは判断できません。
CHECK 4

利用料が、際限なく増えないか

なぜ大事か
AI の API やクラウドのサービスを大量に使われると、高い請求や利用の停止につながります。
自分で確かめる
OpenAI や Vercel などの管理画面で、使用量、料金の通知、上限の設定を確かめます。ログインなしで使える AI の機能や、メールを送る機能がないかも調べます。
危ないサイン
ログインしていない人が、お金のかかる処理を何度でも実行できる。回数の制限がない。料金の通知を設定していない。
専門家に任せる
サーバーの側での回数の制限、不正な利用への対策、実際に効く使用量の制御。
補足
料金の「通知」と「止める」は別のものです。たとえば Google Cloud の予算の設定は通知だけで、それ自体では使用を止めません。
CHECK 5

個人情報やファイルを、きちんと扱えているか

なぜ大事か
名前、メールアドレス、住所、アップロードされた書類などが漏れます。
自分で確かめる
何の情報を受け取り、どこに保存し、誰に見せるのかを書き出します。ログアウトした状態でファイルの URL を開いてみます。プライバシーポリシーと実際の扱いが食い違っていないかも見ます。
危ないサイン
非公開のはずのファイルを誰でも開ける。受け取った個人情報が、ログや外の AI サービスにうっかり送られている。
専門家に任せる
保存先、外のサービスへの送信、公開の範囲、消し方などの技術的な確認。法律の面での判断が要るときは、法律の専門家にも相談します。
CHECK 6

データを消してしまっても、戻せるか

なぜ大事か
操作のミスや不具合でデータを失うと、お客さんへの対応や仕事が止まります。
自分で確かめる
データベースのサービスの管理画面で、バックアップの設定、残しておく期間、戻し方を確かめます。できれば、別のテスト用の環境で実際に戻せることを試します。
危ないサイン
バックアップがあるのか分からない。戻す手順がない。保存先が 1 か所しかない。
専門家に任せる
バックアップの設計と、戻す手順の検証。仕事のデータは、バックアップが「ある」だけでは足りません。
CHECK 7

公開の設定と、公開したあとの体制に穴がないか

なぜ大事か
テスト用の環境が公開されていたり、管理画面が外から見えたり、止まっても誰も気づかなかったりします。
自分で確かめる
公開する URL をシークレットモードで開き、見せてはいけないページが見えないかを調べます。HTTPS でつながるか、エラーの通知先を設定しているかも確かめます。
危ないサイン
テスト用のお客さんの情報が出る。管理画面に誰でも入れる。エラーの通知先がない。公開したあとの担当が決まっていない。
専門家に任せる
環境の設定、外に出さなくてよい API の公開、使っている部品(ライブラリ)の弱いところ、見張りと更新の仕組みの確認。

「AIに診断させれば大丈夫」ではないの?

AI による診断は、ぜひ使ってください。ただし、AI が「問題ありません」と答えたことを、安全の証明にはしないでください。

AI のコードレビューは、たとえば次のような問題を見つける助けになります。

  • コードにそのまま書かれた秘密の情報
  • データベースの危ない公開の設定
  • 入力のチェックや、権限の確認が足りないところ
  • 古い部品(ライブラリ)にある、知られた弱いところ

一方で、実際に悪用できるかの確認、複雑な業務のルール、いくつもの機能を組み合わせた攻撃の検証には限りがあります。たとえば「予約を取り出す API にはログインの確認があるので安全」と AI が判断しても、実際には別の人の予約を取り出せることがあります。つくったときと同じ AI にレビューさせると、つくったときの思い込みを引きずることもあります。

私なら、次のように頼みます。

AI への頼み方の例

このアプリを一般に公開する前提で、セキュリティのレビューをしてください。秘密の情報の漏れ、ログインと権限、データベースの公開の範囲、不正な入力、API の利用料、個人情報の扱いを確認し、問題の箇所と確かめ方を示してください。安全だと確認できない項目は「未確認」と明記してください。

AI に指摘されたところを直し、テスト用の環境で実際に確かめる。そのうえで、個人情報やお金を扱うところは、第三者にも見てもらうのがよいと思います。

Lovable の Quick scan・Deep scan や、Bolt の公開前のセキュリティの監査のように、チェックの機能を備えたサービスも増えました。それでも Lovable の公式の資料は、機密の情報や重要な機能を扱うなら、専門家による追加のレビューを検討するよう案内しています。

Claude Code、Cursor、v0、Bolt、Lovable で、気をつけることは違う?

違いはあります。ただ「このツールは危ない、こちらは安全」という単純な比べ方はおすすめしません。使い方と、できあがるアプリの組み立てによって、気をつけるところが変わります。

  • Claude Code / Cursor

    特に確かめたいこといくつものファイルにまたがる変更、もともとあった権限の確認を壊していないか、部品(ライブラリ)の追加、データベースの変更、環境の設定への影響
  • v0

    特に確かめたいこと見た目だけ動いている仮の機能、画面の側への秘密の情報の混入、API とデータベースの権限の確認
  • Bolt / Lovable

    特に確かめたいことつないだデータベースのアクセスの制御、ファイルの置き場の公開の範囲、ログインの設定、外の API の秘密の情報と使用量

Claude Code や Cursor のように、エージェントがコードを書き換えていくツールでは、書き換えの副作用にも気をつけます。何が変わったか(差分)とテストの結果を見ることが大切で、Cursor にはエージェントの変更を戻せるチェックポイントがありますが、公式の資料は、それを Git などのバージョン管理の代わりにしないよう案内しています。

v0 は見た目をつくるだけの道具ではなくなり、API やデータベースを使うアプリもつくれます。見た目だけでなく、裏側の処理も確かめる対象です。

いちばん大事なのは「何でつくったか」よりも、「何をつくって、どんな情報を扱うか」です。

Vercel、Cloudflare、Firebase、Supabase の設定の落とし穴

AI でつくったアプリの公開先としてよく使われる 4 つです。公開する前に、次の設定を確かめてください。

  • Vercel

    公開する前に確かめたい設定環境変数、プレビュー(試しの公開)を誰が見られるか(設定の Deployment Protection)、本番とテスト用の環境が分かれているか。NEXT_PUBLIC_ で始まる環境変数は、ブラウザに渡る
  • Cloudflare

    公開する前に確かめたい設定Workers の秘密の情報は Secret として持つ。R2 の公開用の URL(独自ドメインや r2.dev)を、意図せず有効にしていないか
  • Firebase

    公開する前に確かめたい設定Firestore のセキュリティルールが、テスト用の「誰でも読み書きできる」設定のままになっていないか。allow read, write: if true は本番で使わない
  • Supabase

    公開する前に確かめたい設定RLS とテーブルの権限。service_role や secret key をブラウザに出さない。ファイルの置き場の公開の設定と、バックアップに何が含まれるか

Supabase は、AI でつくるアプリでよく使われる組み合わせの一つなので、少しくわしく書きます。

RLS(行ごとに、誰が読み書きできるかを決める仕組み)は、有効にしただけでは安心できません。決まりの中身が正しいとは限らないからです。確かめたいのは「自分のデータは見える」と「ほかの人のデータは見えない」の両方です。

また、毎日の自動のバックアップは有料の Pro プラン以上のもので、データベースのバックアップには、ストレージに置いたファイルそのものは含まれません。無料のプランで使っている場合は、Supabase 自身も勧めているとおり、定期的にデータを書き出して、別の場所に控えを持っておいてください。

公開したあとも、続けたいこと

  • 公開してから 1 週間

    やることエラー、利用料、思いがけないアクセスが出ていないかを毎日見る
  • 毎週

    やることエラーの通知、料金、アクセスの数、バックアップの状態を見る
  • 毎月

    やること部品(ライブラリ)の更新、セキュリティの警告、要らない権限や機能がないかを見る
  • 大きく変える前後

    やること公開前のチェックをもう一度。問題があれば、元に戻せるようにしておく
  • ときどき

    やること本番とは別の環境で、バックアップから戻せるかを試す

なかでも大事なのは、問題が起きたときに、誰が気づいて、誰が対応するのかを決めておくことです。止まっても、情報が漏れても、通知を見る人がいなければ動けません。

小さなサービスなら、最初から高度な見張りの仕組みは要りません。ただ、少なくともエラーの通知と、料金の通知の送り先は設定しておきたいところです。

ここまでなら、自分で公開しても大丈夫?

アプリの種類で、3 つの段階に分けて考えるのがよいと思います。

自分で公開しやすいもの

例
お知らせだけのホームページ、ポートフォリオ、情報を見せるだけのサイト
条件
ログイン、個人情報の送信、データの保存、決済、お金のかかる API、ファイルのアップロードがなく、外に影響する処理が少ないもの。公開の設定、著作権、基本の動き、外のサービスとのつなぎは確かめます。

公開する前に、軽いレビューを受けたいもの

例
問い合わせのフォーム、簡単な予約のフォーム、ログインのある小さなアプリ
理由
フォームで名前やメールアドレスを受け取るだけでも、個人情報を扱います。保存先、送り先、迷惑な送信への対策を確かめます。

公開する前に、専門家の確認を強くおすすめするもの

例
顧客の管理、会員制のサービス、ネットショップ、決済、社内の文書の管理、何人ものあいだでのデータの共有、ファイルのアップロード、AI の API を使った従量課金があるアプリ
理由
情報の漏れ、お金の被害、仕事の停止が起きたときの影響が大きく、本人だけのチェックで判断しないほうがよいためです。

もちろん、単純なアプリだから絶対に安全、というわけではありません。ただ、「不具合が起きても被害が小さく、利用者の大事な情報やお金を扱わない」という条件がそろうほど、自分で公開しやすくなります。

いきなり誰にでも公開するのが不安なら、最初はテストの利用者だけに絞って試すのも手です。ただし、公開を絞ることは、セキュリティの対策の代わりにはなりません。

まとめ

東山紡では、AI でつくったアプリを公開する前の診断をお受けしています。「何を確かめればいいか分からない」「AI には問題ないと言われたけれど不安」という方は、AIでつくったアプリの公開のページもご覧ください。

参考にした資料

各サービスの機能や料金は変わることがあります。2026年10月26日時点で確かめた内容です。

公開する前に、一度見せてください

コードと動いている様子を見て、確かめたほうがいいところと、おおよその金額をお伝えします。ご相談は無料です。