個人情報・認証・決済
個人情報、ログイン、支払いのいずれかを扱った時点で、製品は「動けばよい」段階を離れ、法律上の義務と、失敗が他人の実害になる領域に入ります。弊社では、この領域に入る製品を一人の判断で公開せず、進める前に相談することをルールにしています。
持っていないデータは漏れない
個人情報を守るいちばん確実な方法は、そもそも集めないことです。フォームの項目は「あると便利」ではなく「ないと成立しない」で選びます。
集めた時点で、個人情報保護法の義務(利用目的の明示、安全な管理、漏洩時の対応など)が関わり始めます。どこまでの対応が必要かは集め方と規模で変わるため、公開前に詳しい人へ確認します。弊社では、集めるなら何をなぜ集めるかを書いたプライバシーポリシーを用意することを基本にしています。
このフォームの項目のうち、目的に対して必須でないものを挙げて
ログに個人情報を書かない
エラーの記録やアクセスの記録に個人情報を含めると、データベースを守っていても、ログの転送先や閲覧者という漏洩経路が増えます。記録には特定用のIDだけを残し、名前や連絡先そのものを書かない形をClaudeに指定します。
ログとエラー通知に個人情報が含まれない形にして
開発には実在しないデータを使う
開発や動作確認に実在の顧客データを使うと、会話、ログ、テストコード、スクリーンショットへデータが複製されていきます。開発は架空のデータで行い、実データは本番環境にだけ置きます。
開発とテストには架空の個人情報を使って。実在のデータは使わないで
認証を自作しない
ログイン機能には、パスワードの保存方法、総当たり攻撃への対応、パスワードリセットの安全な手順など失敗点が多く、失敗は全利用者へ一度に波及します。弊社では認証を自作せず、実績のある認証サービスやライブラリに任せます。
ログインは自作せず、実績のある認証の仕組みを使う構成にして。候補と理由を説明して
カード情報を自分のシステムに通さない
決済は決済代行サービスを使い、カード番号の入力画面ごと預けます。カード情報が自分のサーバーを経由・保存される構成には専門の安全基準(PCI DSS)への準拠が求められ、個人や小規模チームで担う範囲を超えます。販売には特定商取引法の表記など開発以外の義務もあるため、公開前に詳しい人へ確認します。