Appearance
セキュリティ・法律
このセクションでは、アプリを公開する上で守るべきルールを学びます。
なぜこれを学ぶ?
アプリを世界に公開するということは、責任が生まれるということです。
知らなかったでは済まされないこともあるので、最低限のルールを押さえましょう。
1. 機密情報の取り扱い
絶対に公開してはいけないもの
| 種類 | 例 | リスク |
|---|---|---|
| APIキー | sk-xxxx... | 不正利用、課金被害 |
| パスワード | データベースのパスワード | データ漏洩 |
| 環境変数 | .env ファイルの内容 | 不正アクセス |
守り方
.env.localを使う- 秘密情報は環境変数に入れる
- GitHubには絶対にpushしない
.gitignoreを確認.env .env.local .env*.localコードに秘密を書かない
javascript// ❌ 絶対ダメ const apiKey = "sk-xxxx1234567890" // ✅ OK const apiKey = process.env.API_KEY
もし漏洩したら
APIキーをすぐに無効化し、新しいキーを発行してください。
2. 個人情報の取り扱い
個人情報とは?
特定の個人を識別できる情報:
- 氏名
- メールアドレス
- 住所
- 電話番号
- 顔写真
- etc.
アプリで個人情報を扱う場合
必須:プライバシーポリシー
個人情報を収集するアプリには、プライバシーポリシーが必要です。
markdown
## プライバシーポリシー
### 収集する情報
- メールアドレス
### 利用目的
- アカウントの識別
- 重要なお知らせの送信
### 第三者への提供
提供しません。
### お問い合わせ
xxx@example.com今日のアプリでは
個人情報を収集しないシンプルなアプリなら、プライバシーポリシーは不要です。
3. 利用規約
なぜ必要?
- ユーザーとの約束事を明確にする
- トラブル時の対応方針を示す
- 責任の範囲を明確にする
最低限の利用規約例
markdown
## 利用規約
### 免責事項
本サービスは現状のまま提供されます。
利用によって生じた損害について、開発者は責任を負いません。
### 禁止事項
- 不正アクセス
- 他者への迷惑行為
- 違法行為
### サービスの変更・終了
予告なくサービスを変更・終了する場合があります。4. 著作権
使っていいもの・ダメなもの
| 種類 | 使用可否 | 注意点 |
|---|---|---|
| 自分で作った画像 | ✅ OK | - |
| フリー素材 | ✅ OK | ライセンスを確認 |
| 他人の画像 | ❌ NG | 著作権侵害 |
| 有名キャラクター | ❌ NG | 著作権侵害 |
フリー素材サイト
- Unsplash - 写真
- いらすとや - イラスト
- Font Awesome - アイコン
注意
フリー素材でも利用規約があります。商用利用可能か確認してください。
5. やってはいけないこと
法律違反になる例
| 行為 | 法律 |
|---|---|
| 個人情報の無断収集 | 個人情報保護法 |
| 著作物の無断使用 | 著作権法 |
| 名誉毀損 | 刑法 |
| 詐欺 | 刑法 |
グレーゾーン(要注意)
- 他サービスのスクレイピング
- APIの利用規約違反
- ユーザー生成コンテンツの管理
6. セキュリティ対策をAIに任せる
Webアプリには様々な攻撃手法がありますが、AIに適切に指示すれば対策してくれます。
AIへの指示例
アプリを作るとき、以下のように伝えましょう:
フォームを作るとき:
「入力値のバリデーションとセキュリティ対策もお願いします」
データベースを扱うとき:
「SQLインジェクション対策をした安全な書き方でお願いします」
完成したら:
「このコード、セキュリティ的に問題ないかチェックして」知っておくと良い攻撃の名前
AIに相談するとき、名前を知っていると便利です:
| 攻撃名 | ざっくり言うと |
|---|---|
| XSS | 悪意のあるスクリプトを埋め込まれる |
| SQLインジェクション | データベースを不正に操作される |
| CSRF | ユーザーになりすまされる |
安心ポイント
Next.jsやReactは基本的な対策が組み込まれています。 AIもセキュリティを考慮したコードを書いてくれるので、フレームワークの推奨する書き方に従えば大丈夫です。
7. 今日のアプリで気をつけること
チェックリスト
- [ ] APIキーをコードに直接書いていない
- [ ]
.env.localが.gitignoreに入っている - [ ] 他人の著作物を使っていない
- [ ] 個人情報を収集する場合はプライバシーポリシーがある
困ったら
「これは大丈夫かな?」と思ったら、講師に相談してください。
まとめ
| 項目 | 対応 |
|---|---|
| 機密情報 | 環境変数で管理、GitHubにpushしない |
| 個人情報 | 収集するならプライバシーポリシー必須 |
| 著作権 | 自分の作品かフリー素材を使う |
| 利用規約 | 公開するなら最低限用意する |
| セキュリティ攻撃 | ユーザー入力を信用しない、AIに相談する |
次はAIへの指示の出し方に進みます!