ついに最後までたどり着いた。アプリはApp Storeに公開できる状態だ。そこでAppleが、あなたが知りもしなかった理由でリジェクトしてくる。2022年6月以降、アプリでアカウントを作成できるなら、アプリ内から削除もできなければならない(ルール5.1.1 v) — 無効化するだけではカウントされない。「手っ取り早く準拠する」ためにSNSで出回っているアドバイス(ユーザーのデータを隠すだけ)は二重の罠だ:ヨーロッパのGDPRとカリフォルニアのCCPAに違反し、しかもAppleは結局リジェクトする。ここでは唯一の正しいやり方を紹介する:データベースを壊さずに個人データを本当に削除し、Appleが要求する場所にボタンを置き、そのまま貼れるプロンプトを用意し、途中でお金を失わないようにサブスクリプションのケースを扱う方法まで。
タイミングはいつも同じで、いつも痛い:アプリを完成させ、App Storeの審査に提出し… そしてルール5.1.1でリジェクトされる。不意打ちを食らう理由は、AIが構築するとき、アカウントを作成してアプリを使うフローに集中するからだ — 削除するフローはほとんど考えない。これは法律とAppleの要件であり、公開前にあなた自身が明示的に指示しなければならない。
ここに、本当に機能するバランスがある。実際の技術的問題はこうだ:ユーザーを「乱暴に」削除すると、データベースが壊れる(注文やコメントなどが、もう存在しないユーザーを指したままになる)。プロフェッショナルな解決策:個人データは本当に削除する(名前、メール、写真、電話番号)が、リレーションを壊さないよう、その場所に匿名の抜け殻を残す。個人的なものは永遠に消え去り、データベースの整合性は保たれる。
このプロンプトは、データベースを壊さずにルールと法律を守るために必要なすべてをAIに頼むものだ。コピーして貼り付けよう:
私のアプリのアカウント削除を、Appleのルール5.1.1とGDPR/CCPAに準拠して実装して。私のスタック:[スタックを記入、例:Supabase + Next.js]。 1. 設定内に「アカウントを削除」ボタンを、見つけやすく作って。 2. 削除前に、明確な確認(これは不可逆)を表示し、必要なら本人確認(メール/電話へのコード)を求めて。 3. 個人データ(名前、メール、写真、電話番号)を不可逆的にANONYMIZE(匿名化)するSOFT DELETEを実行して。隠すのではなく、匿名の値(例:「削除済みユーザー」)またはNULLに置き換えて。 4. 外部キーを壊さないよう抜け殻を残して(その人の注文/コメントが落ちないように)。 5. 認証システムのアイデンティティも削除して(例:Supabase Authのadmin deleteUser)、私のテーブルだけでなく。 6. ユーザーがアクティブなSUBSCRIPTION(サブスク)を持っている場合、削除前に通知し、課金を続けず、かつ法律が保存を義務づける請求記録も失わないよう、キャンセルの扱い方を教えて。 7. 監査ログに、アカウントが削除されたこと(個人データなし)を記録して。法律が証明を求めた場合に備えて。 マイグレーション、匿名化関数、ボタンのコンポーネントを出し、各パートが何をするかシンプルなステップで説明して。
Join 4,200+ builders. No credit card. Build your first app with AI in minutes.