プライバシーポリシー
An Array of Photos(以下「本アプリ」)は、利用者自身のGoogle Driveに保存されたJPEGとRAW(RW2)を閲覧し、RW2をブラウザ内で調整してJPEGを作成するWebアプリです。本ポリシーでは、本アプリがGoogleユーザーデータへどのようにアクセスし、利用・保存・保護するかを説明します。
1. Google Driveへのアクセス
本アプリは、Google Drive APIの読み取り専用権限(https://www.googleapis.com/auth/drive.readonly)を要求します。この権限はGoogle Drive全体を読み取れる範囲を持ちますが、本アプリの機能では、利用者が写真ライブラリの起点を選ぶために必要なフォルダ情報と、選択した起点以下で利用者が閲覧するフォルダ、JPEG、RW2、その表示・調整に必要なメタデータと画像データを取得します。
本アプリからGoogle Drive上のファイルを作成、変更、移動、削除する処理は行いません。
2. 取得するデータと利用目的
- Google DriveのフォルダID・フォルダ名・親フォルダとの関係: 写真ライブラリの起点を選択し、マイドライブおよびGoogle Drive for desktopの「パソコン」を含むフォルダ階層を表示するために利用します。
- Google Drive上の利用者を区別する識別子(permissionId): 同じ端末で複数のGoogleアカウントを利用した場合に、端末内のフォルダ索引をアカウントごとに分離するために利用します。
- Google Drive Changes APIのページトークン: 前回のフォルダ索引作成・同期以降に発生した変更だけを次回取得するために利用します。
- JPEGおよびRW2のファイルID・ファイル名・サイズ・撮影日時等のメタデータ: 写真の一覧作成、時間単位での表示、並べ替え、画像取得に利用します。
- JPEGの画像データ: 一覧サムネイル、全画面表示、A/B比較、元JPEGの端末への保存、2枚組JPEGの作成に利用します。
- RW2の画像データ: 一覧では埋め込みJPEGを必要な範囲だけ取得し、利用者がRW2を開いた場合は、埋め込みJPEGの表示とブラウザ内でのRAW処理のために利用します。
- ブラウザ内で作成したJPEG: 2枚組JPEGまたはRW2から作成したJPEGとして端末へ保存するために利用します。Google Driveへアップロードしません。
- OAuthアクセストークン: 利用者のブラウザからGoogle Drive APIへアクセスし、同じブラウザセッション内のページ再読み込み後に接続を復元するために利用します。
Googleユーザーデータを広告、信用評価、データ販売、または本アプリの写真閲覧機能と無関係な目的には利用しません。
3. 保存
OAuthアクセストークンはAPI利用中のページ内メモリに加え、同じブラウザセッション内のページ再読み込み後に接続を復元するため、ブラウザのsessionStorageへ保存します。保存するのはアクセストークン、有効期限、利用中のOAuthクライアントIDです。有効期限の直前、Google Drive APIから認証エラーが返った場合、または現在のOAuthクライアントIDと一致しない場合は保存したトークンを利用せず削除します。アクセストークンをlocalStorage、IndexedDB、本アプリ運営者のサーバーへ保存する処理はありません。
ブラウザのlocalStorageには、利用者が選択した写真ライブラリのルートフォルダのIDと名前を保存します。
フォルダ選択を待ち時間なく行えるよう、ブラウザのIndexedDBには、Google Driveの利用者識別子、そのアカウントで読み取ったフォルダのID・名前・親フォルダとの関係、次回の差分取得を始めるためのChanges APIページトークンをフォルダ索引として保存します。写真一覧、JPEG・RW2の画像データ、作成したJPEG、OAuthアクセストークン、時間セグメント、並び順をIndexedDBへ保存する処理はありません。
一覧・全画面・比較に使用するJPEG、RW2、作成したJPEGはブラウザ内で一時的に扱い、画面の終了、対象の変更、ページの再読み込み等に応じてメモリと一時URLを解放します。
4. Googleユーザーデータの保護
- 本アプリの配信元、Google Identity Services、Google Drive APIとの通信にはHTTPSを使用します。
- OAuthアクセストークンは、利用者のブラウザからGoogle Drive APIへ送る
Authorizationヘッダーで使用します。URL、本アプリ運営者のアプリケーションサーバー、広告配信事業者、アクセス解析事業者へアクセストークンを送信する処理はありません。 sessionStorageへ保存したアクセストークンは、有効期限の直前、Google Drive APIから認証エラーが返った場合、またはOAuthクライアントIDが一致しない場合に利用を停止して削除します。Refresh Token、クライアントシークレット、Googleアカウントのパスワードは取得・保存しません。localStorage、sessionStorage、IndexedDBには、同一オリジンのページから利用するブラウザの保存領域を使用します。保存対象は、接続の復元とフォルダ索引に必要な項目へ限定します。- JPEG、RW2、作成したJPEGは利用者のブラウザ内で処理します。本アプリ運営者のアプリケーションサーバーへ送信せず、一時的なメモリとURLは利用終了に応じて解放します。
- Google Drive APIには読み取り専用権限で接続します。本アプリからGoogle Drive上のファイルを作成、変更、移動、削除する処理は行いません。
5. 第三者への提供
本アプリ運営者は、Google APIから取得した利用者のデータを第三者へ販売しません。また、広告配信事業者やデータブローカーへ提供しません。
Google APIへのリクエストは、利用者のブラウザから直接行い、本アプリ運営者のアプリケーションサーバーを経由しません。JPEG、RW2、作成したJPEG、アクセストークンを同サーバーへ送信・保存する処理はありません。法令上必要な場合などを除き、本アプリ運営者がGoogleユーザーデータを人手で閲覧することを前提とした機能もありません。
6. 利用者による管理
保存済みの写真ライブラリはアプリ内で別のフォルダへ変更できます。本アプリ運営者のアプリケーションサーバーにはGoogleユーザーデータを保存しません。ブラウザのlocalStorage、sessionStorage、IndexedDBに保存された本アプリのデータは、利用者自身がこのサイトのサイトデータを削除することで削除できます。
Googleアカウントから本アプリへのアクセス許可を取り消す場合は、Googleアカウントの「サードパーティ製のアプリとサービスへの接続」から本アプリのアクセス権を削除できます。
7. Google API Services User Data Policy
本アプリによるGoogle APIから受け取った情報の利用は、Google API Services User Data Policy(Limited Use requirementsを含む)に従います。
8. ポリシーの変更
本アプリによるGoogleユーザーデータの扱いを変更する場合は、本ポリシーを更新します。Googleユーザーデータの取得・利用・保存・共有に関する実態と本ポリシーが一致するよう維持します。
9. お問い合わせ
本アプリについてのお問い合わせは、hybriszojoman@gmail.comへお寄せください。