devlogやプロジェクト文書は、作業の再現性を高めるために残します。 ただし、ログを残すことと、何でも記録することは違います。
- APIキー
- パスワード
- トークン
- 秘密鍵
- Cookie
- 認証ヘッダー
- 管理画面URL
- 個人情報
- 顧客情報
- 社内固有の機密情報
- 外部APIレスポンス全文
- チャット全文
具体的な秘密情報ではなく、概要と影響を書きます。
例:
NG: 管理画面のURLは https://...
OK: 管理画面URLは公開資料に含めない。検証はローカル環境で実施。
NG: APIレスポンス全文を貼る
OK: 必要なフィールドだけを匿名化して要約する
公開前に、次の観点で確認します。
- 秘密情報が含まれていないか
- 個人名や社名が不要に出ていないか
- 内部URLや管理画面名が出ていないか
- エラーログにトークンやパスが含まれていないか
- 画像やスクリーンショットに個人情報が映っていないか
認証、権限、課金、個人情報、データ移行、本番設定を扱う場合は、通常の公開前チェックだけでは足りません。
追加で確認します。
- 誰が何にアクセスできるかが変わるか
- ログに秘密情報や個人情報が出る可能性があるか
- 外部サービスに送るデータが増えるか
- データ削除、移行、復旧不能な変更があるか
- 依存ライブラリや外部APIを追加しているか
- ロールバックできるか
- ロールバックできない場合、そのリスクを人間が承認しているか
localhost画面はプロジェクト構造を扱うため、次を必須とします。
127.0.0.1だけで待ち受ける- 起動ごとの一時トークンでAPIを保護する
- 初回トークンはURLフラグメントでブラウザへ渡し、HTTPリクエストへ含めない
- APIトークンは専用HTTPヘッダーで送信し、URLクエリでは受け付けない
- HTTPログにトークンが混入しても伏せ字にする
- リポジトリ全体を静的ファイルとして公開しない
- ファイル内容を読まない、保存しない、配信しない
.env、生成物、依存ディレクトリを標準除外する- シンボリックリンク先へ移動しない
..や絶対パスでプロジェクト外へ出る定義を拒否する- ブラウザ画面からJSONやsnapshotを書き換えない
画面に表示するのは相対パス、種類、役割、境界、構造差分だけです。
詳細は strict-mode.md を参照してください。
チームでの承認責任やPR運用は team-development.md を参照してください。