プライバシーポリシー
最終更新:2026年9月14日
みんなのToDoは、友人とのタスク共有・予定登録・引き継ぎに必要な情報を扱います。
扱う情報と目的
グループ名、参加者の表示名、タスク、担当者、作業の順番、期限、進捗、担当予定、通知記録を保存し、共有と引き継ぎに使います。セッションCookieで本人を識別し、端末には予定の履歴を保存します。
Google連携では、Googleの本人ID、名前、メールアドレス、プロフィール画像を、本人識別とアカウントの管理に必要な範囲で保存します。
Google連携で行うこと
- メインカレンダーのFreeBusy情報から、空いている時間帯を確認します。他の予定の件名や内容は取得・公開しません。
- 本アプリが作成した予定だけを登録・更新・削除します。
- Gmailの送信権限で、本人のアカウントから本人宛てに、タスク名・予定日時・タスクへのリンクを含む確認・引き継ぎメールを送ります。既存のメール内容や受信トレイは閲覧しません。
共有範囲と保存先
招待URLを持つ人はグループ、タスク、担当者、担当予定を閲覧でき、参加者は共有情報を編集できます。個人カレンダーにある他の予定の内容は共有しません。
機能の提供に必要な情報はGoogleとCloudflareで処理します。認証トークンは暗号化してCloudflare D1に保存します。情報はサービスの提供に必要な期間、保存します。
データの保護
Googleの認証トークンなど機密性の高い情報は、次の方法で保護します。
- 通信の暗号化:本サービスとの通信、およびGoogle APIとの通信はすべてHTTPS(TLS)で暗号化します。暗号化されていない接続では提供しません。
- 保存時の暗号化:GoogleのアクセストークンとリフレッシュトークンはAES-GCMで暗号化してから保存します。暗号鍵はデータベースとは別に、Cloudflareの秘匿設定(Secrets)で管理し、ソースコードやデータベースには置きません。暗号文は利用者とトークンの種類に結び付けており、別の利用者の記録として復号できません。
- セッションの保護:ログイン状態を示すCookieにはHttpOnly・Secure・SameSite=Laxを設定します。サーバーにはセッション値そのものではなくSHA-256のハッシュ値だけを保存し、30日で失効させ、期限切れの記録は定期的に削除します。
- 安全な認証手順:Googleとの連携にはOAuth 2.0とPKCE(S256)を使い、認証開始時の確認値は10分で失効し、一度しか使えません。
- アクセスの制限:認証トークンはサーバー内の処理でだけ使い、ブラウザや他の参加者には渡しません。Googleへ要求する権限は機能に必要な最小限に限ります。運営者がデータを確認するのは、障害対応・本人からの依頼・法令への対応に必要な場合に限ります。
- 記録(ログ)の最小化:エラー記録には処理の段階や種類だけを残し、認証トークン、認可コード、メールアドレス、メール本文、予定の内容は記録しません。
- 取り消しと削除:「連携を解除」を選ぶと、保存していた認証トークンをただちに削除し、Googleにアクセス許可の取り消しを依頼します。Googleアカウントの設定からも、いつでもアクセスを取り消せます。
- 問題が起きたとき:情報の漏えいや不正アクセスのおそれを把握した場合は、影響する認証情報を無効化し、影響を受ける利用者へ速やかに連絡します。
利用の制限
情報を広告、第三者への販売、AIの学習には利用しません。Googleから得た情報は、本アプリに表示する機能の提供に必要な範囲に限って利用します。
Google APIから取得した情報の利用・提供は、Limited Use(限定使用)の要件を含むGoogle API Services User Data Policyに従います。
連携解除とデータ削除
アカウント画面の「連携を解除」で認証トークンを削除し、Googleへのアクセス許可を取り消します。解除前に作成した予定とグループの共有データは残ります。
本人データの削除を希望する場合は、下記メールアドレスへ申請してください。本人確認のうえ対応します。
Data protection (English summary)
- All traffic to this service and to Google APIs is encrypted in transit with HTTPS (TLS).
- Google access and refresh tokens are encrypted at rest with AES-GCM before being stored in Cloudflare D1. The encryption key is kept in Cloudflare Secrets, separate from the database and source code, and each ciphertext is bound to its user and token type.
- Session cookies are HttpOnly, Secure and SameSite=Lax. Only a SHA-256 hash of the session value is stored; sessions expire after 30 days and expired records are deleted automatically.
- Google sign-in uses OAuth 2.0 with PKCE (S256); authorization state values are single-use and expire after 10 minutes.
- Tokens are used only in server-side processing and are never sent to browsers or other group members. Only the minimum scopes needed for the features are requested. The operator accesses data only when needed for incident response, a user's request, or legal obligations.
- Logs record only processing stage and error type — never tokens, authorization codes, email addresses, email bodies or calendar event contents.
- Disconnecting Google deletes stored tokens immediately and requests revocation from Google. Users can also revoke access at any time from their Google Account permissions page.
- If a data breach or unauthorized access is suspected, affected credentials are invalidated and affected users are notified promptly.
- Google user data is not used for advertising, sold, or used to train AI/ML models, and its use complies with the Google API Services User Data Policy, including the Limited Use requirements.
運営・お問い合わせ
運営:奥山彪太郎お問い合わせ・削除申請:okuyama.kotaro@gmail.com