10 本のアプリでコンプライアンスを整然と保つ
アプリごとに本当に必要なもの、共有できるもの、ポートフォリオにありがちな 2 つの間違い、毎年の大慌てを半日の作業に変える管理表。
作業量は線形には減りません。アプリごとにストアの掲載情報があるので、それぞれに専用の URL、削除の経路、申告が必要です。規模に応じて効くのは方法のほうです。1 つのホスト名のパターン、ページの種類ごとに 1 つのテンプレート、そして記憶に頼らず再生成するアプリごとの依存関係リスト。
数分で済ませる方法もあります
AppFoyer は、このガイドで扱っているページ(プライバシーポリシー、利用規約、サポート、アカウント削除、そして app-ads.txt)を、専用のサブドメインでホストします。自分のドメインもサーバーも要りません。アプリ 1 つまでは無料で、ストアが求めるものが有料プランの壁の向こうに置かれることは決してありません。
2026年9月19日 に確認。 ストアのポリシーは、予告なく変わることもあります。以下の内容はすべて公式ドキュメントにリンクしており、拠り所となるのはこのページではなくそちらです。両者が食い違う場合は、ストアが正しいものとしてください。 このガイドは英語からの翻訳です。ストアのドキュメントからの引用は原文の英語のまま掲載しています。
アプリが 1 本ならチェックリストで済みます。10 本ならシステムが必要になり、失敗の形も変わります。どれも難しくはないのに、何かが常に少しずつ古くなっていて、それに気づくのは最も長く触っていなかったアプリのリジェクトによってです。
アプリごとに必要なもの
譲れない部分です。各アプリにはそれぞれのストアの掲載情報と、それぞれのデータの扱いがあるからです。
- プライバシーポリシー。 SDK の組み合わせが違えば開示内容も違います。「当社のアプリ」をまとめてカバーする共有ポリシーは、ポートフォリオの典型的な間違いです。下記を参照してください。
- アカウント削除ページと、あなたに届く経路を、アプリごとに。
- Data safety と App Privacy の申告。 掲載情報ごとに、そのアプリ自身の依存関係リストから記入します。
app-ads.txt(アプリが広告を表示する場合)— そのアプリの掲載ウェブサイトを通じて探されます。- URL そのもの。 掲載情報ごとに独自の項目があるためです。
本当に共有できるもの
- テンプレート。 すべてのプライバシーポリシーに 1 つの構成、利用規約に 1 つの構成を用意し、アプリごとに埋めます。
- ホスト名のパターン。 アプリごとに予測可能なアドレスがあるほうが、場当たり的な URL の寄せ集めより優れています。
- サポートアドレス(1 つの受信箱で本当に全アプリに対応できるなら)。
- SDK に関する知識。 Crashlytics や AdMob が何を収集するかは、どのアプリでも同じ事実です。違うのは、どのアプリがそれを含んでいるかだけです。
- プロセス — リリースチェックリスト、見直しの頻度、下記の管理表。
ポートフォリオにありがちな 2 つの間違い
全アプリで 1 つのポリシー。 わかりやすい節約ですが、両方向に失敗します。地味なユーティリティアプリが一切扱わないデータがポリシーに載り、最新のアプリが先月追加したものは抜けている。どちらも、正直に記入した Data safety フォームとの食い違いであり、両方を見比べる審査担当者には、このアプリについてのものではないポリシーに見えます。
どのアプリのものか誰も判別できない共有の削除受信箱。 「アカウントを削除してください」というリクエストが、10 本のうちどのアプリのことかわからないまま届きます。特定できないものには対応できず、それを調べている間も GDPR の期限は進んでいます。各アプリのリクエストを振り分け、通知からアプリがすぐわかるようにしてください。
管理表
ポートフォリオを管理可能にするのは、実際にメンテナンスする 1 つの表です。スプレッドシートで十分です。アプリごとに 1 行、列は次のとおりです。
| 列 | 理由 |
|---|---|
| アプリ名、bundle / application id | 識別 |
| 掲載しているストア | 更新すべきコンソールの数が決まる |
| プライバシーポリシーの URL | 貼り付け、また貼り付けるもの |
| アカウント削除の URL | 同上 |
| サポートアドレス / ページ | 同上 |
| 申告済みのデベロッパーウェブサイト | app-ads.txt が探される場所 |
| 広告を表示するか | app-ads.txt がそもそも該当するか |
| アカウントがあるか | 削除がそもそも該当するか |
| 主な SDK | 依存関係リストの要約 |
| ポリシーの最終見直し日 | 何が古いかを教えてくれる日付 |
存在意義があるのは最後の列です。両ストアとも、申告がリリース時に正確だったことだけでなく、正確であり続けることを求めています。「最終見直し日」があれば、10 本すべてを読まなくても、ずれてしまった 3 本を見つけられます。
うまくいく頻度
- リリースごと、アプリごと: 依存関係に変更はあったか。あれば、そのアプリのポリシーと両方のデータフォームを再確認します。記憶ではなくリリースチェックリストに入れてください。
- 四半期ごと、ポートフォリオ全体: 管理表を開き、「最終見直し日」で並べ替え、古いものからいくつか確認します。すべての URL がサインアウト状態でまだ 200 を返すことを確認します。
- URL が移るたびに: 影響を受けるすべてのアプリのすべてのコンソールを更新し、古いアドレスはリダイレクトさせ続けます。アプリが 10 本あると、これは 9 割まで終わったところで止まりがちな変更です。
管理表のすべての URL に curl を実行し、200 以外を報告する 10 行のスクリプトは半日あれば書けますし、実際に起きる失敗 — ホストがいつの間にか消えている — を捕まえてくれます。
AppFoyer がここで行うこと
各アプリはそれぞれ独立しています。専用のサブドメイン、専用の 5 つのページ、専用の app-ads.txt、専用の通知チャネル、専用のチェックリスト。間違えようのある共有ポリシーはなく、各アプリの削除リクエストはアプリが特定された状態で届きます。
ダッシュボードのチェックリストは、管理表の「生きた」半分です。アプリごとに、どのストアの項目がまだ空で、それがなぜ重要かを示すので、「何が古いか」は更新し忘れたスプレッドシートの列ではなく、画面で確認できます。プランの違いは公開できるアプリの数です。Free で 1 本、Pro で 10 本、Advanced で 50 本。
この限界についても正直に言っておきます。一括編集とアプリグループはまだ存在しません。 現時点で 15 本のアプリに広告ネットワークの行を追加するには、15 回の編集が必要です。この機能は計画されていますが、まだ提供されていません。ポートフォリオ向けツールを売り込むページは、そのうちどれが実在するのかを明言すべきです。
公式の情報源
- Provide information for Google Play’s Data safety section — Google Play Console ヘルプ。申告を正確に保つことについて
- App privacy details on the App Store — Apple。回答を最新に保つことについて
- Set up app-ads.txt — AdMob ヘルプ