サイト / プライバシー
プライバシーポリシー
Panorooma は、生徒が Google Classroom の情報を一画面で整理しやすくする独立したアプリです。Google、学校または教育委員会の公式サービスではなく、それらによる提供・承認を意味しません。取得した Google ユーザーデータを販売したり、広告に使ったり、AI モデルの学習に使ったりしません。
1. 適用範囲
本ポリシーは、Panorooma の Web 版(/app)と GAS 版(学校アカウント版、/start)に適用します。両版は実装・認証・保存方式が異なり、アカウント情報や学習データを相互に自動同期しません。第2〜3章は両版共通、第4章は Web 版、第5章は GAS 版についての説明です。
| 版 | 主な保存場所 |
|---|---|
| Web 版 | 利用者のブラウザ(メモリ / sessionStorage / IndexedDB / localStorage) |
| GAS 版 | Google Apps Script の UserProperties(正本)、本人の Google ドライブ(バックアップ)、一時キャッシュ、端末のキャッシュ、運営用の一時記録とスプレッドシート |
2. 取得する情報と利用目的(共通)
- 利用者が許可した Google アカウントの権限に基づき、本人確認、プロフィールの表示、授業・課題・お知らせ・教材・本人の提出状況の取得と整理を行います。
- GAS 版では、これに加えて、本人の設定・学習管理情報の保存、端末間での共有、バックアップ、利用者が許可した利用記録の処理、利用者が送信したフィードバックの受付を行います。
- Google Classroom の課題やお知らせを変更する操作(提出・採点・投稿など)は行いません。ただし、GAS 版での本人の設定や学習管理情報の保存、運営記録の処理には書き込みが含まれます。
3. 第三者提供と外部への通信(共通)
- Google ユーザーデータを販売せず、広告目的で第三者に提供しません。
- Web 版は、Google の認証・API サービスと、認証処理に使う Cloudflare Worker と通信します。
- GAS 版は、Google Apps Script を通じて Google Classroom、Google ドライブ、Google のユーザー情報関連 API、Google スプレッドシート等の Google のサービスとだけ通信します。
- 利用者が外部サイトへのリンクを開いた場合は、リンク先のサービスの取り扱いが適用されます。
4. Web 版
4-1. 権限
ログイン時に、次の権限を求めます。Classroom については読み取りのみです。
openid/profile/emailclassroom.courses.readonlyclassroom.coursework.me.readonlyclassroom.coursework.students.readonlyclassroom.announcements.readonlyclassroom.courseworkmaterials.readonly
4-2. 保存のしかた
- メモリ(タブ内): Google API を呼ぶためのアクセストークン
- sessionStorage: 認証のための一時的な情報
- IndexedDB: 取得した Classroom データのキャッシュと同期情報
- localStorage: 表示用プロフィール、表示設定、時間割、復習記録、既読・完了状態など
認証処理の一部で Cloudflare Worker を使い、Google の OAuth 認可コードとトークンの交換を行う場合があります。Worker はトークンや Classroom データを永続保存する目的では使いません。Web 版は、Classroom の取得内容を Panorooma 独自のサーバーに学習データとして保存しません。
4-3. ログアウト・キャッシュ消去・サイトデータの削除
- ログアウト: アクセストークン、ログイン表示用のプロフィール、Classroom のキャッシュなどを消します。時間割・復習記録・表示設定・既読や完了の状態など、localStorage のデータは残る場合があります。
- キャッシュ消去(アプリ内): 取得した Classroom データのキャッシュを消します。
- サイトデータ全体の削除: 端末内の Panorooma のデータをまとめて消すには、ブラウザの設定から panorooma.app のサイトデータを削除してください。
5. GAS 版(学校アカウント版)
5-1. 対象と実行のしかた
指定された Google Workspace ドメインのアカウントが対象です。アプリはアクセスした利用者本人として実行され、本人の権限とデータの範囲で動作します。
5-2. 権限
本番の設定で求める権限は次の 12 個です。許可画面の文言は Google の表示に従います。詳しくは管理者向けページも参照してください。
- Classroom(読み取りのみ、4 個): クラス、本人の課題と提出状況、お知らせ、資料の取得
classroom.profile.photos: Classroom 上のプロフィール写真の表示userinfo.email: 本人の識別userinfo.profile: プロフィール写真の表示drive.file: アプリが作成したファイルだけの読み書き(以前の方式のコピーを移行用の予備として読み取る場合を含む)drive.appdata: Google ドライブのアプリ専用領域(appDataFolder)への暗号化バックアップの保存spreadsheets: 運営用の集計シートへの書き込みscript.scriptapp: 毎日の書き出し処理の実行script.external_request: Google の API を直接呼び出すため
アプリはアクセスした本人として実行され、利用できるのはドメイン内のアカウントに限られます。データの送信先は Google の API(Classroom・Drive・People)だけです。
5-3. 正本とバックアップ
| 保存先 | 主な内容 | 位置づけ |
|---|---|---|
| Google Classroom | 授業・課題・お知らせ・提出情報 | 学校データの正本 |
| UserProperties | 既読・完了、時間割、メモ、設定、同意の有無、版情報 | 個人編集データの正本 |
| 本人の Google ドライブ(アプリ専用領域 appDataFolder) | 個人編集データの暗号化した保存世代(本人の同意時のみ)。以前の方式で通常のドライブに作られたコピーがある場合は、移行用の予備として読み取ることがあります | バックアップ |
| CacheService | Classroom の概要、写真など | 一時キャッシュ(最長 6 時間) |
| ブラウザ(IndexedDB / localStorage / sessionStorage) | Classroom のキャッシュ、表示用データ、操作中の下書き | 端末の補助データ |
| ScriptProperties / 運営用スプレッドシート | 利用記録・フィードバック | 運営用の記録 |
- 通常利用時の正本は UserProperties です。Google ドライブのファイルは正本とは別に管理するバックアップです。
- 正本の保存とバックアップの保存は別々に判定します。バックアップに失敗しても正本は保存されている場合があり、反対にバックアップに最新の編集がすべて含まれているとは限りません。
- 保存に失敗したり不整合を見つけたりした場合は、既存データの不用意な上書きを防ぐため、処理を止めることがあります。
- バックアップ機能はすべての利用者に提供していますが、実際にバックアップが保存されるのは本人が同意した場合です。
- Classroom の端末キャッシュには暗号化して保存する仕組みがあります。ただし、すべての保存情報が同じ方法で暗号化されるわけではありません。
5-4. 保存期間と世代の整理
- 一部のキャッシュには有効期限があります。Google ドライブのバックアップは最大2世代を管理対象として記録しますが、古いファイルをドライブから自動で削除する処理はありません。
- これらの整理は対象の保存領域に限られます。UserProperties 内の設定・同意情報、ブラウザ内の一部のデータ、運営記録、既存のバックアップファイルが同じ期間で自動削除されるわけではありません。
- 容量制限、権限の変更、通信障害などにより、保存や復元ができない場合があります。
5-5. 利用記録とフィードバック
- 利用記録は、本人が許可した場合だけ取得します。内容は匿名 ID、利用日、アプリの版です。
- 匿名 ID は、本人のアカウント情報と運営側の秘密値から作る識別子です。日をまたいだ利用を関連付けられ、運営側で照合できる可能性があるため、完全な匿名ではなく仮名化した記録として扱います。
- 利用記録は設定からいつでも停止できます。停止後は新しい記録を取りません。ただし、すでに運営用シートへ反映された記録は、停止だけでは削除されません。
- フィードバックを送信した場合は、受付 ID、日付、種別、本文、画面の情報、任意で入力された連絡先、アプリの版を取り扱います。
- これらは ScriptProperties に一時的に保存され、運営用の Google スプレッドシートへ書き出す仕組みです。現在この書き出しは止まっており、その間は一時保存のまま残る場合があります。
- 処理時間などの動作情報が、Google Apps Script の実行ログに残る場合があります。その保存期間は Google の仕様に従います。
6. 停止・権限の取り消し・データの削除
停止、権限の取り消し、データの削除は、それぞれ別の操作で、結果も異なります。
- 停止: 使うのをやめる、または利用記録などの機能をオフにすることです。保存済みのデータは消えません。
- 権限の取り消し: Google アカウントのアクセス権 から Panorooma の許可を取り消せます(両版共通)。取り消しだけでは、UserProperties、Google ドライブ上のファイル、運営記録は自動削除されません。
- データの削除(Web 版): 第4章の「ログアウト・キャッシュ消去・サイトデータの削除」を参照してください。
- ログアウト(GAS 版): この端末のアカウントデータを消します。端末内にしかない自由メモ帳も消えるため、事前に警告が出ます。UserProperties や Google ドライブのデータは残ります。
- データの削除(GAS 版): アプリ内で端末データの消去、利用記録の停止、個人データの書き出しができます。Google ドライブ上のバックアップファイルは本人が削除できます。現時点では、Google ドライブ上のデータをアプリからまとめて削除する機能はありません。
- UserProperties の正本や運営記録の削除を希望する場合は、下記の窓口にご連絡ください。保存先と情報の種類に応じて、対応できる範囲と方法を確認します。
7. ポリシーの変更
本ポリシーを変更する場合は、変更内容と更新日を本ページに掲載します。データの取り扱いに重大な変更がある場合は、必要に応じてアプリ内でお知らせし、改めて同意を求めます。
8. お問い合わせ
個人情報の取り扱い、権限、保存済みデータの確認・削除に関するお問い合わせ: panorooma2026@gmail.com
English summary
The Japanese text above is the authoritative version. This is a short summary.
Panorooma is an independent student app. It is not a Google product and is not provided or endorsed by any school or board of education. We do not sell Google user data, use it for ads, or use it to train AI models.
Web app
Uses read-only Classroom scopes plus openid/profile/email. Data stays in the browser (memory, sessionStorage, IndexedDB, localStorage). A Cloudflare Worker is used only to exchange OAuth codes for tokens and is not used to persistently store tokens or Classroom data. Signing out removes tokens and the Classroom cache, but some localStorage data may remain; clear site data in your browser to remove everything on the device.
School-account (GAS) edition
Runs as the signed-in user and communicates only with Google services. Personal edits are primarily stored in UserProperties; Google Drive files are a separate backup, saved only with the user's consent. Usage records are opt-in and use a pseudonymous ID. Stopping use, revoking access, and deleting data are separate actions; revoking access does not delete stored data.