毎日の学校生活で積み重なる記録を、より安全に、より確実に残すために。
Panorooma GAS版では、データの保存システムを大幅に改善しました。
課題の完了チェック、既読状態、時間割、授業メモ、表示設定。こうした日々の記録を守るため、保存データの圧縮、更新時の競合対策、暗号化バックアップなどを導入しています。
新しい暗号化バックアップ機能は、本人による有効化と必要なアクセス許可のもとで利用できます。
01. 何が変わったのか
今回の更新では、データを保存する仕組みそのものを見直しました。
従来の保存基盤を維持しながら、データの整合性を確認する仕組みや、暗号化したバックアップを作成する機能を追加しています。

4つの主な改善
01|保存データの圧縮
データをgzip形式で圧縮し、限られた保存容量を効率的に使用します。
02|意図しない上書きの防止
更新番号(Revision)を管理し、古いデータによる上書きや、複数の保存操作が重なった場合の競合を検出します。
03|暗号化バックアップ
AES-256-GCMによる暗号化を採用。Google Driveのアプリ専用領域に、暗号化したバックアップを保存します。
04|保存・復元機能の改善
保存結果の確認、バックアップからの復元、JSON形式でのデータ書き出しに対応しました。
02. データはどこに保存される?
Panoroomaは、Googleのサービスを活用して個人データを管理します。
今回の更新でも、主な保存先は変わりません。
メインの保存先:UserProperties
Google Apps Scriptのユーザー別保存領域です。
完了チェックや時間割などのデータを圧縮・分割して保存します。
書き込んだデータを検証し、正常に保存できたことを確認してから、新しいデータを有効にする仕組みを採用しています。
バックアップ先:Google Drive
暗号化バックアップを有効にすると、ユーザー自身のGoogle Driveにある「appDataFolder」というアプリ専用領域にバックアップが作成されます。
この領域は通常のマイドライブ画面には表示されません。
バックアップはデータを圧縮した後に暗号化して保存します。

データの編集 → UserPropertiesに保存 → データを圧縮・暗号化 → Google Driveへバックアップ → 保存内容を検証
※Driveへの暗号化バックアップは、ユーザーが有効化した場合に行われます。
03. 暗号化バックアップの仕組み
AES-256-GCMを採用
暗号化には、AES-256-GCMという方式を採用しています。
データの内容を暗号化するだけでなく、復号時にデータが改ざんされていないかを検出できる方式です。
暗号鍵はユーザーごとに生成され、本人のGoogle Apps Scriptのユーザー別保存領域に保持されます。
バックアップファイルには、この暗号鍵を含めません。
なお、暗号鍵はアプリ側で利用できる場所に保存されるため、エンドツーエンド暗号化ではありません。また、UserPropertiesに保存されるメインデータ自体は圧縮されていますが、同じ方式で暗号化されているわけではありません。
保存データの検証
バックアップを書き込んだ後、保存されたデータを読み戻して検証します。
これにより、保存内容の不一致や破損を検出できるようにしています。
過去のバックアップを保持
バックアップは新しい世代として作成され、以前のデータを直ちに上書き・削除しない方式を採用しています。
ただし、すべての過去の状態を自由に選んで復元できる履歴機能ではありません。
04. 何が保存される?
今回の個人データ保存システムでは、以下の情報を扱います。

保存対象
- 課題の完了チェック
- お知らせなどの既読状態
- 時間割・科目
- 授業メモ
- クラスの並び順
- 色や表示に関する設定
暗号化バックアップの対象外
- Google Classroomの投稿本文や添付ファイル
- Googleアカウントのプロフィール情報
- 端末専用の自由メモ帳
- 利用記録・フィードバック
- Googleの認証トークン
今回の機能は、Panoroomaで作成・管理する個人の補助データを保護するものです。
Google Classroom全体のデータをバックアップする機能ではありません。
05. バックアップを使うには
暗号化バックアップは、Panorooma GAS版の設定から有効にできます。
利用には、本人による有効化とGoogle Driveへのアクセス許可が必要です。

- Panorooma GAS版の設定画面を開く
- 暗号化バックアップの説明を確認し、同意して有効化する
- 必要に応じてGoogleのアクセス権限を許可する
- 次回のデータ保存時、または「今すぐDriveに保存」からバックアップを作成する
同意操作だけでは、最初のバックアップファイルは作成されません。
設定画面では、保存先、最後のバックアップ日時、更新番号、保存エラーなどを確認できます。
バックアップを停止したい場合
設定から同意を取り消すことで、暗号化バックアップの読み書きを停止できます。
停止後も、通常のUserPropertiesへのデータ保存は継続します。
なお、停止は削除ではありません。 以前の暗号化バックアップや鍵は自動的には削除されません。

06. データの復元と書き出し
バックアップからの復元
保存データに問題が発生した場合に備え、暗号化バックアップから復元する仕組みを用意しています。
復元は本人による明示的な操作が必要です。
また、古いバックアップによって正常な保存データが意図せず上書きされることを防ぐため、更新番号や保存状態を確認します。

JSON形式で書き出す
保存済みの個人データは、JSON形式で書き出すこともできます。
端末内に別の控えを保管したい場合などに利用できます。
書き出されるJSONファイルは暗号化されていません。保存場所や共有先には十分注意してください。
また、まだ保存が完了していない編集内容は書き出しの対象になりません。
07. 安全性と現在の制限
今回の刷新では、保存時の検証や競合の検出、暗号化バックアップによって、データを保護する仕組みを強化しました。
一方で、あらゆるデータ消失を防げるわけではありません。
保存容量の不足、Googleサービスへの接続エラー、複数の画面での同時編集などによって、保存が正常に完了しない場合があります。
また、暗号鍵を失った場合、暗号化されたバックアップだけから元のデータを復元することはできません。
バックアップを含む過去の保存世代は自動削除されないため、長期利用に伴う容量管理も今後の改善課題です。
Panoroomaでは、保存の成否を区別して表示し、問題が発生した際に無理な上書きを行わないことを重視しています。
08. よくある質問
Q. 今までのデータはどうなりますか?
既存データを維持する設計です。従来のJSONバックアップも、新方式への移行によって自動削除されることはありません。
Q. バックアップを有効にしないと使えませんか?
いいえ。暗号化バックアップを有効にしなくても、通常のUserPropertiesによる保存は利用できます。
Q. Google Driveにバックアップファイルが見当たりません。
暗号化バックアップは、通常のマイドライブ画面には表示されないアプリ専用領域に保存されます。保存状況はPanoroomaの設定画面から確認してください。
Q. 学校によっては利用できない場合がありますか?
学校のGoogle Workspace管理者が設定しているアクセス制限によって、追加の許可が必要になる場合があります。
Q. バックアップを停止するとデータは削除されますか?
いいえ。同意の取り消しはバックアップの読み書きを停止する操作であり、既存のデータや鍵を削除する操作ではありません。
学校生活の記録を、これからも。
Panoroomaは、Google Classroomをもっと使いやすくするだけでなく、日々の学校生活を支えるアプリを目指しています。
これからも、使いやすさとともに、データを安心して管理できる仕組みの改善を続けていきます。
Panorooma — 学校生活を、よりシンプルに。