プライバシーと Cookie
このお知らせは、2 つの別々のものを対象としています。インストールする FoxSDR アプリケーションと、このウェブサイトです。両者は異なるデータを異なる理由で収集するため、以下で別々に説明します。ご自身の PC 上で動作するのはアプリケーションなので、まずそちらから説明します。このお知らせは短さよりも完全さを優先して書いており、どちらかが保存するすべての項目を、多くのお知らせが省いているものも含めて列挙しています。
アプリケーション:送信するもの
アカウントもライセンスキーもアクティベーションもなく、FoxSDR があなたの聞いているものについて何かを報告することは決してありません。アプリケーションが自ら行うネットワーク要求は、ちょうど 4 種類です。更新の確認、匿名の利用状況レポート(アプリケーションが開いている間の小さな「動作中」ハートビートを含む)、障害発生後のクラッシュまたはフリーズのレポート、そしてあなたがプラグインストアを開いたとき、またはその中で「今すぐ確認」を押したときに限った、プラグインカタログへの要求です。それぞれを以下で項目ごとに説明しており、どれもオフにできます。これらは 3 つのスイッチで管理されています。システム → 更新、システム → 利用状況レポート、システム → 診断です。どの機能も、これらがオンであることを前提にしておらず、オフにしても何度も催促されることはありません。
PC に残るもの
音声と生の I/Q の両方の録音、SSTV や気象衛星のデコーダーが作る画像、デコーダーがデコードしたすべてのもの、ブックマーク、バンドプラン、設定、受信位置、インストールしたプラグインは、ご自身のディスク上のファイルです。それらをアップロードするものは何もなく、チューニングした周波数が PC の外に出ることもありません。
更新の確認
アプリケーションは起動ごとに 1 回、新しいバージョンがあるかをこのサイトに問い合わせます。要求の全体は、GET /api/update?v= の後に実行中のバージョンを続けたものです。識別子も、インストール ID も、Cookie もなく、後の要求と結び付けられるものは何もありません。このサーバーはこの要求について分析用の記録を書きません。記録されるのはページビューとファイルのダウンロードだけで、更新確認のエンドポイントはそのどちらでもないからです。システム → 更新でオフにすると、アプリケーションは二度とこのサービスに接続しません。
ボタンを押さない限り、何もダウンロードもインストールもされません。押した場合、インストーラーはこのウェブサイトから HTTPS で取得され、何かが実行できるような名前をファイルに付ける前に、その SHA-256 がサーバーの公開したダイジェストと照合されます。この取得はこのサイトからの通常のダウンロードなので、他のダウンロードと同様に記録されます。記録されるのは、このお知らせのウェブサイトの部分で説明している IP アドレス、おおよその位置、ブラウザー、オペレーティングシステムです。
利用状況レポート
バージョン 0.53.0 から、システム → 利用状況レポートに匿名の利用状況レポートがあります。これは既定でオンになっており、オフにすることができます。チェックを外すと、ただちにレポートは止まります。レポートは起動ごとに 1 件、直前に終了したセッションについて送信され、その内容は以下がすべてです:
| 送信内容 | 例 | 理由 |
|---|---|---|
| インストール ID | ランダムな 16 進数 32 文字 | 100 人のユーザーと、1 人のユーザーが 100 回起動した場合とを区別するため。初回実行時にご自身の PC 上でランダムに生成され、レポートをオフにすると削除され、ハードウェア、ネットワーク、名前から導き出されることは決してありません。 |
| アプリケーションのバージョン | 0.99.39 | ユーザーが更新しているかどうか。Android アルファ版は自身のビルドを 0.98.1-android.4 として報告します。これは元になったリリース番号に -android.N という接尾辞を付けたもので、そのレポートが Windows インストーラー版のものと混同されることはありません。 |
| オペレーティングシステム | Windows 10.0.22631、Linux 6.8.0、Android 14 のいずれか | 実際に使われているプラットフォーム。オペレーティングシステムと、そのビルド番号、カーネル番号またはリリース番号で、PC の名前やユーザーアカウントは決して含みません。Linux 版 (0.99.39) と Android アルファ版 (0.98.1-android.4) も、同じスイッチの下で同じ項目を送信します。 |
| アーキテクチャ | x64 または arm64 | 同上。 |
| 起動回数 | 12 | ソフトウェアが 2 回以上使われているかどうか。 |
| クラッシュ回数 | 1 | どれくらいの頻度で失敗するか。 |
| セッションの長さ | 3600 秒 | セッションが数分単位か、数時間単位か。 |
| SDR 機種 | uhd b200 | どの SDR を優先するか。送信前にシリアル番号は除去されます。 |
| 使用した復調器とその使用時間 | WFM: 3000s | どのモードにさらなる作業の価値があるか。 |
| 開いたパネル | map, decoded | どの機能が使われているか。 |
| インストール済みプラグイン | ADS-B 1.0.0 | どのデコーダーにさらなる作業の価値があるか。 |
一覧は以上ですべてです。この一覧はアプリケーションに PRIVACY.md として同梱されており、自動テストがペイロードを項目ごとに検証しているため、そのテストが失敗し、両方の文書が更新されない限り、新しい項目を追加することはできません。レポートをオフにするとインストール ID は削除されるので、再びオンにした場合は、古いものとは結び付けられない新しい ID が割り当てられます。
レポートは起動時に、すでに終了したセッションについて送信され、終了時に送信されることは決してありません。終了時のネットワーク通信は、閉じようとしているアプリケーションをハングさせるおそれがあり、また終了時に書いたレポートは、最も数える価値のある出来事によってこそ失われてしまうからです。応答の内容を読んだり、それに基づいて動作したりすることはありません。
「動作中」ハートビート
アプリケーションの起動時に届くレポートでは、誰が起動したかはわかっても、誰がまだ開いているかはわかりません。そこで FoxSDR は、動作している間(利用状況レポートがオンの場合のみ)、5 分ごとにごく小さなメッセージを 1 つ送信します。その内容は 3 つの項目だけで、それ以外は何もありません:
| 送信内容 | 例 | 理由 |
|---|---|---|
| インストール ID | 上と同じ 16 進数 32 文字 | 1 つのコピーからの 12 回のハートビートを、12 ではなく 1 つの動作中のコピーとして数えるため。 |
| アプリケーションのバージョン | 0.99.39 | 「現在動作中」をバージョン別に分けるため。 |
| ハートビートマーカー | 1 | これがセッションレポートではなくハートビートであることを、受信側に伝えるため。 |
セッションの情報は何も一緒に送られません。モードも、パネルも、SDR の機種も、時間も、カウンターもありません。ハートビートはセッションレポートとは別の専用データセットに書き込まれるので、利用状況の数値の意味が変わることはありません。同じスイッチで両方が止まります。送信側は有効なインストール ID がなければ動作せず、利用状況レポートをオフにするとその ID は削除されるので、オフにすればハートビートは一切送られません。次の送信時刻になっても前のハートビートが送信中の場合は、キューに入れずにスキップします。
利用状況レポートの送信先
このプロジェクトが https://telemetry.foxsdr.com で運用する Cloudflare Worker に送られ、上記のカウンターが Cloudflare Workers Analytics Engine のデータセットに書き込まれます。Cloudflare は私たちに代わってこれを処理し、3 か月間保存したのち消去します。他の誰もこれを受け取らず、販売、貸与、共有されることもありません。そこから読み出すのは集計値だけで、後述する同じパスワード保護されたダッシュボードを通じて行います。Worker のソースはアプリケーションと一緒に公開しているので、受信側が何をしているかを読んで確かめられます。クラッシュレポートはここには送られません。次に説明する、このサイト自身のサーバーに送られます。
クラッシュとフリーズのレポート
FoxSDR がクラッシュしたり応答しなくなったりすると、障害を説明するレポートをご自身の PC の %LOCALAPPDATA%\FoxSDR\crashes\ に書き出し、次回の起動時にレポートのテキストを送信します。障害の最中に送信することは決してありません。障害が起きたばかりのプログラムは、安全にネットワーク接続を開けないからです。送信先はこのウェブサイトの POST /api/crash で、Cloudflare でも、どの第三者でもありません。また、レポートは匿名です。アカウントも、ライセンスキーも、サインインに使うものも何もありません。
スイッチは「システム → 診断」です。書き込みと送信の両方を同じように制御し、オフにするとレポートは書き込まれず、フォルダーも作成されず、接続も一切行われません。これは利用状況レポートとは別のスイッチです。利用状況レポートをオフにしてもクラッシュレポートは止まりません。その場合は ID が存在せず、クラッシュレポートが ID を新たに作ることもないため、レポート内のインストール ID の項目が空になります(下の表の最後の行を参照)。このリリースまで、上のお知らせは誤ったスイッチを記載していました。ソフトウェアは常に「診断」を使っており、現在は両者の記述が一致しています。
レポートに含まれる内容は、以下がすべてです:
| 送信内容 | 例 | 理由 |
|---|---|---|
| 発生した内容 | crash または hang | フリーズとクラッシュは別の障害だからです。 |
| 障害シグネチャ | cascade.exe+0x1a2b/adsb.dll | 多くの人から報告された同じ障害を 1 つの項目にまとめるため。1 つのバグについての 100 件のレポートを、100 件ではなく 1 件の修正対象として扱えます。 |
| アプリケーションのバージョン、コミット、ビルド ID | 0.61.0, 28fa1c2 | どのビルドで発生したか、どのシンボルが対応するか。 |
| 障害が発生したモジュールとオフセット | cascade.exe, 0x1a2b | プログラムのどこで問題が起きたか。 |
| オペレーティングシステムとアーキテクチャ | Windows 11、Linux、Android 14 のいずれか、x64 または arm64 | 障害は特定のプラットフォームに固有であることが多いからです。Linux や Android のレポートにも同じ項目が含まれます。どちらのプラットフォームも MSVC でビルドしないため、スタックフレームには PDB ID の代わりに、障害が発生したライブラリの GNU ビルド ID が記載されます。 |
| どのような種類の障害だったか | access violation, 0xC0000005 | レポート自身の理由の行と Windows の例外コード。特に、障害が吸収された(アプリケーションが生き延びた)のであってクラッシュではなかったことを示すのは、この項目です。これがなければ両者は同じに見えます。コードと固定の文だけで、内容は決して含みません。 |
| 読み込まれていたプラグインとそのバージョン | ADS-B 1.1.0 | 「ADS-B プラグインを読み込んだときだけクラッシュする」は障害の説明になりますが、「ときどきクラッシュする」は説明になりません。 |
| スレッドのスタック | フレームごとに cascade.exe+0x1a2b | スタックこそが障害そのものです。含まれるのはモジュール名、ビルド ID、数値のオフセットだけで、ソースのパスも、変数も、メモリの内容も含みません。 |
| セッションログの末尾 | opened rtlsdr | The last lines the application logged, which is usually what it was doing when it failed. It is the application's own log: it records state changes — source opened, rate set, plugin started — never signal content, and never the name or path of a file you opened. It also carries what the radio driver said and what its libraries printed to the standard error stream. Before any line of it leaves your computer, the application's own lines as well as the driver's, it is scrubbed: serial numbers and the device-specific part of USB device identifiers are replaced by <stripped>, the account name in a file path by <user>, and anything in single quotes, such as the names you give patch nodes and speakers, by '<name>'; on any line that mentions hertz, a frequency, tuning, a centre, a range, an offset, a carrier, a preset or transmitting, every number is replaced by # unless it is marked as a sample rate, a time, a level, a size or a count, is a version, an identifier or an error code, or is part of a name such as R820T; and lines in which the USB driver lists the devices plugged into your computer are left out, with one line saying how many. |
| コンテキストメモ | mode: WFM, sampleRate: 2400000 | アプリケーションが添付する、いくつかのキーと値のメモです。モード、ソース (信号発生器、I/Q ファイル、実際の SDR)、サンプルレート、デバイスが開いていたかどうか、シリアル番号を除いた SDR 機種、アプリケーションが何秒間動作していたか、障害が発生したスレッドが FoxSDR 自身のコードと SDR ドライバーのどちらを実行していたか。sampleRate はサンプルレートであり、チューニングした周波数ではありません。 |
| インストール ID | ランダムな 16 進数 32 文字、または空 | 送信頻度の制限に使い、その後は破棄します。インストール ID は保存されません。クラッシュを繰り返す PC がサーバーを溢れさせることがあってはならず、1 台の PC と 100 台の PC を区別することが、これを読み取る唯一の目的です。ここでディスクに書き込まれることは決してありません。利用状況レポートがオフの場合は空で送信されます。その場合は ID が存在せず、クラッシュレポートが ID を作ることもないからです。 |
Corrected in FoxSDR 0.99.33. Before 0.99.33 the scrubbing described above was applied only to the radio driver's lines, not to the application's own, and a few of the application's own lines could therefore reach a crash or freeze report carrying the frequency you had asked for or were transmitting on, a patch radio's label (which can include its serial number), the names you gave patch parts, the first line of text a decoder on the patch page had produced, and the list of USB devices the USB driver printed, including their serial numbers. That contradicted this notice. From 0.99.33 every line is scrubbed before it leaves your computer, and those log lines no longer contain those values in the first place.
クラッシュレポートには、周波数、デコードした内容、ファイルパス、ユーザー名、PC の名前、位置は一切含まれません。レポートはこのサイト自身のサーバーで、他のすべてと同じパスワード保護されたダッシュボードの奥に保管され、障害が最後に確認されてから 90 日後に削除されます。これは利用状況レポートの保存期間と同じ 3 か月です。ある障害について最初のレポートは全体を保管し、さらにその障害が持ち越されたビルドごとに 1 件ずつ、最大 3 件まで保管します。同じ障害のそれ以外のレポートは、保存せずに件数だけを数えます。自動テストが、エンドポイントが受け付ける内容とディスクに書き込む内容の両方を上の表と双方向で照合しているため、この表を変えずにどちらかに項目を追加することはできません。
完全なメモリダンプは、どの設定でも決して送信されません。メモリダンプはプログラムのメモリのコピーで、ファイル名、ウィンドウタイトル、受信した信号データを含むことがあります。既定ではオフです。「システム → 診断」でオンにすると、.dmp がテキストレポートの横にローカルにのみ書き込まれます。アップローダーが開くのは crash-*.txt と hang-*.txt という名前のファイルだけで、それ以外は何も開きません。
頻度。1 台の PC から送信されるのは 1 日最大 5 件で、同じ障害は何度発生しても 1 日 1 回だけです。どちらの制限もご自身の設定ファイルに保存されるので、クラッシュを繰り返す PC は、指示されるまでもなく自ら送信を止めます。送信に失敗したレポートは、以降の起動時に最大 3 回まで再試行され、それ以降は放置されます。レポート内のオフセットを関数名に戻すにはそのビルドのデバッグデータベースが必要ですが、それは私たち自身の PC にあり、どこにもアップロードされることはありません。この変換はサーバー上ではなく、ローカルで行います。
アプリケーションが決して送信しないもの
- チューニングした周波数。誰が何を聞いているかは、このソフトウェアが知り得る最も機微な情報であり、決して収集しません。英国では、受信を許可されていないメッセージを傍受すること、またはその内容を漏らすことは、2006 年無線電信法第 48 条に基づく犯罪です。
- 開いたファイルの名前やパス。録音のファイル名はあなた自身のデータで、サービス、場所、周波数を表していることがあります。I/Q ファイルを開き直せなかった場合、ログには開き直せなかったことだけが記録され、名前は画面上に残ります。そこなら、あなたはすでにその名前を知っています。
- デコードしたものすべて。ページャーのメッセージ、航空機、船舶、画像、衛星の通信。
- あなたの位置、または受信したものの位置。あなたが設定した受信位置も含め、どのレポートでも決して送信されません。下記をご覧ください。
- あなたの IP アドレス、またはそこから導き出される位置。インターネットの仕組み上、要求は必ず何らかのアドレスからサーバーに届きます。利用状況のエンドポイントは接続情報を読まず、要求ログも書きません。
- ハードウェアのシリアル番号。SDR の機種は役に立ちますが、シリアル番号はあなた個人の SDR を特定するものなので、送信前に除去されます。
- あなたの名前、PC の名前、ユーザーアカウント、あらゆるファイルパス。
- 完全なメモリダンプ。
受信位置と GPS
マップとレーダースコープ上のすべての距離と方位は受信位置から測定されるため、FoxSDR は受信機がどこにあるかを知る必要があります。位置は手入力するか、マップ上でクリックするか、シリアルポートにつないだ GPS 受信機から読み取ります。
位置はご自身の PC から出ません。ご自身の設定ファイルに保存され、利用状況レポートでも、ハートビートでも、クラッシュレポートでも、他のどこでも決して送信されません。GPS からの読み取りはあなたが開始するものです。ポートを指定して「GPS から位置を読み取る」を押します。ポートを占有するのは最初の測位が得られるまで、最長でも 60 秒間だけです。診断ログに記録されるのは、ポート名、ボーレート、センテンス数と衛星数、エラーだけで、位置も、NMEA センテンスのテキストも決して記録しません。ポート欄にポートらしくないものが入力された場合は、その種類と長さ (「a typed device path, 27 chars」) として記録されるので、ユーザー名を含むファイルパスがレポートに紛れ込むことはありません。これは 2 つの自動テストで保証しています。1 つはログリングに対するもの、もう 1 つは実際のアプリケーションが書き出したログファイルに対するものです。
プラグインカタログ
カタログに接続するのは、プラグインストアのウィンドウを開いたとき (FoxSDR 0.99.16 以降はセッション中の最初の 1 回のみ)、その中で今すぐ確認を押したとき、そして何かをインストールすると選んだときです。起動時には何も取得せず、ウィンドウが勝手に開き直すことも、プラグインが自動で更新されることもありません。カタログは GitHub で公開されているファイル (raw.githubusercontent.com) なので、その要求は GitHub のサーバーに届き、あらゆる Web 要求と同様に、送信元のアドレスが GitHub から見えます。あなたの識別子は一緒に送信されません。インストール ID も、Cookie も、利用状況レポートと結び付けられるものも何もありません。ダウンロードはすべて HTTPS で行い、サイズに上限を設け、別ホストへのリダイレクトは拒否し、カタログに公開された sha256 と照合してからでなければファイルとして保存しません。取得元は設定で変更できます。別のカタログや、ご自身のディスク上の index.json を指定でき、その場合はネットワーク要求は一切行われません。
衛星の軌道要素
衛星プラグインは、読み込まれている間、satellite.cfg に記載された取得元から 12 時間ごとに軌道要素を取得して最新の状態に保ちます。このサイトはそれらの軌道要素のコピーを GET /tle/all.tle に置いています。CelesTrak の stations、amateur、weather の各グループと NOAA 15、18、19 を、ここで 12 時間ごとに更新しています。satellite.cfg のすべての取得元が失敗したときは、Satellites 1.0.4 以降が自動でこのファイルに切り替えます。CelesTrak に拒否される PC でも追跡を続けられるようにするためです。そのためにファイルがこのサイトを指定している必要はありません。ファイル内に fallback-url none という行があればこの切り替えは無効になり、refresh-hours 0 ですべての取得が無効になります。この要求には識別子もインストール ID も Cookie も含まれず、このサーバーは分析用の記録を書きません。更新の確認と同様、記録されるのはページビューとファイルのダウンロードだけで、このミラーはそのどちらでもないからです。軌道要素そのものは CelesTrak (celestrak.org) のものであり、すべての応答にそう明記しています。
航空機の登録情報の照会
任意の Aircraft Info プラグインは、マップ上の各航空機が何者か(機体記号、型式、運航者)を表示します。この要求をアプリケーション自体が行うことはなく、このプラグインをインストールすることで有効になります。バージョン 1.1.0 から、プラグインはまず GET /api/aircraft/<address> でこのサイトに問い合わせ、航空機の 6 桁の 16 進数 ICAO アドレスだけを送信します。これは航空機自身が送信している番号で、識別子もインストール ID も Cookie もありません。各機体について問い合わせるのは 1 回だけで、答えはご自身の PC に保存されるので、再び問い合わせることはありません。このサイトがその航空機を知らない場合や接続できない場合に限り、プラグインは無料の第三者サービスである api.adsbdb.com に問い合わせます。以前のバージョンでは常にこちらに問い合わせていました。受信機が受信する航空機の集合からはその受信機のおおよその場所がわかるため、このプラグインは任意とし、インストール前にそのことを表示します。
照会についてこのサーバーが保持するもの:要求ごとの記録は一切ありません。分析用の記録は書かれず、航空機のアドレスも要求元のアドレスもログに記録されません。唯一の記録は、サーバーが最後に起動してからの 5 つの累計値(照会数、該当あり、該当なし、不正な形式、レート制限)で、ダッシュボードに表示されます。表を丸ごとコピーされないよう、接続元のアドレスごとに照会の上限をメモリ上に保持しています。これはここにある他のエンドポイントとまったく同じで、ディスクに書き込まれることはありません。サーバーが再起動したとき、または追跡中のアドレスが 1 万件を超えたときの、いずれか早いほうで忘れられます。
回答は OpenSky Network の航空機データベース (opensky-network.org) から得ています。機体ごとの機体記号、型式指定子、製造者、モデル、そして記録があれば運航者です。OpenSky はこのデータベースを現状のまま提供しており、利用者に次の文献の引用を求めています:Matthias Schäfer, Martin Strohmeier, Vincent Lenders, Ivan Martinovic and Matthias Wilhelm, “Bringing Up OpenSky: A Large-scale ADS-B Sensor Network for Research”, in Proceedings of the 13th IEEE/ACM International Symposium on Information Processing in Sensor Networks (IPSN), April 2014. そこに記録されている登録所有者は、このサイトにコピーされず、このサイトから配信されることもありません。個人所有の航空機の場合、それは個人の名前だからです。配信するのは、航空会社、空軍、企業である運航者だけです。
ブラウザーインターフェイス
FoxSDR は、同じネットワーク内の他の PC にインターフェイスを HTTP で配信できます。これは既定ではオフで、変更するまではご自身の PC にのみバインドされます。それ以外へのバインドにはパスワードが必須で、パスワードがなければ、より広い範囲へのバインドは開かれずに拒否されます。パスワードはハッシュ化して保存され (PBKDF2-HMAC-SHA256)、設定が変わるたびにセッションは失効します。TLS はあえて提供していません。アプリケーションは暗号ライブラリをリンクしておらず、提供できないトランスポートセキュリティを装うつもりはないからです。前段にリバースプロキシかプライベートトンネルを置き、決して直接ポートフォワードしないでください。アクセスを許可した人は誰でも、受信機の動作を見て操作できます。
アプリケーションから送信される機能の要望
アプリケーションのメインページには「機能を要望」ボックスがあり、希望する機能を入力して「送信」を押せます。そのボタンを押すまで何も送信されず、自動で送信されることはありません。届かなかった要望がバックグラウンドでキューに入れられたり再試行されたりすることもなく、入力した内容はボックスの中に(メモリ上だけに)残るので、もう一度「送信」を押せます。設定ファイルやログに書き込まれることは決してありません。1 件の要望に含まれる内容は、以下がすべてです:
| 送信内容 | 例 | 理由 |
|---|---|---|
| 入力した内容 | Please add a squelch control to the FLEX decoder | 要望そのもの。10~100000 文字。保存前に制御文字は除去され、改行は保持されます。 |
| 連絡先(入力した場合) | [email protected] またはコールサイン | 任意、最大 120 文字。追加で質問をするためのものです。空欄にすれば、要望にはあなたを特定できるものは何も含まれません。 |
| アプリケーションのバージョン | 0.99.39 | 要望がどのビルドから送られたか。 |
| オペレーティングシステム | windows、linux、android のいずれか | どのプラットフォームから送られたか。 |
| アーキテクチャ | x64 または arm64 | 同上。 |
| スキーマ番号 | 1 | 通信仕様のバージョン。将来形式が変わっても、上の項目と取り違えられないようにするためです。 |
送信先はこのウェブサイトの POST /api/feature-request です。IP アドレスは送信頻度を妥当な範囲に抑えるためだけに使われ、ディスクに書き込まれることは決してありません。実際に保存される記録は、メッセージ、連絡先アドレス(入力した場合)、アプリケーションのバージョン、プラットフォーム、アーキテクチャ、そして私たちの照会で接続から判明する場合はおおよその国で、それ以外は何もありません。これは、ここにある他のすべてと同じパスワードで保護された管理ダッシュボードで、プロジェクトの管理者が読みます。そしてダッシュボードから削除されるまで、またはあなたが依頼するまで保存されます。対応済みの要望 (FoxSDR に追加されたもの、または別の方法で回答したもの) は、削除せずにそこでアーカイブすることがあり、何が要望され何が作られたかをプロジェクトが把握できるようにしています。アーカイブされた要望も、上記のすべての情報とともに引き続き保持されます。連絡先アドレスを入力していて要望の削除を希望する場合は、下記のアドレスに、送信した内容を見つけられる程度に引用してご連絡ください。
アプリケーションから送信される不具合報告と不満
アプリケーションには「機能を要望」のすぐ下に「不具合 / 不満を報告」ボックスがあり、何かが壊れていること、または気に入らないものがあることを書いて「送信」を押します。これは機能の要望ボックスとまったく同じように動作します。そのボタンを押すまで何も送信されず、バックグラウンドでキューに入れられたり再試行されたりすることもなく、入力した内容はメモリ上にだけ残り、設定ファイルにもログにも書き込まれません。これはクラッシュレポートではなく、クラッシュレポートの内容は何も含みません。1 件の報告に含まれる内容は、以下がすべてです:
| 送信内容 | 例 | 理由 |
|---|---|---|
| 不具合か不満か | bug または dislike | ボックスの上部で選んだ種類。動作しないものなのか、設計どおりに動作するものの、そうでなければよいと思うものなのか。 |
| 入力した内容 | The waterfall freezes when I change the sample rate | 報告そのもの。10~100000 文字。保存前に制御文字は除去され、改行は保持されます。 |
| 連絡先(入力した場合) | [email protected] またはコールサイン | 任意、最大 120 文字。追加で質問をするためのものです。空欄にすれば、報告にはあなたを特定できるものは何も含まれません。 |
| アプリケーションのバージョン | 0.99.39 | 報告がどのビルドから送られたか。すでに修正済みの不具合を再び追いかけないためです。 |
| オペレーティングシステム | windows、linux、android のいずれか | どのプラットフォームから送られたか。 |
| アーキテクチャ | x64 または arm64 | 同上。 |
| スキーマ番号 | 1 | 通信仕様のバージョン。将来形式が変わっても、上の項目と取り違えられないようにするためです。 |
送信先はこのウェブサイトの POST /api/problem-report です。IP アドレスは送信頻度を妥当な範囲に抑えるためだけに使われ、ディスクに書き込まれることは決してありません。実際に保存される記録は、不具合か不満かの区別、メッセージ、連絡先アドレス(入力した場合)、アプリケーションのバージョン、プラットフォーム、アーキテクチャ、そして私たちの照会で接続から判明する場合はおおよその国で、それ以外は何もありません。これは、ここにある他のすべてと同じパスワードで保護された管理ダッシュボードで、プロジェクトの管理者が読みます。報告はダッシュボードから削除されるまで、またはあなたが依頼するまで保存されます。対応済みの報告 (FoxSDR で修正されたもの、または別の方法で回答したもの) は、削除せずにそこでアーカイブすることがあります。アーカイブされた報告も、上記のすべての情報とともに引き続き保持されます。連絡先アドレスを入力していて報告の削除を希望する場合は、下記のアドレスに、送信した内容を見つけられる程度に引用してご連絡ください。
ウェブサイト:訪問時に記録されるもの
Cookie に同意するかどうかにかかわらず、ページビューとダウンロードごとに記録が書き込まれます。これはファーストパーティの分析であり、データはこのサイトを配信するサーバーにとどまり、広告ネットワークと共有されることはなく、ページにはサードパーティのスクリプトもありません。
| 記録内容 | 取得元 | 同意が必要 |
|---|---|---|
| 日時、要求されたページ、HTTP メソッドとプロトコル | 要求 | いいえ |
| IP アドレスと、そのソルト付きハッシュ | 接続 | いいえ |
| おおよその位置:国、地域、市区町村、郵便番号の区域、タイムゾーン、その市区町村の座標(あなた自身の座標ではありません) | IP アドレス (ip-api.com で照会) | いいえ |
| ネットワーク:インターネットプロバイダー、組織、AS 番号、そのアドレスが既知の VPN、データセンター、モバイルネットワークのものかどうか | 同じ照会 | いいえ |
| ブラウザーとそのバージョン、オペレーティングシステムとそのバージョン、デバイスの種類、要求がボットらしく見えるかどうか | User-Agent ヘッダー | いいえ |
どのページから来たか、リンクに付いたキャンペーンタグ (utm_source など) | Referer ヘッダーと URL | いいえ |
| 優先する言語 | Accept-Language ヘッダー | いいえ |
| ダウンロードしたファイル、そのバージョン、送信されたバイト数、転送が完了したかどうか | ダウンロードそのもの | いいえ |
| 画面とウィンドウのサイズ、ピクセル比、色深度 | ブラウザー(このページのスクリプトが報告) | はい |
| CPU コア数と、おおよそのデバイスメモリ | 同じスクリプト | はい |
| タイムゾーン、言語の一覧、ダークモードの設定、タッチ対応、プラットフォーム | 同じスクリプト | はい |
| 接続の種類、推定ダウンリンク速度、ラウンドトリップ時間 | 同じスクリプト | はい |
| ページが表示されていた時間、スクロールした距離、クリック数、押したボタン | 同じスクリプト | はい |
意図的に行っていないこと
- ブラウザーフィンガープリンティングは行いません。Canvas、音声、フォント、WebGL の調査も、拒否したあとにあなたを再識別しようとすることも一切ありません。
- サードパーティのトラッカー、広告ピクセル、ソーシャルウィジェット、分析サービスはありません。このページで他のドメインから読み込まれるものは何もありません。
- クリップボード、バッテリー、カメラ、マイク、保存されたパスワード、閲覧履歴を読み取ろうとすることはありません。どれも、ダウンロードページが関わるべきものではありません。
- あなたのデータを販売、貸与、共有することはありません。サーバーがあなたについて外部に行う唯一の要求は、上で説明した IP アドレスから位置への照会です。
あなたが公開するインターフェースのデザイン
このサイトは、あなたが公開を選んだ FoxSDR のインターフェースのデザイン (.foxui パッケージ) を保管できます。Publish を押すまで何も送信されず、送信先は POST /api/gui/publish です。保管されるのはパッケージの中身です。つまり、デザインそのもの、入力した名前・バージョン・説明、入力した場合は作成者名、公開された日時、そしてランダムな識別子です。あなたの IP アドレスは公開の頻度を妥当な範囲に保つためだけに使われ、ディスクに書き込まれることはありません。公開されたパッケージはどこにも一覧表示されません。リンクを知っている人なら誰でもダウンロードできます。管理画面から削除されるか、あなたが依頼するまで保管されます。依頼する場合は下記のアドレスに、そのリンクを添えてご連絡ください。
ベータテスターとして登録した場合
インターフェースのデザインを公開する場合 (上記) を除き、このサイトがあなたに何かを求めるのは、ベータのフォームとニュースの登録だけです。フォームを送信すると、メールアドレスと、任意で入力した項目 (名前またはコールサイン、プラットフォーム、使用予定の SDR、メモ、テストを申し出た機能の一覧) が保存されます。あわせて、上で説明したものと同じ訪問のコンテキスト(おおよその位置、ネットワーク、ブラウザー、オペレーティングシステム)も保持します。不具合報告は、それがどんな環境から来たかによって読み方が大きく変わるからです。
- アドレスの用途は 1 つだけです:ベータビルドとテストする内容についてご連絡することです。ニュースレターもマーケティングもなく、他の誰かに渡すことも決してありません。
- 確認するまでは何も起こりません。登録すると 6 桁のコードを記載したメールが 1 通送られ、そのコードをページに入力して、アドレスがご本人のものであることを確認します。コードの有効期間は 30 分で、5 回間違えると拒否されます。入力されるまで登録は無効です。テスターリストには載らず、カウントもされず、以降は何も送られません。他人があなたのアドレスを入力した場合は、そのメールを無視すれば登録が有効になることはありません。配信停止の手続きも、あなたが取るべき行動も何もありません。登録によって自動的に送られるメールは、その 1 通だけです。
- ご連絡をいただいた方を招待することがあります。アドレスを添えて私たちに連絡をくださった方(たとえばアプリケーションの要望ボックスから)には、このサイトの「確認」キーを開く 1 回限りのリンクを添えて、個人的な招待を 1 通お送りすることがあります。この招待は、未確認の登録とまったく同じく保留中の登録として保持されます。「確認」を押さない限りテスターにはならず、カウントもされず、無視した場合は再びご連絡することはありません。保留中の登録が自動で期限切れになることはなく、私たちがリストから消去したとき、または下記のアドレスへのメール 1 通でご依頼いただいたときに削除されます。
- 確認が済むと、あなた専用の管理用リンクが発行され、テストを申し出た内容を必要とするビルドが出たときにご連絡します。それは人が書くメールであり、メーリングリストではありません。リンクをなくした場合は、新しいリンクを発行できます。古いリンクはすぐに使えなくなり、新しいリンクはメールでお送りします。発行した日時と、そのメールが送信されたかどうかは記録として残ります。
- そのメールは Apple を経由します。
foxsdr.comのメールは Apple の iCloud メールサービスで運ばれるため、あなたのアドレスとメッセージは、私たちのメールプロバイダーとしての Apple の規約の下で、あなたに届くまでに同社のサーバーを通過します。それ以外に、あなたについて同社に送られるものはありません。 - 分析とは切り離して保管します。登録情報は専用のファイルに保存され、サーバーを実行しているアカウントだけが読み取れます。分析ログには、何らかの登録があったことと選ばれた機能の数だけが記録され、誰が登録したかは記録されません。アドレスが分析ログに入り込むと、自動テストがビルドを失敗させます。
- すでにリストにあるアドレスで再度登録しても、その登録内容は変更されません。変更はご自身のテスター用ページから行います。その代わり、そのアドレスにメールが 1 通送られます。確認済みならそのアドレス専用のリンク、未確認なら新しいコードで、15 分に 1 回を超えて送られることはありません。
- お送りした内容のコピーを保管します。このサイトがテスターに送るすべてのメッセージ(確認メールと、ビルドに関する各メッセージ)は本文とともに保管し、何を伝えたか、それが届いたかを確認できるようにしています。コピーはアドレスではなく内部 ID に紐付けて保存され、個人に関わる部分(確認コードやリンク、あなた自身の管理用リンク)は保存前に除去されるので、保管されたメッセージを使ってあなたになりすますことはできません。これらのコピーは、あなたが登録を解除したとき、登録内容の他の部分と一緒に削除されます。
- あなたと私たちの間のメッセージは保存されます。テスターポータルの「メッセージ」欄は FoxSDR の開発者とのやりとりです。私たちが書いたものとあなたの返信が、それぞれ書かれた日時と、選んだ場合は関係するあなたのレポートとともに保存されます。保存はメールアドレスではなく内部 ID に紐づけて行い、読めるのはあなた(専用リンクを持つ本人)と私たちだけです。また、私たちのメッセージがあなたの画面に表示されたことを記録し、届いたことを確認します。ページを開いている間は数秒ごとに新しいメッセージを問い合わせるため、メッセージは書かれるとすぐに表示されます。その際、最後にページを操作してからの時間も伝えます。問い合わせが続いている間とその後三十秒間、かつ直近五分以内にページを操作していた場合に限り、あなたがページにいることをサーバーが把握しますが、これはサーバーのメモリ上にだけあり、記録されることはありません。メッセージごとにメールを送ることはありません。あなたがページを離れているときに私たちが書き込むと、メッセージが届いていることを知らせる短いメールが一通だけ届きます。メールにはあなたのリンクが記載されますが、メッセージ本文は含まれません。そのメッセージが未読の間は、最大 12 時間、同様のメールは送られず、前回から三十分以内にも送られません。また、書き込んだときにあなたがページにいても、十分後にまだメッセージを見ていなければ、そのときメールが送られます。そのメールの控えは上記のとおり保存されます。あなたが書き込んだときは、どこにもメールは送られません。やりとりは、あなたが退会するか削除を依頼するまで保存され、退会するとすべて削除されます。
- ベータプログラムが終了するまで、またはあなたが依頼するまで保管します。下記のアドレスにメールを 1 通送っていただければ、登録を解除し、登録内容を削除します。理由を書く必要はありません。
- ここでの法的根拠は、チェックボックスにチェックを入れることで示されるあなたの同意です。チェックがなければフォームは送信されません。
ニュースのメール配信に登録した場合
ニュースページが求めるのは 1 つだけ、あなたのメールアドレスです。FoxSDR の新しいバージョンが出たとき、またときどき開発中の内容についてメールでお知らせするために保存します。それ以外の目的には使わず、誰にも渡しません。
- 確認するまでは何も起こりません。登録すると、ページに入力する 6 桁のコードを記載したメールが 1 通送られます。入力されるまで他には何も送られず、1 週間以内に確認されなかったアドレスは削除されます。これはサーバー上で毎日実行されるコードによって行われます。他人があなたのアドレスを入力した場合は、そのメールを無視してください。
- すべてのメールに、1 回押すだけでリストから外れるリンクが付いています。登録を解除すると、サーバーのファイルからアドレスが削除され、そのアドレスに送った内容について保管していたコピーも一緒に削除されます。そのアドレスについては何も残りません。
- 独立したリストです。ニュースの購読者はベータテスターではありません。アドレスは別のファイルに保存され、サーバーを実行しているアカウントだけが読み取れ、テスターとしてカウントされたり表示されたりすることはありません。テスターでもある場合、各メッセージは 1 回だけ届きます。
- お送りした内容のコピーを保管します。テスターの場合とまったく同じく、アドレスではなく内部 ID に紐付け、確認コードと配信停止リンクを除去して保存します。
- そのメールは Apple を経由します。上でテスターについて説明したとおりです。
- 分析ログには、何らかの登録があったことだけが記録され、誰が登録したかは記録されません。
- 法的根拠は、チェックボックスにチェックを入れることで示されるあなたの同意です。チェックがなければフォームは送信されません。
Cookie
| Cookie | 目的 | 有効期間 |
|---|---|---|
fox_consent | 同意したか拒否したかを記憶し、確認が 1 回で済むようにします | 1 年(同意)/ 6 か月(拒否) |
fox_vid | 再訪問を同じブラウザーとして識別するためのランダムな識別子。同意した場合のみ設定されます。 | 400 日 |
fox_sid | 一続きの訪問を 1 つのセッションとしてまとめます。同意した場合のみ設定されます。 | 操作がない状態で 30 分 |
fox_beta | ベータテスター用のリンクを保持し、ご自身の登録内容に戻れるようにします。テスターとして登録した場合にのみ、それがあなたの求めたことだからこそ設定されます。計測は一切行わないため、上の分析に関する選択の対象ではありません。登録を解除すると消去されます。 | 400 日 |
foxsdr_lang | このサイトで選んだ言語を記憶し、次のページもその言語で表示します。言語セレクターや ?lang= を含むリンクで、ご自身で言語を選んだときにのみ設定され、es のようなその言語のコード以外は何も保持しません。計測は一切行わないため、上の分析に関する選択の対象ではありません。 | 1 年 |
fox_news_joined | Cookie ではなく、ブラウザー自身のストレージにあるフラグで、私たちに送信されることはありません。ダウンロードのあと、サイトはニュースをメールで受け取りたいかを尋ねますが、このブラウザーから登録して確認を済ませると、尋ねるのをやめます。保持するのは 1 だけで、登録した場合に限られます。 | このサイトのデータを消去するまで |
拒否した場合、識別用の Cookie は設定されません。その場合、訪問は IP アドレスとブラウザーから作る毎日切り替わるハッシュでまとめられます。これは集計のために訪問者を区別するもので、日をまたいだり、サイトをまたいだりしてあなたを追跡するためには使えません。このサイトの Cookie を消去して再読み込みすれば、選択を変更できます。
表示される言語
各ページは英語以外の言語でも表示できます。どの言語になるかは、要求したページごとにサーバーが次の順序で決めます。まず、ご自身で選んだ言語 (上記の foxsdr_lang Cookie、またはリンク内の ?lang=)。それがなければ、ブラウザーが Accept-Language ヘッダーで示す優先言語。それもなければ、接続元の国の主要言語です。国は、このサイトの前段にあるネットワークである Cloudflare が、要求と一緒に 2 文字の国コード (CF-IPCountry) として渡します。それもなければ英語です。この選択のために何かが保存されることはありません。ヘッダーと国コードはその 1 回の応答のために読み取られるだけで、そのために保持されることはありません。これらは、上の表ですでにページビューごとに記録されるものとして挙げている 2 つと同じもので、国コードは私たち自身のアドレス照会で答えが得られない場合に使われます。翻訳は機械によるもので、このお知らせとライセンスについては英語の文章が拘束力を持ちます。
目的と法的根拠
目的は限られています。このプロジェクトを見つける人がどれくらいいて、おおよそどこにいて、何で動かしていて、そのうち何人がダウンロードに進むのかを知ることです。それが、作業を続けるかどうか、次に何を作るかを決めます。
サーバー側の記録は、サイトを理解し安全に保つことについての正当な利益を根拠として保持します。ブラウザーが報告する詳細情報と識別用の Cookie は、あなたの同意を根拠として保持します。そのためこれらはバナーの向こう側にあり、拒否してもこのサイトで不利益はありません。
保存期間と閲覧者
記録は 24 か月間保持したのち削除します。記録はサーバー上のファイルに置かれ、プロジェクトの管理者だけが開けるパスワード保護されたダッシュボードの奥にあります。他に受領者はおらず、すでに説明した IP 照会を除いて、第三国への移転もありません。
2 つのものは、より短い期間しか保持しません。クラッシュとフリーズのレポートは、それが説明する障害が最後に確認されてから 90 日後に削除され、Cloudflare が処理する利用状況レポートは 3 か月後に削除されます。これらの期間はいずれも、誰かが忘れずに実行することではなく、サーバー上で毎日実行されるコードによって守られています。
あなたの権利
英国または EU にいる場合は、あなたについて保持されている情報のコピーを求めること、その訂正や消去を求めること、またそもそも収集されることに異議を唱えることができます。これには同意に依存しないサーバー側の記録も含まれます。記録を見つけるための実際の手がかりは訪問した時点の IP アドレスなので、それとおおよその訪問日時を添えてください。
アプリケーションについては、管理手段はソフトウェア自体の中にあり、次の 3 つです:
- システム → 利用状況レポートは、利用状況レポートと 5 分ごとのハートビートを停止し、インストール ID を削除します。あとで再びオンにすると、古いものとは結び付けられない新しい ID が割り当てられます。
- システム → 診断は、クラッシュとフリーズのレポートの書き込みと送信を停止します。
- システム → 更新は、更新の確認を停止します。
レポートにはあなたと結び付けられるものは何も含まれないため、アクセスを求める対象はありません。すでに送信されたレポートからインストール ID を削除したい場合は、その ID を記載して下記のアドレスにご連絡いただければ削除します。
子どもについて。FoxSDR は無線愛好家向けの技術的な計器です。子どもを対象としておらず、誰からも個人情報を収集しないため、子どもから収集することもありません。
[email protected] までご連絡ください。対応が不適切だと思われる場合は、英国情報コミッショナーズオフィス (ico.org.uk) に苦情を申し立てることもできます。
最終更新:2026 年 9 月 24 日。FoxSDR 0.99.39 (このサイトが現在提供しているビルドで、上記のすべての記述をそのソースで確認した版) に基づいています。FoxSDR は Steven Fox が公開しています。このお知らせについてのご質問や、送信済みのレポートからのインストール ID の削除は、上記のアドレスまでご連絡ください。このお知らせがソフトウェアの動作と食い違うことがあれば、間違っているのはソフトウェアのほうです。ウェブサイトの収集処理は store.go と app.js に実装されており、どちらもサイト自身のソースで読むことができます。アプリケーション自身の一覧は PRIVACY.md として同梱され、テストがペイロードをその一覧に合わせて検証しています。