Scheduler
プライバシーポリシー
Scheduler(以下「本サービス」)は、Googleカレンダーの空き時間を探して、日程候補の文面をつくるための、運営者専用の非公開ツールです。どんな情報を受け取り、どう使い、どのように保管しているかを、ここにまとめました。
非公開のサービスであること
本サービスは、運営者が自らの日程調整のために使う、個人的で非公開のツールです。利用できるのは、運営者があらかじめ許可した1つのGoogleアカウントだけで、一般の方への提供は行っていません。
許可されていないアカウントでログインしようとした場合、Googleから受け取ったトークンやアカウントの情報は、利用を許可するかどうかの判定にだけ使い、保存せずにその場で破棄します。この場合でも、Googleアカウント側には本サービスへのアクセス許可の記録が残ることがあります。不要であれば、下記「アクセスの取り消しと情報の削除」の方法で取り消してください。
受け取る情報
Googleアカウントでログインしたとき、および空き時間を検索したときに、Googleから次の情報を受け取ります。
- アカウントの識別子とメールアドレス(確認済みかどうかを含む):利用を許可されたアカウントかどうかを確かめ、どのアカウントでログインしているかを画面に表示するために使います。Googleから氏名が提供された場合は、氏名も受け取ることがあります。
- アクセストークンとリフレッシュトークン:あなたの許可にもとづいてGoogleカレンダーへ問い合わせるための鍵です。
- カレンダーの一覧:各カレンダーのID・名前・色・あなたのアクセス権限・メインのカレンダーかどうか。検索対象を選ぶ一覧を表示するために、必要になったときに取得します。
- 予定が入っている時間帯:選んだカレンダーについて、「何時から何時までがふさがっているか」という時間の範囲だけを、検索のたびに取得します。予定のタイトル、説明、参加者、場所といった中身は受け取りません。
このほか、本サービスを動かしている Cloudflare が、一般的なアクセスログとしてIPアドレス、日時、アクセスしたURL、ブラウザの種類(ユーザーエージェント)などを記録することがあります。アプリが記録するエラーログには、エラーの種類やコードだけを残し、トークンやカレンダーの内容は含めません。
Googleに求めるアクセス権限
ログインには OAuth 2.0(認可コードフローとPKCE)を使い、次の権限だけをお願いしています。いずれも読み取りのみで、本サービスがカレンダーの予定を作成・変更・削除することはありません。
openid・email:ログインしているアカウントとメールアドレスの確認https://www.googleapis.com/auth/calendar.calendarlist.readonly:カレンダーの名前と色を、選択用の一覧として表示するためhttps://www.googleapis.com/auth/calendar.events.freebusy:予定が入っている時間帯(開始と終了の時刻)だけを知るため
情報の使いみち
受け取った情報は、次の目的にだけ使います。
- 利用を許可されたアカウントかどうかを確かめること
- ログインの状態を保ち、どのアカウントで接続しているかを表示すること
- 検索の対象にするカレンダーを選べるようにすること
- 指定された条件で空き時間を探し、日程候補の文面を作ること
- 不正なアクセスや障害に対応し、サービスを安全に動かし続けること
分析ツールや広告は使っていません。情報を販売したり、広告やマーケティングのために使ったり、第三者と共有したりすることはありません。
保存する場所と期間
サーバーに保存するもの
許可されたアカウントのログインについてだけ、アカウントの識別子・メールアドレスとその確認状態(受け取った場合は氏名)と、アクセストークン・リフレッシュトークンを、Cloudflare D1(Cloudflare のデータベース)に、ログインごとに1件のデータとして保存します。内容はまとめて AES-256-GCM で暗号化しており、データベース上で暗号化されずに残るのは、セッションIDのハッシュ値(セッションID自体ではありません)、有効期限、更新の管理に使う番号だけです。アクセストークンとリフレッシュトークンがブラウザに送られることはありません。メールアドレス(受け取った場合は氏名)は、どのアカウントで連携中かを画面に表示するため、ログイン中のご本人のブラウザにだけ送ります。
カレンダーの一覧と予定が入っている時間帯は、その場の処理のためにメモリ上で扱うだけで、サーバーには保存しません。空き時間の計算は、お使いのブラウザの中で行います。 また、検索の回数に上限を設けるため、分ごとの検索回数だけをデータベースに記録します(アカウントやIPアドレスなど、個人を識別する情報は含みません)。
ログイン状態は、ご利用の状況に応じて(おおむね1日に1回まで)自動的に延長されます。最後の延長から約365日たつと期限切れとなり、それ以降は使えなくなります。期限切れのデータは、次にアクセスがあったときや、新しいログインの際の整理処理で削除されます(決まった時刻に一斉に削除する仕組みではありません)。ログアウトした場合は、その時点で削除します。
ブラウザに保存するもの
検索条件、前文・後文の文面(保存した定型文を含む)、選んだカレンダーのIDは、お使いのブラウザのローカルストレージにだけ保存します。カレンダーの選択は、アカウントごとに区別できるよう、メールアドレスと結びつけて保存しています。前文・後文がサーバーに送られることはありません。空き時間を検索するときに限り、検索条件と選んだカレンダーのIDをサーバーへ送ります。
ログイン中は、連携しているアカウントのメールアドレス(受け取った場合は氏名)をサーバーから受け取って画面に表示します。これはブラウザのメモリ上で使うだけで、ローカルストレージに保存するのは、上記のカレンダーの選択の区別に使うメールアドレスだけです。
これらはブラウザの「サイトデータの削除」などの操作で、いつでも消すことができます。
Google API サービスのユーザーデータに関するポリシーの遵守
Scheduler がGoogle APIから受け取った情報の使用と、他のアプリへの転送は、限定使用(Limited Use)の要件を含め、Google API サービスのユーザーデータに関するポリシー(新しいタブで開きます)を遵守します。
Scheduler'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.
具体的には、Googleから受け取ったデータについて次のとおり取り扱います。
- 空き時間の検索とカレンダーの選択という、画面上でお使いいただく機能を提供・改善するためにだけ使います。
- 第三者へ移転しません。ただし、上記の機能の提供に必要な場合、法令を遵守するために必要な場合、セキュリティを確保するために必要な場合を除きます。
- 広告(パーソナライズ広告、リターゲティング広告、興味・関心にもとづく広告を含む)には使いません。
- 販売せず、信用力の判断や融資などの目的にも使いません。
- 汎用的なAI・機械学習モデルの開発や改善、学習のために使うことはありません。
- 人がデータを読むことはありません。ただし、特定のデータについてあなたの明示的な同意がある場合、不正利用の調査などセキュリティ上必要な場合、法令を遵守するために必要な場合を除きます。
アクセスの取り消しと情報の削除
本サービスの「ログアウト」を押すと、サーバー上のログイン情報を削除し、あわせて本サービスへのアクセス許可を取り消すようGoogleに依頼します(Googleとの通信に失敗した場合など、取り消しが完了しないこともあります)。
Googleアカウントのサードパーティのアクセス設定(新しいタブで開きます)から、いつでもご自身でアクセスを取り消すこともできます。取り消したあとは、本サービスがカレンダーの情報を読み取ることはできなくなり、ふたたび使うにはログインし直す必要があります。
ブラウザに保存された検索条件や文面は、ブラウザのサイトデータを削除することで消せます。
安全のための取り組み
- トークンを含むログイン情報は暗号化してサーバーに保存し、ブラウザやURL、ログには出しません。
- Googleへのログインでは、なりすましや横取りを防ぐ仕組み(PKCE、state、nonce)を使っています。
- 許可されたアカウント以外は、ログインの時点でも、その後のすべての操作の時点でも、サーバー側で利用を拒否します。
- カレンダーへのアクセスは読み取りのみで、必要最小限の範囲にとどめています。
このポリシーの変更
このポリシーの内容を変更する場合は、変更後の内容と更新日をこのページに掲載してお知らせします。
運営者・お問い合わせ
- 運営者
- Vision Gate合同会社
このポリシーや情報の取り扱いに関するご質問やご相談は、上記のメールアドレスまでお寄せください。