日本語版

Livetable プライバシーポリシー

Livetable 運営(以下「当方」)は、Livetable(以下「本サービス」)における利用者の情報の取り扱いについて、 以下のとおりプライバシーポリシー(以下「本ポリシー」)を定めます。利用者は、本サービスの機能を利用する前に、 本ポリシーに同意する必要があります。

1. 本サービスと YouTube API Services

本サービスは YouTube API Services を利用しています。

本サービスを利用することにより、利用者は以下に同意したものとみなされます。

本サービスは、Google LLC および YouTube とは資本関係・提携関係のない独立したサービスです。

2. 収集する情報

区分具体的な項目取得元
Google アカウントの識別情報アカウント識別子(sub)、メールアドレスGoogle OAuth 2.0(openid、email スコープ)
YouTube の登録チャンネル一覧チャンネル ID、チャンネル名、チャンネルアイコンの URL、チャンネルの動画数(監視の見直しのため。登録している利用者がいなくなったチャンネルの値は 30 日以内に消します)。登録ごとの未視聴の動画数は取得しませんYouTube Data API subscriptions.list(https://www.googleapis.com/auth/youtube.readonly スコープ)。手動で監視に加えたチャンネルの名前とアイコンは channels.list(公開情報)
配信・動画のメタデータ動画 ID、タイトル、サムネイル URL、タグ、チャンネル名、配信予定時刻・開始時刻・終了時刻YouTube Data API playlistItems.list / videos.list、および YouTube の WebSub(プッシュ通知)
Twitch アカウントの識別子利用者の Twitch のユーザー ID、ログイン名(連携したときだけ。1 つの Twitch アカウントは 1 人の利用者だけが連携できるので、その照合にも使います)Twitch OAuth 2.0
Twitch のフォロー一覧フォローしているチャンネルのユーザー ID、ログイン名、表示名、アイコン URL。フォローした日時は保存しませんTwitch API(user:read:follows スコープ)
Twitch の配信情報配信 ID、タイトル、カテゴリ、タグ、サムネイル URL、開始・終了時刻、定期枠の予定(配信者の公開情報。受信の記録を含む)Twitch Helix API / EventSub
利用者が本サービス上で作成した情報「後で見る」に追加した項目、視聴済みの印、視聴履歴(識別子と日時)、「開始前に通知」を付けた枠(動画 ID と通知の予定時刻)、通知の設定、手動で監視に加えたチャンネル(チャンネル ID)本サービス
通知の宛先(ブラウザのプッシュ購読)プッシュサービスのエンドポイント URL と暗号鍵(p256dh / auth)、ブラウザの User-Agent(先頭 120 文字)利用者の端末(設定で「この端末でプッシュ通知」をオンにしたときだけ)
カレンダー購読トークン購読 URL に含まれるランダムな文字列(照合にはそのハッシュ値を使います)、発行日時、最終利用日時と利用回数本サービス(設定で「カレンダー購読」を発行したときだけ)
認証情報Google および Twitch のリフレッシュトークン、セッション識別子各 OAuth
利用の受け付けの記録利用開始の日時、利用開始の経路(招待の識別子など)、メールアドレスが Google で確認済みか本サービス

当方は、パスワードを取得しません。認証は Google および Twitch の OAuth 2.0 によって行われます。

3. 利用目的

  1. 利用者が登録・フォローしているチャンネルの配信予定と配信中の枠を、プラットフォームを横断して一覧表示するため
  2. 配信の開始・変更を検知して利用者に知らせるため
  3. 利用者本人の視聴履歴および「後で見る」の一覧を提供するため
  4. 本サービスの不具合調査、および API の利用量の管理のため
  5. 利用者の操作により、利用者のカレンダーへ予定を出力するため(予定ごとの追加と、カレンダー購読)
  6. 利用の受け付けの管理(招待制・人数の上限・利用の停止)のため

当方は、取得した情報を 利用者本人に対してのみ表示 します(利用者が自分の操作で登録したカレンダーサービスへの出力を含む。第 6 項)。他の利用者に見せること、 利用者を横断して集計・ランキング化することは行いません。

Livetable が Google API から受け取った情報の利用と、他のアプリへの移転は、 Google API サービスのユーザーデータに関するポリシー (「限定的使用」の要件を含む)に従います。

ただし、運営者は利用者の管理のために、利用者ごとの メールアドレス、利用開始の日時、最終ログインの日時、利用開始の経路、再ログイン待ちの状態と削除予定の日時 を管理画面で参照します。これらは他の利用者には表示しません。

4. 保存先

取得した情報は、Amazon Web Services の アジアパシフィック(東京)リージョン(ap-northeast-1) にある Amazon DynamoDB に保存します。生ログは同リージョンの Amazon S3 に 90 日間保存します。

AWS は当方の委託先(データ処理者)であり、第三者提供には当たりません。

通知(利用者が設定でオンにした場合)の本文は暗号化し、各ブラウザのプッシュサービス(Google / Apple / Mozilla / Microsoft)を 経由して端末へ届けます。プッシュサービスは本文を読めません(第 6 項)。

5. 保存期間

情報保存期間仕組み
配信・動画のメタデータ(タイトル、サムネイル URL、タグ、時刻)最終取得日時から 30 日。期間内に再取得されれば起算日が更新されるDynamoDB の TTL による自動削除
履歴表示用のタイトル・サムネイルのキャッシュ最終取得日時から 30 日DynamoDB の TTL による自動削除
登録チャンネル一覧・Twitch フォロー一覧30 日以内(今は 24 日)ごとに再取得し、取得できなくなった項目は削除する。Twitch のフォロー一覧は 6 時間ごとに取り直し、フォローを外したチャンネルは次の取り直しで削除する定期同期
手動で監視に加えたチャンネルチャンネル ID は利用者が外すまで(退会で削除)。チャンネル名とアイコンは 25 日ごとに再取得し、取得できなくなったら削除する利用者の操作 + 定期確認
視聴履歴(観測した配信の記録。本サービスが稼働する前に終わった配信は、監視しているチャンネルの公開されている動画一覧から過去 180 日分を一度だけ取り込みました)識別子(動画 ID・チャンネル ID)と日時のみを最長 2 年。チャンネル名・タイトル・サムネイルは保存しません。30 日ごとに YouTube API で存在を確認し、削除・非公開になったものは消去します定期確認 + DynamoDB の TTL による自動削除
「後で見る」利用者が削除するまで。保存するのは プラットフォーム名・動画の識別子・チャンネル識別子・追加日時・視聴済みの印のみで、タイトル・サムネイル・チャンネル名は保存しません。30 日ごとに公開状態を確認し、視聴できなくなった項目はその旨を表示します利用者の操作 + 定期確認
ログインセッション30 日Cookie の有効期限および DynamoDB の TTL
OAuth の一時的な状態(CSRF 対策)10 分DynamoDB の TTL
生ログ90 日Amazon S3 のライフサイクル
認証トークン(リフレッシュトークン)連携が続いている間。連携解除または退会で削除利用者の操作
プッシュ購読(通知の宛先)最終利用から 180 日、または利用者が通知をオフにするまでDynamoDB の TTL + 利用者の操作
通知の予約(「開始前に通知」の印)配信の予定時刻の 7 日後まで(通知を送った時点、または利用者が外した時点で削除)DynamoDB の TTL + 利用者の操作
通知の送信記録(同じ通知を 2 回送らないための印)1 日DynamoDB の TTL
カレンダー購読トークン利用者が無効化・再発行するまで(退会時は直ちに削除)利用者の操作
利用の受け付けの記録保存データの削除まで利用者の操作(退会)、運営者の操作(利用の停止)、認可の失効による削除(第 8.1 項)

削除された動画・非公開になった動画は、再取得時に取得できなくなった時点で本サービスからも削除します。

6. 第三者への提供

当方は、取得した情報を 第三者に販売・提供しません。 広告ネットワーク、データブローカー、その他の第三者へのデータの提供は行いません。 ただし、以下の場合を除きます。

  1. 利用者の同意がある場合
  2. 法令に基づく場合、または裁判所・行政機関から適法な要求があった場合
  3. 本サービスの運営に必要な範囲で、次の委託先に処理を委託する場合 - 第 4 項に記載した Amazon Web Services - 通知を端末へ届ける各ブラウザのプッシュサービス(Google Firebase Cloud Messaging、Apple Push Notification service、 Mozilla Push Service、Microsoft Windows Push Notification Services)。利用者が通知をオンにしたブラウザのものだけを使います。 通知の本文は端末の鍵で暗号化して渡すため、プッシュサービスは本文を読めません(宛先の URL、送信の時刻、 TTL / Urgency / Topic のヘッダーは見えます。Topic は動画 ID を含まないハッシュ値です)

なお、利用者が自ら登録したカレンダーサービス(Google カレンダー、Apple のカレンダー等)には、利用者の操作 (予定ごとの追加、またはカレンダー購読の URL の登録)に基づき、利用者本人の登録チャンネルの予定の題名・時刻・URL を渡します。 これは利用者が明示的に承認した提供先への表示であり、上記の第三者提供には当たりません。 カレンダー購読の URL を知っている人は誰でも同じ予定を読めるため、URL は他人に共有しないでください。 共有してしまった場合は[設定]の[URL の再発行・無効化]で古い URL を使えなくできます。 購読で渡した予定は当方の更新に合わせて各カレンダーで書き換わり、消えた予定は各カレンダーからも消えます。 予定ごとに追加した分(.ics の取得や Google カレンダーへの追加)は利用者の端末・カレンダーに保存され、当方からは変更できません。

7. Cookie と端末への保存

本サービスは、ログインのために次の 2 つの Cookie を使用します。

名称内容属性有効期限
app_session署名付きのセッション識別子と利用者 IDHttpOnly、SameSite=Lax、Secure(localhost を除く)30 日
app_oauth_stateログインを始めたブラウザを確かめるための値(ログインの一時的な状態のハッシュ値。ログインの不正な乗っ取りを防ぐため)HttpOnly、SameSite=Lax、Secure(localhost を除く)、ログインの経路だけに送信10 分(ログインが終わると削除)

また、画面の表示と通知のために、利用者の端末(ブラウザ)に次の情報を保存します。これらは端末の中だけで使い、当方のサーバーには送りません。

保存先内容
ブラウザのローカルストレージ表示の設定(「定期枠を除く」、絞り込みを畳んでいるか、リストとカードのどちらで表示するか)
ブラウザの IndexedDBプッシュ通知を受け取るために使う、本サービスの公開鍵(通知をオンにしたときだけ)
Service Worker通知の受け取りとホーム画面への追加に使うプログラム

本サービスは、広告目的・行動追跡目的の Cookie や端末への保存を使用しません。第三者の解析タグ・広告タグを設置していません。

Cookie を無効にした場合、ログインが必要な機能は利用できません。端末への保存を消した場合は、表示の設定が既定に戻り、通知はもう一度オンにする必要があります。

8. 利用者による認可の取り消しと削除

8.1 Google 側からの取り消し

利用者は、いつでも Google のセキュリティ設定ページ から本サービスの認可を取り消せます。

認可が取り消された場合、当方は YouTube API から新たにデータを取得しません。 すでに保存している当該利用者のデータは、取り消しを検知してから 7 日以内に削除します。 認可が無効になったことを検知したら、アプリでお知らせし、6 日以内に再ログインが無ければ削除します。

8.2 アプリ内での連携解除とデータ削除

  1. 本サービスにログインし、画面下部の [設定] を開きます。
  2. [データとプライバシー] で、すべてを消すときは [保存データを削除]、Twitch の連携だけを外すときは [Twitch の連携だけ解除] を選びます。
  3. [保存データを削除]は確認画面で確認の文字を入力して実行します。

[Twitch の連携だけ解除]を実行すると、Twitch のリフレッシュトークンを直ちに破棄し、画面から Twitch の表示がすぐに消えます。 Twitch のフォロー一覧の写しは数分以内に削除します。YouTube 側のデータは残ります。

[保存データを削除]を実行すると、当方は以下を行います。

なお、[設定]の[この端末でプッシュ通知]をオフにすると、その端末のプッシュ購読は直ちに削除されます。

削除の完了を確認したい場合、または上記の操作ができない場合は、第 10 項の連絡先までご連絡ください。 同じく 7 日以内に対応します。

注: Google 側の認可の取り消しは、8.1 のページからも別途行えます。アプリ内の削除と Google 側の取り消しは独立しており、 両方行うことを推奨します。

8.3 Twitch 側からの取り消し

利用者は、いつでも Twitch の [設定]→[接続] から本サービスの連携を解除できます。 当方は次の取り直し(6 時間以内)で解除を検知し、Twitch のフォロー一覧の写しとトークンを削除して、アプリでお知らせします。 もう一度連携すれば、フォロー一覧は数分で取り直されます。

9. 安全管理

10. お問い合わせ

本ポリシーおよびプライバシーに関するお問い合わせ・苦情は、以下までご連絡ください。

11. 未成年の利用について

本サービスは、13 歳未満の方を対象としていません。13 歳未満の方から情報を取得していると判明した場合、 速やかに削除します。18 歳未満の方は、保護者の同意を得たうえでご利用ください。

12. 本ポリシーの改定

本ポリシーを改定する場合は、改定後の内容を本ページに掲載します。重要な変更を行う場合は、 本サービス内で通知します。


English version

Livetable Privacy Policy

Livetable 運営 ("we", "us") sets out below how Livetable (the "Service") handles user information. Users must agree to this Privacy Policy before they can access the Service's features and functionality.

1. The Service and YouTube API Services

The Service uses YouTube API Services.

By using the Service, you agree to be bound by:

The Service is independent and is not affiliated with, endorsed by, or sponsored by Google LLC or YouTube.

2. Information we collect

CategoryItemsSource
Google account identifiersAccount identifier (sub), email addressGoogle OAuth 2.0 (openid, email scopes)
YouTube subscriptionsChannel ID, channel title, channel icon URL, the channel's video count (used to re-check which channels to monitor; deleted within 30 days once no user subscribes to the channel). We do not collect the per-subscription count of unwatched videosYouTube Data API subscriptions.list (https://www.googleapis.com/auth/youtube.readonly scope). For channels you add to monitoring manually, the title and icon come from channels.list (public data)
Stream and video metadataVideo ID, title, thumbnail URL, tags, channel title, scheduled / actual start and end timesYouTube Data API playlistItems.list, videos.list, and YouTube WebSub push notifications
Twitch account identifiersYour Twitch user ID and login (only if you connect Twitch; also used to ensure that one Twitch account is connected by only one user)Twitch OAuth 2.0
Twitch followsUser ID, login, display name, icon URL of the channels you follow. We do not store when you followed themTwitch API (user:read:follows scope)
Twitch stream informationStream ID, title, category, tags, thumbnail URL, start and end times, scheduled segments (public broadcaster information, including the record of notifications we receive)Twitch Helix API / EventSub
Information you create in the Service"Watch later" entries, watched flags, viewing history (identifiers and timestamps), streams you asked to be reminded about (video ID and reminder time), notification settings, channels you added to monitoring manually (channel ID)The Service
Notification destination (browser push subscription)The push service endpoint URL and encryption keys (p256dh / auth), your browser's User-Agent (first 120 characters)Your device (only when you turn on "Push notifications on this device" in Settings)
Calendar subscription tokenThe random string in your calendar subscription URL (we match it by its hash), when it was issued, when it was last used and how many timesThe Service (only when you issue a "Calendar subscription" in Settings)
CredentialsGoogle and Twitch refresh tokens, session identifierThe respective OAuth flows
Admission recordWhen you started using the Service, how you were admitted (e.g. invitation identifier), whether Google has verified your email addressThe Service

We never collect your password. Authentication is performed entirely through Google's and Twitch's OAuth 2.0.

3. How we use the information

  1. To display, across platforms, the upcoming and live streams of the channels you subscribe to or follow.
  2. To detect when a stream starts or changes and notify you.
  3. To provide your own viewing history and "watch later" list.
  4. To debug the Service and to manage our API usage.
  5. To export streams to your own calendar at your request (adding a single stream, and the calendar subscription).
  6. To manage admission to the Service (invitation-only access, limits on the number of users, and suspension of use).

We display this information only to the individual user it belongs to (including export to a calendar service that you register yourself; see section 6). We do not show it to other users and we do not aggregate it across users into rankings or statistics.

Livetable's use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.

The operator views, for administration only, each user's email address, sign-up time, last sign-in time, admission route, and whether re-sign-in is pending with its scheduled deletion time. These are never shown to other users.

4. Where we store it

We store the information in Amazon DynamoDB in the Amazon Web Services Asia Pacific (Tokyo) region (ap-northeast-1). Raw request logs are kept in Amazon S3 in the same region for 90 days.

AWS acts as our data processor; this is not a disclosure to a third party.

If you turn notifications on, their content is encrypted and delivered to your device through your browser's push service (Google / Apple / Mozilla / Microsoft). The push service cannot read the content (see section 6).

5. How long we keep it

InformationRetentionMechanism
Stream and video metadata (title, thumbnail URL, tags, times)30 days from the last time we fetched it. Refetching within that window restarts the clockAutomatic deletion via DynamoDB TTL
Cached titles and thumbnails for the history view30 days from last fetchAutomatic deletion via DynamoDB TTL
Subscription and Twitch follow listsRe-fetched at least every 30 days (currently every 24 days); entries that no longer appear are deleted. Twitch follows are re-fetched every 6 hours, and channels you unfollow are deleted at the next re-fetchScheduled sync
Channels you added to monitoring manuallyThe channel ID until you remove it (deleted when you delete your data). Channel titles and icons are re-fetched every 25 days and deleted if they can no longer be retrievedYour action plus a scheduled check
Viewing history (streams we observed; for streams that ended before the Service started operating, we imported the past 180 days once from the public upload lists of the channels we monitor)Identifiers (video ID, channel ID) and timestamps only, for at most 2 years. We store no channel names, titles, or thumbnails. Every 30 days we re-check each record against the YouTube API and delete any stream that has been removed or made privateScheduled re-check plus automatic deletion via DynamoDB TTL
"Watch later"Until you delete it. We store only the platform, the video identifier, the channel identifier, the time you added it, and a watched flag — never the title, thumbnail, or channel name. We re-check availability every 30 days and mark entries that can no longer be watchedYour action plus a scheduled check
Login session30 daysCookie expiry and DynamoDB TTL
Temporary OAuth state (CSRF protection)10 minutesDynamoDB TTL
Raw logs90 daysAmazon S3 lifecycle policy
Refresh tokensWhile the connection is active; deleted when you disconnect or delete your dataYour action
Push subscription (notification destination)180 days from last use, or until you turn notifications offDynamoDB TTL plus your action
Stream reminders ("notify before start")Until 7 days after the scheduled start (deleted earlier once the notification is sent or you remove it)DynamoDB TTL plus your action
Delivery records (to avoid sending the same notification twice)1 dayDynamoDB TTL
Calendar subscription tokenUntil you turn it off or issue a new one (deleted immediately when you delete your data)Your action
Admission recordUntil your stored data is deletedYour action (deleting your data), the operator's action (suspension of use), or deletion after your authorization expires (section 8.1)

When a video is deleted or made private, we remove it from the Service as soon as a refresh no longer returns it.

6. Disclosure to third parties

We do not sell or otherwise disclose your information to third parties. We do not provide data to advertising networks, data brokers, or any other third party, except:

  1. with your consent;
  2. where required by law or in response to a lawful request from a court or public authority; or
  3. to the following processors, to the extent necessary to operate the Service: - Amazon Web Services, named in section 4; and - the push service of the browser on which you turned notifications on (Google Firebase Cloud Messaging, Apple Push Notification service, Mozilla Push Service, Microsoft Windows Push Notification Services). Notification content is encrypted with your device's keys before we hand it over, so the push service cannot read the content (it can see the destination URL, the time of sending, and the TTL / Urgency / Topic headers; Topic is a hash that does not contain the video ID).

When you add a stream to your calendar or register your calendar subscription URL with a calendar service of your choice (such as Google Calendar or Apple Calendar), we provide that service with the titles, times and URLs of the streams from your own subscriptions, at your direction. This is display to an agent you have expressly approved, not a disclosure to a third party as described above. Anyone who knows your calendar subscription URL can read the same schedule, so do not share it; if you have, use Reissue / turn off the URL in Settings to invalidate the old URL. Subscribed calendars follow our updates (entries we remove disappear from your calendar too). Streams you add one by one (an .ics download or Google Calendar's "add event") are stored on your device or in your calendar, and we cannot change them afterwards.

7. Cookies and storage on your device

The Service uses two cookies, both for signing in.

NameContentsAttributesLifetime
app_sessionSigned session identifier and user IDHttpOnly, SameSite=Lax, Secure (except on localhost)30 days
app_oauth_stateA value that confirms the browser that started a sign-in (a hash of the temporary sign-in state, to prevent sign-in hijacking)HttpOnly, SameSite=Lax, Secure (except on localhost), sent only to the sign-in path10 minutes (deleted when sign-in finishes)

For display and notifications, we also store the following on your device (in your browser). It is used only on your device and is never sent to our servers.

WhereWhat
Browser local storageDisplay settings ("hide recurring slots", whether the filters are collapsed, list or card view)
Browser IndexedDBOur public key used to receive push notifications (only if you turn notifications on)
Service WorkerThe program that receives notifications and lets you add the app to your home screen

We do not use cookies or device storage for advertising or behavioural tracking, and we embed no third-party analytics or advertising tags.

If you disable cookies, features that require signing in will not work. If you clear the storage on your device, your display settings return to their defaults and you will need to turn notifications on again.

8. Revoking access and deleting your data

8.1 Revoking through Google

You can revoke the Service's access to your Google account at any time from the Google security settings page:

After revocation we stop retrieving any new data from the YouTube API, and we delete the data we already hold for you within 7 days of detecting the revocation. When we detect that your authorization is no longer valid, we let you know in the app, and if you do not sign in again within 6 days, we delete your data.

8.2 Disconnecting and deleting inside the app

  1. Sign in and open Settings from the bottom navigation.
  2. Under Data and privacy, choose Delete stored data to delete everything, or Disconnect Twitch only to remove just the Twitch connection.
  3. For Delete stored data, type the confirmation text and confirm.

When you choose Disconnect Twitch only, we immediately destroy your Twitch refresh token and Twitch disappears from your screens right away. We delete our copy of your Twitch follow list within a few minutes. Your YouTube data is kept.

When you choose Delete stored data, we:

Turning off Push notifications on this device in Settings deletes that device's push subscription immediately.

If you would like confirmation, or if you cannot use the in-app flow, contact us using section 10. We respond within 7 days.

Note: revoking through Google (8.1) is independent of deleting inside the app. We recommend doing both.

8.3 Revoking through Twitch

You can disconnect the Service at any time from Twitch Settings → Connections. We detect the disconnection at the next re-fetch (within 6 hours), delete our copy of your Twitch follow list and your Twitch tokens, and let you know in the app. If you connect again, your follow list is re-fetched within a few minutes.

9. Security

10. Contact

For questions or complaints about this policy or about privacy:

11. Children

The Service is not directed to people under 13. If we learn that we hold information from someone under that age, we delete it promptly. If you are under 18, please use the Service with the consent of a parent or guardian.

12. Changes to this policy

We will post any revised version of this policy on this page. If the change is material, we will also notify you inside the Service.


本サービスは YouTube API Services を利用しています。情報は YouTube Data API と Twitch API から取得しています。再生は各公式サイトで行われます。