ログインしない場合
ログインは任意で、ログインしなくても本アプリのすべての機能を使えます。本アプリには広告・分析・エラー報告のツールを組み込んでいません。ログインしない場合、本アプリは、運営者のサーバーを含め、デバイスの外にトレーニングデータを送信しません。
- 利用者が入力したワークアウトプラン・ルーティン・トレーニング記録(メモを含む)は、利用者のデバイス内にのみ保存されます。運営者はこれらの情報を見ることができません。
- デバイスのバックアップ(iCloud バックアップ、Google バックアップなど)をオンにしている場合、これらの情報もバックアップに含まれます。バックアップは Apple・Google と利用者の間のものであり、運営者はアクセスしません。
- 本アプリを削除すると、デバイスに保存された情報も一緒に削除されます。
ヘルスケア App・ヘルスコネクト
利用者が許可した場合、本アプリは終了したワークアウト(種類・開始時刻・終了時刻・運動時間・ルーティン名・プラン名)を、iPhone では Apple のヘルスケア App に、Android ではヘルスコネクトに書き込みます。本アプリはヘルスケア App やヘルスコネクトのデータを読み取りません。
- 書き込んだ情報はデバイス内にのみ保存されます。本アプリはこの情報を運営者のサーバーに送信せず、広告に利用したり第三者に提供したりしません。
- iPhone では iOS の設定 → Reppy またはヘルスケア App から、Android ではアプリの設定またはヘルスコネクトのアプリの権限から、いつでもオフにできます。
ログインする場合に収集する情報
アプリのプロフィールタブから、または AI アプリから Reppy を連携するときに Web 画面で、Apple または Google のアカウントでログインします。Android で Apple のログインを使う場合は、アプリの上にブラウザ画面が開き、Reppy のサーバーを経由します。初めてログインすると Reppy アカウントが作成され、次の情報がサーバーに保存されます。
- Apple・Google から受け取る値:アカウント識別子、メールアドレス(Apple の「メールを非公開」のアドレスの場合があります)と確認済みかどうか、Apple・Google から提供される場合は名前とプロフィール写真の URL
- アカウント情報:上記の値、ログイン時刻、アカウント削除時に Apple・Google ログインの連携を解除するためのトークン(暗号化して保存)
- トレーニングデータ:プラン、ルーティン(名前、種目、セットごとの回数・重量、休憩時間)、選んだルーティン、マイ種目(名前、部位、器具)、終了したトレーニング記録(種目ごとのセット・回数・重量、メモ、開始・終了時刻)。アプリで作成したものと AI が作成したものが同じアカウントに集まります。削除した項目は、内容のない削除の印(識別子・時刻)だけが残ります。
- ログインセッション:アプリのログインを維持するトークンのハッシュと有効期限(アクセス 15 分、更新 30 日)
- ログイン処理用の一時記録:ログイン1回を確認するための使い捨ての値。原文ではなくハッシュで保存します(Apple ログインの nonce は、Apple が返す値と照合するためそのまま保存します)。Android の Apple ログインでは、アカウントとの対応と使い捨てコード(ハッシュ)も保存します。ログインは開始から、アプリのログインは5分以内、Android の Apple ログインは10分以内に完了する必要があり、使い捨てコードは60秒以内に1回だけ使えます。
- 連携情報(AI 連携を使う場合):連携した AI アプリの名前とアドレス、許可した権限、連携した日、最後に使った日、解除した日
- 利用記録(AI 連携を使う場合):呼び出し回数(呼び出し上限の計算用)、サーバーログの連携識別子・ツール名・結果の種類・時刻
ログインするとすること:デバイス間の同期
ログインしている間は、アカウントが原本で、デバイスは電波がなくても使えるように持つコピーです。デバイスのプラン・ルーティン・選んだルーティン・マイ種目・終了したトレーニング記録がサーバーにアップロードされ、同じアカウントでログインした他のデバイス(iPhone・Android のどちらも)と同期されます。アプリが前面に戻ったとき、トレーニングを終了したとき、内容を編集または削除した後に自動で同期します。同期ボタンはありません。
- ログインするとき、デバイスとアカウントの片方にだけ記録がある場合は確認しません。デバイスにだけあればアカウントにアップロードし、アカウントにだけあればアカウントのデータを受け取ります。同じ項目は、後から編集した方が残ります。
- デバイスとアカウントの両方に記録がある場合は、ログイン後に最初に確認します。統合する:デバイスの記録がこのアカウントにアップロードされ、アカウントのデータと統合されます。統合しない:もう一度確認したうえで、デバイスのプラン・ルーティン・マイ種目・トレーニング記録を消去し、このアカウントの記録だけを受け取ります。デバイスの記録はアップロードしません。キャンセル:ログインせず、デバイスのデータはそのまま残ります。
- 同期しないもの:進行中のトレーニング、デバイスの設定(重量の単位など)、ヘルスケア App・ヘルスコネクトに書き込んだ記録
- 電波がないときは、デバイスのまま使い、次回に同期します。
- ログアウトすると、このデバイスの記録は消去されます。まず、まだアップロードできていない変更を一度アップロードし、そのあとデバイスのプラン・ルーティン・選んだルーティン・マイ種目・終了したトレーニング記録を消去します。アップロードできない場合(電波がないときなど)は、その変更が失われることをお知らせし、確認を求めます。進行中のトレーニング、デバイスの設定、ヘルスケア App・ヘルスコネクトに書き込んだ記録は消去しません。サーバーにアップロードしたデータはアカウントに残り、どのデバイスでも再びログインすると戻ります。サーバーのデータは、アカウントを削除するときに消去されます(下の「利用者の権利」)。
- ログアウト操作をしていないのにログインが解除された場合は、デバイスの記録を消去しません。同じアカウントで再びログインすると、続きから同期します。
AI との会話内容やツールがやり取りする内容は、サーバーログに残しません。
連携画面では、ログインの手続きとログイン状態の維持(最大1時間)のために Cookie を使います。広告・分析用の Cookie はありません。ブラウザで Cookie をブロックすると AI アプリを連携できません。
利用目的
- アカウントの確認とログイン
- 利用者のトレーニングデータをアカウントに保存し、デバイス間で同期すること
- 利用者が連携した AI アプリがトレーニングデータを読み、プラン・ルーティンを作成できるようにするため
- 連携の管理、過度な呼び出しの防止、エラーの確認
- お問い合わせへの回答
保存期間と廃棄
- アカウント情報とトレーニングデータ:アカウントを削除するまで。削除するとすぐに消去します。ログアウトしても、サーバーのデータは残ります。
- ログインセッション:アクセストークンは15分、更新トークンは30日間使え、ログアウトするとアプリがサーバーに失効を要求し、すぐに使えなくなります。要求が届かなかった場合(オフラインなど)、そのセッションは更新トークンの有効期限(30日)までサーバーに残り、その後整理されます。セッション記録(トークンのハッシュ)は、トークンの有効期限が切れた日またはログアウトした日から30日後に消去し、アカウントを削除するとすぐに消去します。
- ログイン処理用の一時記録(ログイン確認用の使い捨ての値、Android の Apple ログインの記録):有効期限が切れてから1日後に消去します。アカウントに結び付いた記録は、アカウントを削除するとすぐに消去します。
- 解除した連携:解除から30日後に消去します。アカウントを削除するとすぐに消去します。
- 連携トークン:有効期限が切れてから30日後に消去します。
- 呼び出し回数:2日後に消去します。
- サーバーログ:30日後に消去します。
- お問い合わせメール:紛争に備えて保存し、お問い合わせの対応後1年以内に消去します。
期間が過ぎた情報や削除を求められた情報は、データベースから消去します。サーバーのデータは毎日バックアップし4日間保存するため、消去した情報はバックアップからも最大4日後に消えます。
AI サービスへの提供(第三者提供・国外移転)
ログインして保存されたデータが AI サービスに送られるのは、利用者が AI 連携を使う場合だけです。運営者は、利用者が同意した場合に限り、利用者が連携した AI アプリが Reppy のツールを呼び出すたびに、その結果をその AI サービスに送ります。同意は連携のたびに同意画面で、アカウント登録とは別に取得します。
- 提供先:Claude — Anthropic, PBC(アメリカ)、ChatGPT — OpenAI(アメリカ)、Gemini — Google LLC(アメリカ)。その他の AI アプリは同意画面に表示される提供先
- 項目:プラン・ルーティン・選んだルーティン、終了したトレーニング記録(種目のメモを含む)、種目別の統計(最後に行った日、ベストセット、ボリューム)。メールアドレスなどのアカウント情報は送りません。
- 目的:AI との会話でトレーニングのルーティンを作り、記録を確認するため
- 時期と方法:AI がツールを呼び出すたびに、インターネット(HTTPS)で送ります。
- 保存期間:提供先のポリシーに従います。連携を解除すると、運営者はそれ以上送りません。すでに送られた会話内容は、その AI サービスで削除する必要があります。
- AI モデルの学習:運営者は利用者のデータを AI モデルの学習に使いません。連携した AI サービスが受け取ったデータをどう使うかは、そのサービスのポリシーに従います。
- 拒否する権利:同意しないこともできます。拒否すると連携されず、アプリはそのまま使えます。
- 解除の方法:reppy-api.moseoh.com/connections または AI アプリの連携設定から、いつでも解除できます。解除すると、その AI アプリはすぐに読み書きできなくなります。
処理の委託とその他の国外移転
- サーバーの運用:Oracle Cloud Infrastructure(韓国)— サーバーとデータベース
- 通信・セキュリティ:Cloudflare, Inc.(アメリカおよび Cloudflare のエッジがある国)— reppy.moseoh.com と reppy-api.moseoh.com へのリクエストを中継・保護します。最寄りのエッジで HTTPS 接続を終端するため、接続元 IP とリクエストの内容が通信中に経由します。利用のたびにネットワーク経由で送られ、保存の有無と期間(保存しない、または短期間のログ)は Cloudflare のポリシーに従います。
- ログインの確認・連携の解除:Apple Inc.・Google LLC(アメリカ)— ログイン時にサーバーが認可コードを Apple・Google に送ってトークンに交換し(ID トークンはサーバーが公開鍵で自ら検証します)、アカウント削除時にログイン連携を解除(トークンの失効)するリクエストを送ります。利用者がログインまたはアカウントを削除するたびに、インターネット(HTTPS)で送られます。
- お問い合わせメールの転送:Cloudflare, Inc.(アメリカ)— reppy@moseoh.com に届いたメール(送信元アドレス・内容)を運営者のメールボックスに転送します。メールを送信した時点でインターネット経由で移転されます。
- お問い合わせメールの保存:Google LLC(アメリカ)— 運営者のメールボックス(Gmail)。お問い合わせの対応後1年以内に消去します。
韓国の外から利用する場合
サーバーは韓国にあります。韓国の外からログインまたは AI 連携を使うと、上記のアカウント情報とトレーニングデータが利用者の国から韓国のサーバーに移転され、保存・処理されます。望まない場合はログインしなければよく、アプリはそのまま使えます。
14歳未満の方
14歳未満の方はログインと AI 連携を使えません。14歳未満の利用者のアカウントであることが分かった場合は、そのアカウントとデータを消去します。ログインしない場合は情報を収集しないため、年齢に関係なくアプリを使えます。
利用者の権利
- 自分の個人情報の閲覧・訂正・削除や、処理の停止を求めることができます。reppy@moseoh.com までご連絡いただければ、10日以内に回答します。
- アプリ(プロフィール → アカウント → 退会)から自分でアカウントを削除できます。上記のメールで求めることもできます。削除すると、アカウント情報、サーバーに保存されたトレーニングデータ、ログインセッション、すべての AI 連携を消去し、Apple・Google ログインの連携(トークンの失効)も解除します。連携を解除できない場合は、アカウントを削除せず、エラーをお知らせします。アプリで退会した場合は、このデバイスのプラン・ルーティン・マイ種目・トレーニング記録も(アップロードせずに)消去します。メールで求めて削除した場合は、このデバイスの記録は残り、アプリを削除すると一緒に消えます。
- 削除した情報は、サーバーのバックアップからも最大4日後に消えます(上の「保存期間と廃棄」)。
- AI 連携は、上記「解除の方法」で自分で解除できます。
安全管理措置
- サーバーとの通信は HTTPS のみで行います。
- ログインセッションのトークンと連携トークンは原文ではなくハッシュで保存し、Apple・Google ログインの連携を解除するためのトークンは暗号化して保存します。
- サーバーとデータベースは Oracle Cloud Infrastructure(韓国)のブロックボリュームに保存され、OCI が既定でボリュームとそのバックアップを AES-256 で保存時に暗号化します。
- AI は連携で許可したトレーニングデータだけを見ることができ、アカウント情報は見られません。AI アプリはプラン・ルーティン・記録を削除できません。
- 過度な呼び出しは制限します。
個人情報保護責任者・お問い合わせ
個人情報保護責任者:Seongha Moon(Reppy 運営者、個人開発者)· reppy@moseoh.com
個人情報の侵害に関する申告・相談は、韓国の個人情報侵害申告センター(privacy.kisa.or.kr、韓国内から 118)、個人情報紛争調停委員会(kopico.go.kr、1833-6972)で受け付けています。
本ポリシーの変更
本ポリシーを改定する場合は、このページでお知らせし、施行日を更新します。デバイスのデータをサーバーに送る機能を追加または変更する場合は、その機能を公開する前に本ポリシーを改定します。以前のポリシーはこちらでご覧いただけます。