個人開発したAIアプリを安全に試してもらう方法|テスター管理サイトを自分で作った話
個人開発したAIアプリを安全に試してもらう方法|テスター管理サイトを自分で作った話
AIで個人開発をしていると、ある壁にぶつかります。「動くものができた。でも、誰かに試してもらうには?」という壁です。
以前の記事で「JSパスコード+Cookieで1時間実装する最小構成」を紹介しましたが、今回はその本格版の話です。
📌 AI時事ネタ:AIを組み込んだアプリが急増中
AIを組み込んだアプリはすでに爆発的に増えています。Gartnerの予測では、エンタープライズアプリにAIが搭載される割合は2025年時点で5%未満でしたが、2026年末には40%に達するとされています。個人開発でも同じ流れは加速しており、「自分でAIアプリが作れる時代」は確実に来ています。
しかしここで一つ、個人開発者ならではの悩みが出てきます。AIを組み込んだアプリは、誰かが使うたびにAPIの呼び出し料金が発生します。 URLを一本渡しただけでは、誰がいつ何回叩いたか追跡できない——コストが青天井になるリスクがあります。マンチーがまさにその壁にぶつかり、このシステムを作ることになりました。
個人開発のテスト・公開問題は、実は深刻
コールセンターシステム、AI組み込みアプリ、認証付き業務システム——。バイブコーディングの時代になり、個人でも高度なアプリが作れるようになりました。
でも「誰かに試してもらう」だけでなく、こういう使い方もあります。
- 商品として販売する前に、見込み顧客に触ってもらいたい
- 相手先の要望を聞きながら、追加開発してフィットさせていきたい
- 協力会社のテスター要員に動作確認してもらいたい
- 将来的には正式契約に移行してもらいたい
こうした用途で「URLをそのまま渡す」はNGです。特にAI組み込みアプリはアクセスされるたびにAPIの呼び出し料金が発生します。 無断でURLを拡散されたら、知らない間に費用が積み上がります。
「パスワード教えます」だけでは誰がいつアクセスしたかも分かりません。何かあっても追跡できない。
マンチーはこの問題を自分でシステムを作ることで解決しました。
作ったもの:招待制アクセス管理システム
マンチーが個人開発したのは、招待した人だけがアクセスできる認証基盤と管理システムです。
テスト運用だけでなく、商品を販売・利用してもらうための基盤として設計しています。
全体の流れはこうです。
- マンチーが招待URLを発行して相手に送る
- テスターや購入希望者がURLを踏む → Cookieが発行される
- 以後7日間はURLなしでもアクセス可能(日数は可変)
- GoogleアカウントでSSOログイン、またはメールアドレス+パスワードで認証
- アプリを試用・利用できる状態に
全てブラウザで完結します。 アプリのインストール不要、設定ファイルの送付も不要。相手がやることは「URLを踏む」と「ログイン」の2ステップだけです。
技術の裏側:3層のセキュリティ設計
見た目はシンプルですが、裏側では3層の防御が動いています。
層1:URLマスキング+検索エンジン除外
サイトのURLは長い英字の推測しにくい文字列を使っており、本来のアドレスはその背後に隠れています(URLマスキング)。さらにnoindex設定とrobots.txtで検索結果からも消します。「URLを知らない人には存在すら見えない」状態を作ります。
層2:許可リスト認証
事前に登録したアカウントしかログインできません。GoogleアカウントはOAuth Testingモードで制御し、メール認証はCognitoの登録ユーザーのみ通過できます。合言葉URLを持っていても、登録していないアカウントではログインできません。
層3:CloudFront FunctionsによるCookie認証
AWSのエッジサーバーが全リクエストをリアルタイム検証します。Cookieを持っている人だけが通過。それ以外は即「403 Forbidden」を返します。しかもエラーページにはヒント情報を一切載せていません。「なにかダメだった」ということすら教えない設計です。
これらは全部AWS上でサーバーレス動作しています。 誰もアクセスしない時間帯はほぼコストゼロです。
管理画面(admin)が、このシステムの本当のウリ
このシステムの肝はブラウザだけで完結する管理画面です。ターミナル不要、AWSコンソールへのログイン不要。全ての管理操作をここで完結できます。
自分しか入れない管理画面
管理画面へのアクセスはGoogleアカウントのロール認証で制御しています。JWTトークン(ログイン済みであることを証明するデジタルチケット)の中にuser_roleが記録されており、値がadminでない場合は即拒否画面が表示されます。URLを知っていても、adminロールを持たないアカウントでは一切操作できません。
ユーザー一覧と状態の把握
管理画面を開くと、登録済みユーザー全員の状態が一覧で確認できます。
- 氏名・メールアドレス
- 利用している複数のWebアプリ(全アプリを1画面で管理)
- 現在のプラン(starter / standard / premium / internal)
- 課金形態(trial / subscription / lifetime / unlimited)
- 期限の有無・残り日数
- 期限内か期限切れかのステータス
サマリ表示もあり、「登録何人・期限内何人・買い切り何人・期限切れ何人」が一目で分かります。
テスター要員か購入希望者かの区別ができる
ユーザーの種別を課金形態(billing)とプラン(plan)の組み合わせで管理しています。
| 用途 | プラン | 課金形態 |
|---|---|---|
| 協力会社のテスター要員 | internal | unlimited(期限なし) |
| 商品購入希望者の試用 | standard | trial(期限あり) |
| 正式契約済み顧客 | standard / premium | lifetime or subscription |
| 自分自身のテスト | internal | unlimited |
「この人はテスター、この人は購入検討中」という区別が一目で分かり、対応も変えられます。
期限管理と延長がワンクリック
ユーザーを選んで編集モーダルを開くと、クイック延長ボタンが並んでいます。
- +7日 / +30日 / +90日 / +1年
ボタン1クリックで期限が伸びます。「もう少し試してほしい」「検討期間を延ばしたい」という場面で、即座に対応できます。
逆に期限が切れると、次回ログイン時に自動で弾かれます(Pre-Token Generation Lambdaという仕組みが期限を判定します)。期限切れユーザーには継続申請の案内ページが表示され、「継続してご利用をご希望の場合はこちらへ」という導線になっています。
不審なログインへのワンクリック警告メール
万が一、登録していないはずのアカウントがアクセスしてきた場合や、不審なユーザーを発見した場合——管理画面からワンクリックでメーラーが起動します。相手のメールアドレスが自動でセットされた状態で立ち上がるので、警告メールをすぐに送れます。
「完璧に弾く」だけでなく、「何かあったときに即動ける」仕組みが入っています。
「把握していること」自体が抑止力になる
完璧なセキュリティはありません。でも「このシステムはアクセス者を把握している」という事実が、不正利用の心理的抑止力になります。
無防備に公開しているアプリは「誰がどれだけ使っても誰も気づかない」と思われます。管理画面があり、誰がいつ何を使っているか把握できる状態は、それだけで抑止効果があります。
技術的に完璧でなくても、「把握しているよ」という設計をするだけで状況は大きく変わります。
このシステム自体を販売することも考えている
マンチーはこのシステムをそのままパッケージとして販売することも視野に入れています。
現在、製品名・期限日数・コールバックURLをパラメータとして渡せるテンプレート化(SAMテンプレート)を開発中です。完成すれば「新しいアプリを作ったらこのテンプレートを使えば30分でテスト環境が立ち上がる」状態になります。
バイブコーディングで作ったアプリを世に出せる人と出せない人の差は、コーディングスキルではなく「公開後の運用設計」にあると感じています。このシステムはその差を埋めるためのものです。
コストはどれくらいか
このシステムの月額費用はほぼゼロです。AWSのCloudFrontは月100万リクエスト・100GBまで無料枠。Amazon CognitoはMAU(月間アクティブユーザー)50,000人まで無料。個人開発のテスト・商用初期運用レベルであれば、無料枠に収まります。
月数百円で、企業レベルの認証・アクセス制御・ユーザー管理が個人で動かせる。
これもAIと組み合わせた個人開発の、現実的なメリットのひとつです。
関連記事もどうぞ:

コメント