seinan-watch Privacy Policy

このページは、seinan-watch が Google ユーザーデータおよび学校連絡をどのように扱うかを説明します。

最終更新日: 2026年9月7日

このアプリについて

seinan-watch は、西南学院小学校から保護者に届く連絡を取得し、家族が確認しやすい形に整理して通知するための個人利用アプリです。開発者本人およびその家族だけが使います。一般向けサービスではありません。

利用目的

Google ユーザーデータおよび学校連絡は、次の目的だけに使います。

Gmail の権限

使用する Google OAuth scope は次の1つだけです。

https://www.googleapis.com/auth/gmail.readonly

これは読み取り専用です。アプリはメールの送信、削除、編集、既読化、ラベル変更を行いません。

取得対象

このアプリは、Gmail 全体を人間が閲覧するためのメールクライアントではありません。

権限の範囲として、Google から付与されるのは Gmail の読み取り専用アクセスです。技術的には、その権限の範囲内のメールを API 経由で参照できます。

アプリが実際に処理する範囲は、主として tsuitamon@tsuitamon.net から届く学校連絡です。件名に「登下校門通過情報」を含むメールは、アプリ側の決定論的なルールで除外し、要約対象にしません。

AI による処理

学校連絡の件名、本文、および添付 PDF などは、要約を生成するために Google Gemini API へ送信される場合があります。PDF があるときは、本文テキストに加えて PDF そのものを文書として渡し、表・グラフ・図・数字の理解にも使います。PDF の取得に失敗したときは本文だけで要約します。

Gemini API の呼び出しに失敗したときは、原文の短い抜粋で通知を試みることがあります。

Slack への通知

要約された学校連絡は、開発者本人が管理する家族向け Slack へ送信されます。第三者向けの公開チャンネルではありません。

保存

アプリは、メール本文や添付ファイルの全文を、処理済み記録として永続保存する設計ではありません。処理済みかどうかの判定のため、次のような識別情報を state.json に保存します。

この記録は、同じ連絡を繰り返し通知しないために使います。GitHub Actions で運用する場合、この state ファイルは非公開リポジトリ上で更新されることがあります。

要約処理の過程では、メール本文や PDF をメモリ上で扱い、Gemini API および Slack へ必要な範囲で送信します。OAuth の refresh token などの認証情報は、環境変数や GitHub Secrets に置きます。この公開サイトや公開リポジトリには置きません。

第三者提供・販売

Google ユーザーデータを販売しません。広告目的にも、信用情報の判定にも使いません。

不必要な第三者へ提供しません。ただし、このアプリの処理に必要な範囲で、次のサービスへデータが送られます。

セキュリティ

OAuth の認証情報や token は、ローカルの環境変数や GitHub Secrets などで管理し、この公開サイトや公開リポジトリへ掲載しません。絶対に漏れないことの保証ではありません。

データ削除・利用停止

利用を止めるときは、次ができます。

Google API Services User Data Policy

seinan-watch の、Google API から受け取った情報の利用および転送は、 Google API Services User Data Policy (Limited Use 要件を含む)に従います。

The use of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.