すべてのデータはブラウザで読み取られ、サーバーには送信されません。 これらは、アクセスした Web サイトで表示されるものと同じものであるため、閲覧中に何にさらされるかを知るためにも使用されます。
仕組み
論理プロセッサ コア、おおよその RAM メモリ、画面の解像度と密度、色の範囲、ビデオ カードのメーカーと実際のモデル、バッテリの状態、接続の品質、サイトに割り当てられたストレージ容量など、ブラウザがコンピュータについて知っているすべての情報が 1 つのページにまとめられています。
各データはブラウザーの異なる API から取得され、そのすべてがどこにでもあるわけではありません。メモリ、バッテリー、ネットワーク情報は Chromium によってのみ公開されますが、GPU モデルは一部のブラウザーがプライバシーのために非表示にする WebGL 拡張機能に依存します。 データが利用できない場合は、値を作成する代わりにデータが示されます。
最後のブロックには、このブラウザーで機能が動作するかどうかを事前に知るために、有効にしたハードウェア API (NFC、シリアル、USB、Bluetooth、HID、MIDI、センサー、カメラ、マイク、WebGPU) が表示されます。 すべてがローカルで計算され、表示されるものは何もサーバーに送信されません。
例
navigator.hardwareConcurrency8ブラウザーがページに提供する論理スレッドを返します。これは、エコノミー モードまたはバックグラウンド タブにおける実際のプロセッサの論理スレッドよりも少ない場合があります。navigator.deviceMemory8メモリは指紋として機能しないように、離散値 (0.25、0.5、1、2、4、8) に切り捨てられます。12 GB のコンピューターは 8 を報告します。window.devicePixelRatio2CSS ピクセルが占める物理ピクセル数を示します。 報告された解像度にこの値を乗じて、パネルの実際の解像度を推定します。ユースケース
- システムのスクリーンショットを要求することなく、問題を報告したユーザーの前にどのコンピュータがあるかを数秒で確認できます。
- Web アプリケーションが遅い場合、マシンが専用 GPU を使用しているか統合 GPU を使用しているかを確認します。
- これらの API で開発する前に、デバイスのブラウザが NFC、シリアル、USB、または Bluetooth をサポートしているかどうかを確認してください。
- ブラウザがアクセスするサイトにどれだけの情報を公開しているかを確認し、制限するかどうかを決定します。
- レポート全体を JSON でコピーして、在庫またはチケット内の機器を文書化します。
よくある質問
報告されたメモリがコンピュータのメモリと一致しないのはなぜですか?
ブラウザーは実際の値を提供しないため、8 GB で終わる固定スケールに切り捨てられます。 16 GB または 32 GB のデバイスも 8 を報告します。これはプライバシーに関する決定であるため、このデータはデバイスを特定するのに役立ちません。
私のビデオ カード モデルが表示されないのはなぜですか?
実際のメーカーとモデルは、WEBGL_debug_renderer_info 拡張機能から取得されますが、一部のブラウザ (保護機能が強化された Safari や Firefox) では、この拡張機能が無効になります。 その場合、WebGL によって報告される一般的な値が表示されます。
バッテリーまたはネットワーク情報が表示されないのはなぜですか?
Battery Status API と Network Information API は、Chromium ベースのブラウザにのみ実装されています。 Firefox および Safari では、ブラウザーがデータを直接公開しないため、これらのブロックは表示されません。
表示されている解像度はモニターの実際の解像度ですか?
最初の行は CSS ピクセル単位で、システム スケーリング後の論理解像度です。 ピクセル密度を掛けると、パネルの推定物理解像度が得られ、これも表示されます。 非整数スケーリングの画面では、1 ピクセルの違いが生じる場合があります。
このデータにより私を特定できますか?
それらすべての組み合わせはブラウザーのフィンガープリントとして知られるものの一部であり、メーカーがさまざまな値を四捨五入したり非表示にしたりするのはそのためです。 このツールはそれらをあなたにのみ表示します。それらはあなたのコンピュータ上で計算され、保存されたりサーバーに送信されたりしません。