NeuralOS
GuideIntermediate

Appleにアプリを落とされずにアカウントを削除させる · 5.1.1ルールを正しく実装する

ついに最後までたどり着いた。アプリはApp Storeに公開できる状態だ。そこでAppleが、あなたが知りもしなかった理由でリジェクトしてくる。2022年6月以降、アプリでアカウントを作成できるなら、アプリ内から削除もできなければならない(ルール5.1.1 v) — 無効化するだけではカウントされない。「手っ取り早く準拠する」ためにSNSで出回っているアドバイス(ユーザーのデータを隠すだけ)は二重の罠だ:ヨーロッパのGDPRとカリフォルニアのCCPAに違反し、しかもAppleは結局リジェクトする。ここでは唯一の正しいやり方を紹介する:データベースを壊さずに個人データを本当に削除し、Appleが要求する場所にボタンを置き、そのまま貼れるプロンプトを用意し、途中でお金を失わないようにサブスクリプションのケースを扱う方法まで。

Jun 19, 202610 min
これは誰のため?
ユーザーアカウントを持つアプリ(特にiOS)を公開しようとしている人すべてのため — プログラミングは不要。アプリで登録できるなら、Appleはこれを絶対に要求してくる。リジェクトを食らって何日も失うより、最初から正しくやったほうがいい。

これはいつ現れる?(そしてなぜ不意打ちを食らうのか)

タイミングはいつも同じで、いつも痛い:アプリを完成させ、App Storeの審査に提出し… そしてルール5.1.1でリジェクトされる。不意打ちを食らう理由は、AIが構築するとき、アカウントを作成してアプリを使うフローに集中するからだ — 削除するフローはほとんど考えない。これは法律とAppleの要件であり、公開前にあなた自身が明示的に指示しなければならない。

ルールを具体的に(Apple 5.1.1 v)
アプリでアカウントを作成できるなら、アプリ内からそのアカウントの削除を開始できなければならない。 「無効化」や「一時停止」だけではダメ。ユーザーをメールや外部フォームに誘導するのもダメ(銀行や医療のような規制の厳しい業界を除く)。ボタンは見つけやすく、通常は設定内にあること。

あなたを二度落とす罠

毒であるSNSのアドバイス
こんなのが出回っている:「手っ取り早く準拠するには、アカウントは残して名前とメールを隠せばいい」。やってはいけない。 隠すことは削除ではない:(1) ヨーロッパのGDPRとカリフォルニアのCCPAに違反し —これらは個人データの本当の削除を要求する— 罰金のリスクにさらされる。そして (2) Appleが検知すれば結局リジェクトする。両方で負けることになる。

正しいやり方 · ソフトデリート + 匿名化

ここに、本当に機能するバランスがある。実際の技術的問題はこうだ:ユーザーを「乱暴に」削除すると、データベースが壊れる(注文やコメントなどが、もう存在しないユーザーを指したままになる)。プロフェッショナルな解決策:個人データは本当に削除する(名前、メール、写真、電話番号)が、リレーションを壊さないよう、その場所に匿名の抜け殻を残す。個人的なものは永遠に消え去り、データベースの整合性は保たれる。

こうイメージしよう
従業員が会社を去るときのようなものだ:システムから個人データは削除するが、その人が携わったプロジェクトは消えてなくならない — 「元従業員」とマークされて残る。仕事は残り、人は匿名化される。それが匿名化を伴うソフトデリートだ。

Appleと法律が求める3つのピース

あなたの削除機能が備えるべきもの
「アカウントを削除」ボタン が見つけやすく、アプリ内にある(通常は設定内)。
個人データの本当の削除:名前、メール、写真、電話番号 — 不可逆的に匿名化する。
認証システムでも削除(あなたのユーザーテーブルだけでなく、Supabase Auth / ログインプロバイダーでも)。

マスタープロンプト · あなたのAIに頼もう

このプロンプトは、データベースを壊さずにルールと法律を守るために必要なすべてをAIに頼むものだ。コピーして貼り付けよう:

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. 監査ログに、アカウントが削除されたこと(個人データなし)を記録して。法律が証明を求めた場合に備えて。

マイグレーション、匿名化関数、ボタンのコンポーネントを出し、各パートが何をするかシンプルなステップで説明して。

ほとんど誰も扱わないケース · サブスクリプション

削除時にお金を失わない(法律も破らない)
削除するユーザーがアクティブなサブスクリプションを持っている場合、罠が2つある:去った後も課金を続けること(法的・評判の問題)、または法律が何年も保存を義務づける請求記録を削除すること。ルール:削除時にサブスクリプションをキャンセルするが、匿名化した会計記録は保持する(個人データなし)。頼めばAIが扱ってくれる — だからプロンプトに入っている。

正しくできたか確認する方法

審査に提出する前のチェックリスト
ボタンがアプリ内で簡単に見つかる(外部Webに隠れていない)。
削除後、個人データがデータベースにもう存在しない(手動で確認する)。
ユーザーが認証システムからも消える(再ログインできない)。
残したもの(注文、コメント)が何も壊れていない — 匿名の作成者のまま残っている。
サブスクリプションがあった場合、キャンセルされ、個人データなしの会計記録が残っている。
法的助言ではない
このガイドは、Appleのルール5.1.1とGDPR/CCPAの削除原則を守るために推奨される技術的な実践を説明するものだ。あなたの具体的なケース(特に機微なデータを扱う場合や規制業界にいる場合)については、法律の専門家に相談すること。
NeuralOSでは、正しい削除機能が最初から含まれている
NeuralOSで構築するアプリは、アカウント削除フローが最初から準拠済みで生まれる — 設定内のボタン、匿名化、認証での削除 — これでこの理由でリジェクトされることはない。公開前に心配することが1つ減る。
アプリを守る · 公開前の3つの鍵
本番リリース前のもう1つの必須要件:RLS、CORS、そしてセキュリティヘッダー。
#app-store#gdpr#borrar-cuenta#cumplimiento
Ready to build?

Start building in
under 3 minutes

Join 4,200+ builders. No credit card. Build your first app with AI in minutes.