プライバシーポリシー
- 対象アプリ: OSHITOKI(推し刻)
- 運営者: 個人運営(運営者情報の取り扱いは「10. 保有個人データの開示等の請求」を参照)
- 施行日: 2026年10月3日
- お問い合わせ: OSHITOKI Support(oshitoki.support@gmail.com)
1. 基本方針
OSHITOKI(以下「本サービス」)は、サービス提供に必要な範囲を超えてユーザーの情報を収集しません。ユーザーが登録した推し・思い出・メモ・画像・URLなどの内容や、ユーザーの個人データを、広告目的で第三者へ販売することはありません。
ユーザーが入力したメモ本文、タイトル、URL、画像の保存パス、メールアドレスなど、ユーザーが自由に記述・入力した内容そのものを、Analytics(利用状況分析)へ送信する実装にはなっていません。本サービスのアカウント識別子(ユーザーID)もAnalyticsへ送信しません。もっとも、現在はAndroid・Webのいずれでも、年齢を問わず全ユーザーについてAnalytics・Crashlyticsによる情報収集自体を初回起動時から停止しており、分類値のみのカスタムイベントを含め、何も送信していません。詳細は「2.5 利用状況・障害情報」のとおりです。
2. 取り扱う情報
2.1 アカウント・認証情報
- 本サービスは初回起動時にSupabase Authの匿名認証(Anonymous Auth)で自動的に利用を開始します。この時点でメールアドレスやパスワードの入力は必要ありません。
- この匿名認証によるアカウント識別子(UID)の発行と認証セッションの確立は、アプリ起動時に自動的に行われ、後述の同意画面(利用規約への同意・プライバシーポリシーの確認)よりも前に完了します。同意画面の操作後は、このUIDに紐づけて、同意いただいた利用規約の版(version)・確認いただいたプライバシーポリシーの版(version)と、その操作日時(サーバー側で自動記録)を記録します。この記録は利用規約への同意・プライバシーポリシーの確認を管理するためのものであり、プライバシーポリシーを確認いただいたこと自体が、Cookie・第三者提供など個別の処理について法令上必要な同意を包括的に代替するものではありません。
- ユーザーが任意でGoogleアカウントと連携する場合、Google認証(OAuth)を通じて、Googleアカウントのメールアドレス、氏名(Googleアカウントに設定された名前)、プロフィール画像のURL、およびGoogleアカウントの識別子を取得し、アカウントの識別・連携のために認証基盤(Supabase Auth)に保存します。連携後も本サービス内のアカウント識別子(ユーザーID)は連携前と同一に維持され、匿名時代に登録した推し・出来事・思い出はそのまま保持されます。
- Google連携は機種変更・再インストール後のアカウント復元のために利用します。
- 連携しようとしたGoogleアカウントが既に別のアカウントと連携済みだった場合など、アカウントの切り替えが必要な場面では、切り替え処理に必要な範囲で、連携元・連携先のアカウント識別子を記録することがあります。
- Googleと連携していないアカウントで、Webからの削除に備えて削除キーを発行した場合、削除キーそのものではなく、照合用の一方向の値(復元できない値)をサーバーに保存します。この値はアカウント削除時に削除されます。
- Web上の削除ページでGoogleログインを行った場合、本人確認のため、前記と同じ範囲のGoogleプロフィール情報を取得します。本サービスと連携していないGoogleアカウントでログインした場合は、そのGoogleアカウントに紐づくデータのないアカウントが作成され、そのまま削除できます(詳細は「7. アカウントの削除」を参照)。
2.2 ユーザーが登録するコンテンツ
- 推し(推しの名前、任意で登録する画像)
- 出来事(配信・SNS投稿・ライブ・イベント・聖地巡礼などの種別、タイトル、日時、URL)
- 思い出(カテゴリ、メモ、動画の再生時間、任意で登録する画像)
これらはすべてユーザー自身が入力・登録する内容です。
2.3 URL metadata取得のための情報
出来事の登録時にユーザーが任意でURLを入力すると、本サービスはSupabaseのEdge Function(url-metadata)を通じて、そのURLのタイトル・サムネイル等のmetadataを取得し、入力の補助に利用します。取得のため、入力されたURL自体を処理し、必要に応じてそのURLが指す外部サイト(YouTube等の動画提供元を含む、ユーザーが入力したURL先のWebサイト)へアクセスします。
また、取得したサムネイル画像の表示時や、記録したURLから元のコンテンツを開く操作を行った場合は、このEdge Functionを経由せず、ご利用の端末から直接その画像・Webサイトへアクセスします。この際、アクセス先のサイトへ端末のIPアドレス等の通信情報が送信される場合があります。
2.4 ユーザーが登録する画像
推し・出来事・思い出には、ユーザーが任意で画像を登録できます。登録された画像はSupabase Storage上のprivateなbucket(user-images)に保存され、後述「8. セキュリティ」のアクセス制御のもとで管理されます。
2.5 利用状況・障害情報
本サービスはFirebase Analytics(Google Analytics for Firebase)およびFirebase Crashlyticsに対応したライブラリを組み込んでいますが、現在は年齢を問わず全ユーザーについて、アプリの初回起動時からこれらによる情報収集を停止しています。
- Android: manifestの設定でAnalytics・Crashlytics・Firebase Sessionsの収集を無効化したうえで、起動時に過去のバージョンが残した可能性のある送信待ちデータ(DataTransportの送信キューと、それを送信するスケジューラ)を消去し、未送信のクラッシュレポートも削除します。
- Web: Firebase JavaScript SDK自体を初期化しないため、Analytics・Crashlyticsへの通信は発生しません。
- いずれの環境でも、画面表示や保存操作などの利用状況を示すカスタムイベントは現在送信していません。これらの収集を将来再開する場合にどのような項目を送信する設計にするかは現時点で未確定です(再開時の方針は本項末尾を参照)。
- Firebase Crashlytics・Firebase Sessionsのネイティブ部分はこのアプリの実装ではなくFirebase SDK自身によって組み込まれており、収集を無効化していても、クラッシュ発生時のセッション情報やクラッシュ情報を端末内のアプリ領域に一時的に書き込む場合があります。本サービスが起動時に削除しているのは、Crashlyticsが端末内に保持する未送信のクラッシュレポートと、前述のDataTransport送信キューに限られます。Firebase Sessionsが端末内に書き込むファイルそのものを本サービスが削除する実装ではありません。
- 以上の対応は、Firebase(Firebase Analytics / Crashlytics / Sessions)への通信・識別子の取得・診断情報の記録が一切発生しないことを保証するものではありません。Firebase SDK自体・そのネイティブ初期化処理はアプリに残っており、「Firebaseを使用していない」とは言えません。
- 将来、品質改善等の目的でこれらの収集を再開する場合は、適用法令やFirebase(Google)側の提供条件を確認したうえで、適切な方法での案内や、必要な場合は改めての同意取得を経て、本ポリシーを変更します。現時点でこれらの収集を再開するための操作や設定はアプリ内に用意されていません。
- 同意画面の共通の操作(同意して進むボタン等)は、利用規約への同意・プライバシーポリシーの確認であり、Analytics・Crashlyticsなど非必須の情報収集に対する同意(オプトイン)として扱うものではありません。
- Androidアプリでは広告ID(Advertising ID)を収集しない設定とし、Analyticsの広告パーソナライズ用の信号も無効にしています。
2.6 お問い合わせの情報
サポートへメールでお問い合わせいただいた場合、送信元メールアドレス、お問い合わせ内容、および任意で記載されたアプリ・端末のバージョン情報を、回答・不具合調査のために取得します。お問い合わせメールの送受信にはGoogleのGmailを利用します。お問い合わせの方法はサポートを参照してください。
2.7 情報の保存先と国外での取り扱い
- 本サービスのデータベース・認証情報・登録画像の主な保存先は、Supabaseの日本(東京)リージョンです。ただし、Supabaseは外国の事業者であり、運用・保守・障害対応等のために、日本国外を含む地域で情報が取り扱われる場合があります。
- Supabaseは、認証(Auth)へのアクセス・操作について、Supabase側のプラットフォーム機能として監査ログ(audit log)を記録しており、これは本サービス側の設定で停止・無効化できません。これに加えて、API・データベース・Edge Functionの呼び出しについても、アクセス元IPアドレス、リクエスト・レスポンスの内容、HTTPステータス、応答時間、User-Agent等を含み得る運用ログが記録される場合がありますが、記録される項目や保持可否はSupabase側のプロジェクト設定・プランにも依存し、本サービスは現行のProduction環境で実際に有効な設定・記録されている項目・保持期間のすべてを確認済みとは述べません(保持期間は「6. 保存期間・削除」を参照)。IPアドレスから国・地域が推定される場合がありますが、これは「2.5」に記載したFirebase由来のおおよその位置情報とは別の仕組みによるものです。
- 障害復旧のためのバックアップは、GitHub Actionsのrunner上でSupabaseの本番データベースと登録画像を読み取り、その場で暗号化したうえでCloudflare R2へ保管します。暗号化前の情報はこのrunner上で一時的に処理されます。保存場所としてアジア太平洋地域を指定していますが、この指定は日本国内での保存を保証するものではありません。
- Googleアカウント連携の認証処理、およびお問い合わせメールは、Googleが運用する日本国外を含むサーバーで処理されます。Firebase Analytics / Crashlyticsは現在収集を停止していますが(「2.5」参照)、収集停止前の過去のバージョンで送信済みだった情報が残っている場合は、Googleが運用する日本国外を含むサーバーで保持されることがあります。
- これらの外国の事業者と、本サービスが講じている安全管理措置は「4. 外部サービスの利用」に記載しています。ご本人から求めがあった場合は、法令上必要な範囲で、外国での取り扱いや講じている措置について情報を提供します(「12. お問い合わせ」の窓口へご連絡ください)。
3. 利用目的
取得した情報は、次の目的にのみ利用します。
- 推し・出来事・思い出の保存、表示、編集、削除
- Googleアカウント連携後の、同一アカウントでのデータ復元
- URL metadataによる入力補助
- 不具合の調査・修正、品質改善
- 保存・再訪といった本サービスの中心的な体験が利用されているかどうかの利用傾向分析(実施する場合、ユーザーが自由に記述・入力した内容はAnalyticsへ送信しない形で行います。現在はAnalyticsによる収集自体を停止しているため、この分析は行っていません。詳細は「2.5」を参照)
- お問い合わせへの回答
- 不正利用の防止・セキュリティ対応
- 障害発生時のデータ復旧
4. 外部サービスの利用
4.1 本サービスの提供に利用する外部サービス
本サービスは、次の外部サービスを利用して提供されています。
| サービス | 提供者 | 用途 | 主な保存・処理地域 | プライバシーポリシー |
|---|---|---|---|---|
| Supabase | Supabase, Inc.(米国) | 認証(Auth)、データベース、画像ストレージ(Storage)、URL metadata取得・アカウント削除等のサーバー処理(Edge Functions)。アクセス元IPアドレス等の運用ログを含みます(「2.7」参照) | 日本(東京リージョン)。運用等のため日本国外で取り扱われる場合があります | https://supabase.com/privacy |
| Firebase(Google Analytics for Firebase、Firebase Crashlytics) | Google LLC(米国) | 利用状況分析・クラッシュ情報収集用のライブラリを組み込み。現在は収集を停止しており、現時点では情報を送信していません(「2.5」参照) | 日本国外を含むGoogleの拠点 | https://policies.google.com/privacy |
| Googleアカウント(OAuth) | Google LLC(米国) | Googleアカウント連携・Web削除ページでの本人確認 | 日本国外を含むGoogleの拠点 | https://policies.google.com/privacy |
| Gmail | Google LLC(米国) | お問い合わせメールの送受信 | 日本国外を含むGoogleの拠点 | https://policies.google.com/privacy |
| GitHub Actions | GitHub, Inc.(米国) | 障害復旧用バックアップ処理(本番データベース・画像の読み取りと、R2保管前の暗号化)。暗号化前の情報を一時的に処理します(「2.7」参照) | 処理実行中のGitHub Actions runner上 | https://docs.github.com/site-policy/privacy-policies/github-general-privacy-statement |
| Cloudflare R2 | Cloudflare, Inc.(米国) | 障害復旧用バックアップの暗号化保管 | アジア太平洋地域を指定(日本国内保存の保証ではありません) | https://www.cloudflare.com/privacypolicy/ |
Google Analyticsについては、任意のデータ共有設定(「Googleのプロダクトとサービス」「モデリングのためのデータ提供とビジネス分析情報」「テクニカルサポート」「ビジネスの最適化案」)をすべて無効にしています。
本サービスは、これらの外部サービスを各提供者の利用規約・データの取り扱いに関する条件に基づいて利用し、次の安全管理措置を講じています。
- 各サービスの管理画面・管理用の鍵へのアクセスを運営者に限定し、不要になった権限や一時的な鍵は削除・失効させます。
- データベースと画像にはユーザーごとのアクセス制御(Row Level Security、非公開のStorage bucket)を適用しています。
- バックアップはGitHub Actionsのrunner上で暗号化してから、非公開の保存先(Cloudflare R2)に保管しています。
- 各提供者へは、各サービスを機能させるために必要な情報だけを送信します。
4.2 ユーザーが入力したURLの提供元
出来事の登録時にユーザーが入力したURL(YouTube等の動画サービスを含む、任意のWebサイト)は、本サービスの処理委託先ではなく、ユーザー自身が指定した外部サイトです。metadataの取得や、記録した元のコンテンツを開く操作のために、これらの外部サイトへアクセスします(詳細は「2.3 URL metadata取得のための情報」を参照)。これらの外部サイトにおける情報の取り扱いは、各サイトの運営者が独自に定めるものであり、本サービスの管理は及びません。
5. 外部サービスへの情報の送信
法令に基づく場合を除き、ユーザーの情報を広告目的や独立した事業者への販売のために提供することはありません。
本サービスは、上記「4. 外部サービスの利用」に記載したクラウド・認証・分析等の外部サービスを利用して提供されており、これらのサービスを機能させるために必要な情報が、各サービス提供者へ送信・処理される場合があります。各サービス提供者における情報の取り扱いは、それぞれの利用規約・プライバシーポリシーに従います。
現在Firebase Analytics / Crashlyticsへは情報を送信していません(「2.5」参照)。GitHub Actionsは、障害復旧用バックアップの処理のために、暗号化前の本番データベース・画像情報を一時的に処理します(「2.7」参照)。
6. 保存期間・削除
- ユーザーがアプリ内で削除した推し・出来事・思い出・画像は、稼働中のサービス(データベース・Storage)から削除されます。画像の削除処理は、他の操作を止めないようベストエフォートで行われ、まれに稼働中のStorageに削除しきれない画像が残る場合がありますが、その場合もアカウント削除時にはユーザーの画像をあらためて全件確認し、削除します。
- アカウント削除時に削除される対象・手順は「7. アカウントの削除」を参照してください。
- 障害からの復旧のため、データベースと登録画像のバックアップを1日1回取得し、暗号化したうえで非公開の保存先に保管しています。バックアップは取得から30日経過後に自動的に削除されます。このため、アプリ内またはWebで削除したデータ・アカウントが、削除後最大30日間バックアップ内に残る場合があります。バックアップは障害復旧の目的にのみ使用します。
- 本サービスは現在Firebase Crashlytics / Google Analyticsへ情報を送信していません(「2.5」参照)。以下の保持期間は、収集停止前の過去のバージョンが送信済みだった情報がGoogle側に残っている場合に適用されるGoogle側の設定であり、本サービスはその情報がすでに消去済みであるとは断定しません。この設定自体を本サービス側で変更したものではありません。
- Firebase Crashlyticsのクラッシュ情報(スタックトレースと関連する識別子)は、Googleの定める保持期間(90日)の経過後、Googleの手順に従って削除されます。
- Google Analyticsのデータ保持期間は、イベント単位のデータを2か月、ユーザー単位のデータを14か月に設定しています。ユーザー単位のデータの保持期間は、新たな利用があるたびにその時点から数え直されます。保持期間を過ぎたデータはGoogleの手順に従って削除されますが、個人を識別しない集計済みのレポートは保持期間の対象外として残る場合があります。
- Supabaseが記録する認証・API・データベース・Edge Function等の通常のログ(アクセス元IPアドレス、リクエスト・レスポンスの内容、応答時間、User-Agent等を含み得ます)は、現在の利用プランでは原則として24時間保持される設定です。ただし、本サービスは実際のProduction環境で記録される項目・保持期間のすべてを確認済みとは述べません。
- 各提供者が自社の運用のために保持する情報の取り扱いは、各提供者の定めに従います。
- Web上の削除ページで不正な試行を防ぐために用いる、アクセス元IPアドレスやAccount IDから算出した復元できない値(試行回数とともに記録します)は、記録から1日を経過したものを、その後に削除ページで本人確認または削除が要求された際に削除します。
- お問い合わせメールは、回答・対応に必要な期間保管し、不要になったものは削除します。
- 法令、セキュリティ、不正利用防止等の理由で情報の保持が必要になった場合は、その対象と期間を本ポリシーに明示します。
7. アカウントの削除
Google Playの現行のUser Dataに関するポリシーに合わせ、次の2つの削除導線を提供します。
- アプリ内: アプリ右上の設定(歯車)アイコンから「データの削除」→「アカウントを削除」を選択することで、アカウント削除を開始できます。
- アプリ外: アプリをインストールしていなくても、公開Webページ上で本人確認のうえ削除できます。匿名アカウントはアプリに表示される Account ID と削除キーで、Google連携アカウントはGoogleログインで本人確認します。削除キーそのものはサーバーに保存せず、照合用の一方向の値だけを保存します。Web上での本人確認時、入力された削除キーは暗号化された通信で送信して照合しますが、データベースやログには保存しません。本サービスと連携していないGoogleアカウントでログインした場合は、そのGoogleアカウントに紐づくデータのないアカウントだけが削除の対象となり、以前に使っていた本サービスのアカウントやデータは削除されません。削除キーを控えておらず、Googleとも連携していないアカウントは本人確認ができないため、Webやお問い合わせからは削除できません(アプリ内からは削除できます)。不正な試行を防ぐため、アクセス元IPアドレスやAccount IDから算出した復元できない値を試行回数の制限に利用します(保持期間は「6. 保存期間・削除」を参照)。詳細はアカウントの削除についてを参照してください。
アカウント削除は単なるログアウトや一時停止ではなく、次のデータの削除を含みます。
- Supabase Auth上のアカウント(ユーザー識別子、Googleプロフィール情報を含む認証情報)
- ユーザーが登録した推し・出来事・思い出(データベース上の記録)
- ユーザーが登録した画像(Storage上の
user-images) - Webからの削除に用いる削除キーの照合用の値
Googleアカウントと連携していた場合でも、削除されるのは本サービス側のアカウントとデータのみであり、Googleアカウント自体は削除されません。削除後は、同じGoogleアカウントで再度本サービスを利用しても、削除前のデータは復元されません。
一方で、削除前に送信されたFirebase Analytics / Crashlyticsの情報、本サービス運用のためのサーバーログ、およびバックアップに残るデータは、アカウント削除操作の対象に含まれず、「6. 保存期間・削除」に記載した期間の経過後に削除されます。
8. セキュリティ
- 通信はTLS等により暗号化された経路を利用します。
- ユーザーが登録した画像は非公開(private)のStorage bucketに保存され、他のユーザーの画像へはアクセスできないアクセス制御(Row Level Security)が適用されています。
- Supabaseの
service_roleキー等のシークレット情報をアプリ本体(クライアント)へ組み込むことはありません。 - バックアップは非公開の保存先に、暗号化した状態で保管しています。
9. お子様のプライバシーについて
- 本サービスは13歳以上の方を対象としており、13歳未満の方を対象としていません。対象には13歳以上18歳未満の方が含まれます。
- 本サービスは子ども向けを主な目的としたサービスではありません。
- 本サービスは利用者の年齢や生年月日を取得しません。年齢にかかわらず、本ポリシーに記載した範囲を超えて情報を収集せず、広告目的での利用や個人データの販売は行いません。Androidアプリでは広告IDを収集しません。
- 非必須のAnalytics(利用状況分析)・Crashlytics(障害情報収集)による情報収集は、年齢を問わず全ユーザーについて初回起動時から停止しています。詳細は「2.5 利用状況・障害情報」を参照してください。
- 13歳未満の方が本サービスを利用していることに気付いた場合は、アプリ内の設定またはアカウントの削除についてのページからアカウントを削除するか、OSHITOKI Support(oshitoki.support@gmail.com)へご連絡ください。
10. 保有個人データの開示等の請求
本サービスは個人が運営しています。運営者の氏名・住所・電話番号は公開ページに常時掲載していません。法令上必要な場合は、適法な請求に対し、必要な範囲で、下記の窓口を通じて個別に回答します。
個人情報保護法に基づき、ユーザーはご自身の情報について、利用目的の通知、開示、訂正・追加・削除、利用停止・消去、第三者提供の停止、外国にある第三者への提供に関する情報の提供等を請求できます。請求はOSHITOKI Support(oshitoki.support@gmail.com)へメールでご連絡ください。
- 本人確認は、Googleアカウント連携、アプリに表示される Account ID と削除キーなど、本サービスがすでに保有している情報を用いる方法を優先します。
- 氏名・住所の提出や本人確認書類の提出を、標準的な要件とはしません。
- 上記の方法で確認できない場合に限り、確認に必要な最小限の追加情報をお願いすることがあります。
- 本人確認に不要な書類は取得・保存しません。
11. 本ポリシーの変更
取り扱う情報、利用する外部サービス、データの取り扱い方針に変更がある場合は、本ポリシーを更新し、重要な変更についてはアプリ内または公開ページで案内します。
12. お問い合わせ
本ポリシーに関するお問い合わせは、OSHITOKI Support(oshitoki.support@gmail.com)へメールでご連絡ください。詳しくはサポートを参照してください。