プライバシーポリシー

最終更新: 2026年8月18日

うたエモ(UTAEMO)(以下「本サービス」)は、利用者のプライバシーを尊重します。本ポリシーは、2026年8月時点の実装(GitHub Pages + Cloudflare Workers + D1)に基づき、本サービスで取り扱う情報を説明するものです。

本ポリシーは、Google 社のプライバシーポリシーとは別のものです。Google ログインを利用する場合は、Google 側の取り扱いについてもGoogle プライバシーポリシーをご確認ください。

1. 取得・保存する情報の概要

本サービスでは、Google Analytics 等のアクセス解析ツールは利用していません。

2. Google ログインで取得する情報

Google 管理を選んだ場合、Google Identity Services(OAuth)により認証します。スコープは openid email profile です。

本サービスの API サーバーは、Google から次の情報を受け取り、D1 データベースの users テーブル等に保存します。

どの Google アカウントがどの公開ページ ID を管理しているかは、streamer_owners テーブルに保存します。

Google ログインは、公開ページの編集権限の確認に使用します。リスナー(公開ページの閲覧者)の Google 情報は取得しません。

3. 認証情報(Cookie・トークン)

3-1. セッショントークン(JWT)

Google ログイン成功時、API サーバーは署名付き JWT を発行します。有効期限はコード上 30 日間(2,592,000 秒)です。

GitHub Pages(utalis.github.io)から API(utaeru-api.manabit.workers.dev)へはクロスサイト通信となるため、ブラウザの sessionStorage(キー: utaeru_access_token)にもトークンを保持し、API リクエスト時に Authorization: Bearer ヘッダーで送信します。

3-2. Cookie(utaeru_session)

API サーバーは、ログイン時に utaeru_session Cookie も設定します(HttpOnly、Secure、SameSite=None、Max-Age=2592000)。クロスサイト環境では Cookie だけでは認証が不安定な場合があるため、上記 sessionStorage 方式を併用しています。

ログアウト時、API の POST /api/auth/logout により Cookie は削除され、端末内の utaeru_access_token も削除されます。

3-3. 編集キー(sessionStorage)

匿名作成・編集キー管理を選んだ場合、発行された編集キーの平文は sessionStorage(キー: utaeru_edit_key:{公開ページID})に保存されます。タブを閉じると消える一時保存です。サーバーにはハッシュ値のみ保存します。

4. 端末内保存(localStorage)

ビルダー画面(index.html)では、次を localStorage に保存します。いずれも端末内のみで、Google アカウントのクラウド下書きではありません。

下書きは別端末へ自動同期されません。ブラウザのデータ削除、端末変更、プライベートブラウズ終了等により失われる場合があります。

5. 端末内保存(sessionStorage)

sessionStorage はタブを閉じると消えます(Undo データも同様)。

6. サーバー(D1)に保存する情報

6-1. 公開データ(streamers テーブル)

オンライン公開時、次を JSON 形式で public_data 列に保存します。

あわせて、公開ページ ID、作成日時、更新日時を保存します。削除時は deleted_at を記録します(ソフト削除)。

6-2. Google 利用者(users / streamer_owners)

第 2 章のとおり。Google アカウント情報の削除は、ビルダー画面のアカウント設定から DELETE /api/auth/account により行えます。所有している公開ページがある場合は、先に各ページの Google 管理を解除する必要があります(公開中のページは編集キー方式への移行、削除済み・ID 予約中のページは Google 管理の解除のみ)。

6-3. 編集キー(streamer_edit_keys)

編集キーの SHA-256 ハッシュ(サーバー秘密値と組み合わせて計算)。平文は保存しません。Google 連携後は無効化(revoked_at)されます。

7. 保存しない情報

書き込み系 API のレート制限では、Cloudflare Workers 上で短時間のリクエスト元 IP(CF-Connecting-IP)を判定に利用しますが、D1 へ恒久保存はしません。

8. 利用目的

9. 第三者への提供

法令に基づく場合を除き、利用者の個人情報を第三者へ販売または提供することはありません。

公開した曲リストは、公開 URL から誰でも閲覧できる状態になります。公開内容に個人情報を含めないようご注意ください。

10. 外部サービス

11. データの削除

利用者は、Google 管理または編集キー認証により公開ページを削除できます。削除後も、公開ページ ID の予約等のため、識別子・削除日時・サーバー上の JSON 等が保持される場合があります。詳細は利用規約を参照してください。

端末内の下書きは、ブラウザの設定から利用者自身が削除できます。Google ログアウトにより、端末内のセッショントークンと Google 編集対象 ID の記録は削除されます(下書き localStorage 自体は残る場合があります)。

Google アカウント情報を削除した場合、サーバー上の users レコード等が削除され、端末内のセッショントークンと Google 編集対象 ID の記録も解除されます。端末内下書き(utalis_draft_v1)は削除されません。公開ページ本体は、アカウント情報の削除だけでは自動削除されません。

12. セキュリティ

通信は HTTPS を利用します。編集キーはサーバー側でハッシュ化して保存します。ただし、完全な安全性を保証するものではありません。編集キーは第三者に知られないよう厳重に管理してください。

13. 未成年者

未成年者が本サービスを利用する場合は、保護者の同意を得たうえで利用してください。

14. 本ポリシーの変更

必要に応じて本ポリシーを変更できます。変更後の内容は、本ページに掲載した時点から適用されます。

15. お問い合わせ

本ポリシーに関するお問い合わせは、お問い合わせページをご覧ください。