置き卓通知 プライバシーポリシー
Summary in English
- 置き卓通知 (Okitaku) is an unofficial companion app for the online TRPG tool CCFOLIA. It is not affiliated with, endorsed by, or sponsored by ココフォリア株式会社 (CCFOLIA's operator).
- No account or sign-up. We do not ask for or collect your name, email address, phone number, location, contacts, or photos.
- No analytics, no advertising, no tracking, no crash-reporting SDKs.
- The app signs in to CCFOLIA as an anonymous guest. Reading and sending messages in the app goes directly from your device to CCFOLIA, not through our servers.
- For push notifications, the app sends our notification relay only: your room IDs, your device's push token (APNs / FCM), your notification settings, and a SHA-256 hash of your anonymous guest ID. To create notifications, the relay itself reads new messages in the rooms you registered. It keeps message text and speaker names only in memory until the notification is sent, never in files or logs. Its logs record only times, device IDs, room IDs, notification types and results, and error types (never push tokens, message text, or speaker names), are kept for 30 days, and include no access logs of IP addresses. The app registers with the relay only after you allow notifications (on Android, only while notifications are allowed and turned on for the app), and removes the registration when you revoke notification permission (on Android, also when you turn off notifications in the app or replace your ID with a transfer file). A device registration is also deleted when Apple or Google reports the push token as invalid, or after 90 days without requests from the app.
- Notification titles and the first 80 characters of public messages are delivered through Apple Push Notification service (iOS) or Firebase Cloud Messaging (Android).
- The optional transfer file is encrypted on your device with your passphrase and is never sent to us.
- Contact: apps@yusukedoi.com
1. このアプリについて
置き卓通知は、オンラインセッションツール「ココフォリア」の部屋を、スマートフォンで読み書きし、新しい発言を通知で知るための非公式のアプリです。ココフォリア株式会社とは関係がなく、同社が提供・承認したものではありません。
このページでは、このアプリがどの情報を、どこに保存し、どこへ送るかを説明します。
2. 要点
- アカウント登録はありません。名前・メールアドレス・電話番号・位置情報・連絡先・写真を求めることも、集めることもありません。
- 分析ツール・広告・トラッキング・クラッシュ報告の仕組みは使っていません。
- 発言を読む・送るのは、この端末からココフォリアへ直接です。運営者のサーバーを通りません。
- 通知のためにだけ、運営者の「通知の中継サーバー」へ、部屋の ID・通知の宛先・通知の設定・照合用の値を送ります。通知を作るために、中継サーバーは登録された部屋の新しい発言を自分で読みますが、発言の本文は保存しません(下の 5)。
- 引き継ぎファイルは端末の中で合言葉によって暗号化され、運営者には送られません。
3. 端末の中に保存する情報
次の情報はこの端末の中にだけ保存し、運営者へは送りません(ココフォリアや中継サーバーへ送るものは 4・5 に書いたとおりです)。
| ゲストの利用者 ID と更新用の鍵 | ココフォリアに匿名(ゲスト)でサインインするためのものです。初めて使うときに自動で作られます。iOS ではキーチェーンに「この端末のみ」の設定で、Android では暗号化した保存領域に置きます。 |
|---|---|
| 部屋の一覧 | 追加した部屋の ID と名前。 |
| 通知の設定 | 全体・部屋ごと・タブごとのオン/オフ、通知する時間帯など。 |
| 画面の状態 | 見た目(ライト/ダーク)、部屋ごとに最後に選んだキャラ、最近使った表情差分、どこまで読んだか など。 |
| 中継サーバー用の端末の鍵 | 通知の中継サーバー(下の 5)に登録したときに受け取る鍵。iOS ではキーチェーンに「この端末のみ」の設定で、Android では暗号化した保存領域に置きます。 |
| キャラの控え | 自分のコマにしたキャラを作り直すための写し(名前・アイコンの URL・色・表情差分・チャットパレット・ステータスなど)。部屋ごとに保存します。 |
Android 版は Google へのバックアップの対象外にしています。iOS 版のキーチェーンの項目は「この端末のみ」のため、ほかの端末へは移りません。それ以外の iOS の保存データは、iCloud バックアップなど OS の仕組みでバックアップに含まれることがあります。
4. ココフォリアとの通信
このアプリは、ココフォリアのサーバー(Google の Firebase 上で動いているもの)に、端末から直接つながります。
- サインイン: ゲストとして匿名でサインインします。ココフォリアのアカウントやパスワードは使いません。
- 読むもの: 追加した部屋の情報・発言・参加者の一覧・キャラ(駒)。自分宛てでない秘話、入っていない非公開タブ、シークレットダイスの中身は、ココフォリアと同じく表示しません。
- 書くもの: 部屋を開いたとき、部屋の参加者の一覧に自分の行(表示名は空・匿名であることの印・時刻)を書きます。ほかに、あなたが操作したときだけ、送った発言、「自分のコマにする」、自分のコマの名前・色・メモの編集、しまう/盤面に出す、控えからの作り直しを書きます。
- 画像: キャラのアイコンなどの画像は、ココフォリアの画像置き場(
storage.ccfolia-cdn.net)から読みます。 - 設定の読み込み: つなぐために必要な公開の設定を
ccfolia.comから読みます。
ココフォリアに送った発言などはココフォリアのデータになり、その扱いはココフォリアの利用規約・プライバシーポリシーによります。この節の通信は運営者のサーバーを通りません(通知のために中継サーバーが読むものは 5 に書きました)。
5. 通知の中継サーバーへ送る情報
新しい発言を通知で知らせるため、運営者が管理する中継サーバーを使います。
送るとき
iOS 版は通知を許可したあと、Android 版は通知が許可されていて全体の通知がオンのときだけ、この端末を中継サーバーに登録し、以後、設定を変えるたびに写します。
送るもの
- 端末の種類(iOS か Android か)
- この端末への通知の宛先(iOS は APNs のデバイストークン、Android は FCM の登録トークン)
- 通知する部屋の ID と、部屋ごと・タブごとのオン/オフ、時間帯を無視する設定
- 通知する時間帯と、全体のオン/オフ
- ゲストの利用者 ID の SHA-256 ハッシュ値。元の ID には戻せない値で、自分の発言を自分に通知しないためだけに使います。
ゲストの利用者 ID そのもの・鍵・発言・キャラ・引き継ぎファイルは送りません。
中継サーバーが保存するもの
- 中継サーバーが割り当てた端末の ID と、上の送るもの。端末ごとの鍵は、元に戻せないハッシュ値で持ちます。
- 登録した日時と最後に通信した日時
- 中継サーバーが読んだ部屋の名前と、部屋ごとの読み取り位置(最後に読んだ発言の時刻と ID)・最後に発言があった時刻
- 通知する時間帯の外に来た発言の件数(時間帯に入ったら件数だけを通知するため)
- その端末への直近 20 件の通知の記録(日時・部屋の ID・種類・送れたかどうか。本文は含みません)
- 日ごとの数(端末と部屋の数の最大、読み取りの数、通知の結果ごとの数、再起動の回数)。部屋の ID・名前・端末の ID・本文は含みません。
中継サーバーがすること
- 中継サーバー自身のゲストとして、登録された部屋の新しい発言を読みます。ココフォリアへは書き込まず、参加者の一覧にも入りません。
- 公開のタブの発言は、題「部屋名 / 発言者名」、本文「発言の先頭 80 字」(改行は空白に、公開のダイスは結果を含みます)で通知します。続けて来た発言はまとめて「(ほか N 件)」と数だけを足し、時間帯の外に来た発言は、時間帯に入ってから部屋名と件数だけを通知します。シークレットダイスは「新しい発言があります」とだけ通知し、秘話と非公開タブの発言は通知しません。
- 通知には、押したときに開く部屋の ID とリンク(
ccf://room/部屋の ID)も入れます。 - 発言の本文と発言者名は、通知を送るまでの間だけメモリに置き、ファイルにもログにも残しません。中継サーバーの動作ログに書くのは、時刻・端末の ID・部屋の ID・見張りの開始と終了・通知の種類と結果・エラーの種類だけです。通知の宛先・発言の本文・発言者名は書きません。動作ログは 30 日で消します。中継サーバーは通信元の IP アドレスなどのアクセスログを取りません。
- アプリは起動したときと 1 時間ごとに、中継サーバーへ「いま使えるか」を問い合わせます(この問い合わせでは端末の情報を送りません)。
中継サーバーの先で関わる事業者
- 通知は、iOS では Apple の Apple Push Notification service、Android では Google の Firebase Cloud Messaging を通って届きます。通知の題・本文・部屋の ID・リンクはこれらを通ります。
- アプリと中継サーバーの間の通信は、Cloudflare のネットワークを経由します。
Android 版で中継サーバーを使えない間は、アプリ自身がおよそ 15 分ごとにココフォリアの部屋を確かめて通知します。このときの通信は 4 のとおり端末からココフォリアへ直接です。
6. 引き継ぎファイル
設定の「引き継ぎ」で書き出すと、ゲストの利用者 ID と鍵、部屋の一覧、キャラの控えを、あなたが決めた合言葉で暗号化した 1 つのファイルを作ります(合言葉から PBKDF2-HMAC-SHA256 を 60 万回かけて鍵を作り、AES-256-GCM で暗号化します)。暗号化は端末の中で行い、ファイルの渡し先(「ファイル」や AirDrop など)はあなたが選びます。ファイルも合言葉も運営者には送られません。
ファイルと合言葉の両方を持つ人は、あなたのゲストとして部屋のコマを操作できます。両方を同じ場所に置かないでください。
7. 使っていないもの
- 分析ツール、広告、トラッキング、広告識別子(IDFA など)、クラッシュ報告の仕組み
- 位置情報・連絡先・カメラ・マイク
- 他社のサービスへ情報を送る部品(SDK)は、Android 版の通知の受け取りに使う Google の Firebase Cloud Messaging だけです。iOS 版には外部の部品を入れていません。
iOS では、利用者が iPhone の設定で「App デベロッパと共有」を有効にしている場合、Apple が集めたクラッシュ情報や利用状況が Apple を通じて運営者に提供されることがあります。
8. 保存期間と削除
- 端末の中の情報: アプリを削除すると消えます。ただし iOS のキーチェーンの項目は、OS の仕組みでアプリの削除後も残ることがあります。
- 中継サーバーの登録: 部屋を一覧から削除すると、その部屋の登録を中継サーバーから消します。iOS 版では、通知の許可を切ると端末の登録ごと消します。Android 版では、通知の許可を取り消したとき・全体の通知をオフにしたとき・引き継ぎで ID を置き換えたときに、端末の登録ごと消します(アプリを閉じている間に許可を取り消した場合も、およそ 15 分ごとの確認で消します)。どれも、そのとき中継サーバーと通信できなかった場合は登録が残ります(Android 版は次に確かめるときに消し直します)。Android 版は、中継サーバーから登録が無いと返されたときも、端末に持っている中継サーバー用の鍵を捨てます。このほか中継サーバーは、Apple・Google が通知の宛先を無効と返したとき(アプリを削除したときなど)と、アプリからの要求が 90 日間無いときに、端末の登録を消します。
- 中継サーバーの動作ログ: 30 日で消します。
- ココフォリア上の情報: 送った発言やキャラはココフォリアのデータです。扱いはココフォリアの定めによります。
9. 第三者への提供
運営者は、中継サーバーで受け取った情報を、広告や販売に使いません。5 に書いた通知の配送(Apple・Google)と通信の経路(Cloudflare)のほかに、第三者へ提供しません。法令に基づいて求められた場合を除きます。
10. このポリシーの変更
アプリの作りが変わり、扱う情報が変わるときは、このページを更新し、上の日付を改めます。
11. 問い合わせ先
Ashwell Works(運営者 土居優介)
apps@yusukedoi.com
Contact: Ashwell Works (Yusuke Doi), apps@yusukedoi.com