---
name: lp-security
description: >-
  LPを公開する前の安全点検スキル。「公開してはいけないファイルの混入」「フォームの送信先」
  「HTMLに書いたキーの露出」「写真の位置情報」などを機械的に点検する。
  「公開前チェック」「セキュリティ確認」「これ公開して大丈夫？」「安全確認して」で起動し、
  lp-workflowのPhase 9（公開）の直前に必ず通す。修正は同じ工程でやらず、指摘を出し切ってから直す。
status: active
last_updated: 2026-08-19
note: 配布用（chige-lp-kit）。作者: ちげ
---

# lp-security — 公開前の安全点検

インターネットに一度出したものは、消しても誰かの手元に残る。
だから**公開ボタンを押す前**に、決まったリストを漏れなく見る。

## 出力のきまり

- 判定は3段階：**🔴 直すまで公開しない ／ 🟡 本人に確認 ／ 🟢 改善提案**
- 指摘には**ファイル名と行番号**を必ず付ける
- **見ていない項目は「確認できなかった」と正直に書く。** 見ていないものを「問題なし」と書かない
- **この工程では直さない。** 指摘を全部出し切ってから、本人の合意を得て別途直す
  （見ながら直すと、直さなくていいものまで触ってしまう）

## 前提として本人に伝えること

> HTMLに書いたものは、**全部そのまま公開されます**。ブラウザの「ソースを表示」で誰でも読めます。
> 「見えないところに書いたから大丈夫」はありません。

---

## 点検リスト

### ① 公開されるファイルを確定させる（最重要）

**このキットは `work/<案件名>/public/` の中だけを公開する。** 原本や設定は外に置く。

```
work/<案件名>/
├── index.src.html   ← 編集用の原本。【仮】や社内メモが入っている。公開しない
├── config.json      ← lp-lineの設定。公開しない
├── メモ類            ← 見積・打合せメモなど。公開しない
└── public/          ← ★ここだけが公開される
    ├── index.html   ← lp-lineが生成した公開用
    ├── tokusho.html
    └── images/
```

点検：

```bash
find work/<案件名>/public -type f | sort
```

- この一覧を**本人に見せて承認をもらってから**公開する
- 一覧に次のものがあれば🔴：
  - `index.src.html`・`*.src.html`（下書き。【仮】の価格や社内コメントが入っている）
  - `config.json`、`*.bak`、`*-old.html`、`*のコピー.html`
  - 見積書・企画書・議事録・料金の内部メモ
  - `CLAUDE.md`・`AGENTS.md`・`README.md`（AIへの指示が全部読まれる）
  - `.DS_Store`（Macで必ずできる。消す）
  - 使っていない予備画像・ボツ案の画像（URLを推測されると見えてしまう）
  - 別案件から借りてきた素材、ロゴの原本（.ai/.psd）

### ② 秘密の値がHTMLに書かれていないか

```bash
grep -rniE 'sk_live|sk-ant|AIza|ghp_|xoxb-|secret|password|api[_-]?key' work/<案件名>/public
```

- 🔴 になるもの：Stripeの `sk_live_`／各種APIの秘密キー／LINEのチャネルシークレット／管理画面のパスワード
- 🟢 でよいもの：Stripeの `pk_`（公開用）／Googleアナリティクスの測定ID／地図の埋め込みiframe（キー不要）
- Google Maps等でキーを使うなら、**そのキーに使用元の制限をかける**（制限なしのキーは🔴）

### ③ フォームの送信先（実害がいちばん大きい）

- `<form action="...">` のURLは**自分のもの**か。サンプルをコピペしたまま他人のIDが残っていると、
  **お客さんの氏名・電話番号が他人に届く**（🔴）
- Googleフォーム／GASを使うなら、回答の通知先が自分のアドレスか
- 送信後のページに `?name=...&tel=...` のように**個人情報をURLに載せていないか**（🔴。履歴と解析に残る）
- 迷惑投稿対策が何も無い場合は、Cloudflare Turnstile（無料）を🟢で提案する
- **実際に1回送信して、自分に届くことを確認する**（届かないフォームでの公開は🔴）

### ④ 個人情報の写り込み

- 意図せず**自宅住所・個人の携帯番号**を載せていないか（🟡で確認）
- **写真の位置情報**：スマホで撮った写真はGPS座標が埋まっていることがある。自宅で撮った商品写真＝自宅の座標が公開される

  ```bash
  # 位置情報が入っていないか確認（mdlsはMac標準）
  mdls -name kMDItemLatitude -name kMDItemLongitude work/<案件名>/public/images/*.jpg
  ```
  値が出たら🟡。書き出し直す（画像編集ソフトで「メタデータを含めない」保存）
- お客様の声の**実名・顔写真の掲載許可**を取っているか（🟡）
- スクリーンショットの写り込み（他人のメールアドレス、LINEの表示名、通知バナー）（🔴）

### ⑤ メールアドレスの直書き

- `mailto:` でアドレスをそのまま書くと、収集ボットに拾われて迷惑メールが増える（🟢）
- フォーム・公式LINEに誘導するか、画像にするなどの回避を提案

### ⑥ 外部スクリプト

- 出所の分からないところから `<script src="...">` を貼らない（🔴）
- アクセス解析・広告タグを入れすぎない（重くなる／訪問者の情報が第三者に渡る）
- **解析タグや広告タグを入れたら、プライバシーポリシーにその旨が要る**（🟡）

### ⑦ 公開まわり

- 公開前の案件なら `<meta name="robots" content="noindex">` が入っているか
- 逆に**本番公開時に noindex を外し忘れていないか**（🔴。検索に一生出ない）
- リンク切れがないか（特に `href="#"` のまま置かれた法定表示リンクは🔴。`lp-legal` 参照）
- 外部リンクに `rel="noopener"` が付いているか（🟢）

### ⑧ 消し忘れ

```bash
grep -rniE 'console\.log|TODO|FIXME|【仮】|テスト|ダミー|lorem' work/<案件名>/public
```

- 【仮】の価格・日程が公開版に残っていたら🔴
- テスト用の文言・ダミーテキストの残骸

---

## 報告のしかた

点検が終わったら、次の形でまとめて本人に見せる。

```
【公開前チェック結果】

🔴 直してから公開したほうがいいもの（2件）
  1. public/index.html:412 — 申込フォームの送信先が、サンプルのURLのままです
  2. public/ に index.src.html が入っています（下書きも公開されてしまいます）

🟡 確認させてください（1件）
  1. public/images/hero.jpg に位置情報が入っています。撮影場所が特定できますが、大丈夫ですか？

🟢 余裕があれば（1件）
  1. 迷惑投稿対策（Turnstile）を入れると、フォームへのいたずら送信を減らせます

🔴 がゼロになるまでは公開しないほうが安全です。直しますか？
```

- 🔴がゼロになるまで Phase 9（公開）へ進まない
- **確認できなかった項目があれば、それも正直に書く**

## 禁則

- 見ていない項目を「問題なし」と書かない
- 指摘と修正を同時にやらない（出し切ってから直す）
- 🔴を本人の「大丈夫だから」だけで消さない（根拠が示されたときだけ）
- 秘密の値（キー・パスワード）を、点検の過程でチャットに書き出さない。
  **「〇行目にキーらしき文字列があります」と場所だけ伝える**
