ClientRects フィンガープリントとは?複数アカウント環境の整合性チェックガイド
核心要点:検出ページの ClientRects が読み取るのは、Web ページ要素のレイアウトボックスです。小数点付きの幅・高さ・座標の集合です。2 つの環境で値が合わない場合、原因は多くの場合フォント描画、画面の拡大縮小、OS の違いにあります。環境整合性の一部であり、単独では無効化できません。対処は指紋設定でのモード選択と実測です。
「整合性チェックを指紋の層まで進めたら、2 つの環境で ClientRects の値が違った。」あるいは逆に、検出ページでこの項目が黄色く表示され、問題かどうか判断に迷う、という相談もあります。いずれも共通点があります。パラメータ名は見たことがあるが、何を測っているのか、変えると何に影響するのか、確信が持てないのです。
この記事では、トラブルシューティングの順序に沿って 4 つの点に答えます。この読み取り値の正体。2 つの環境で食い違う理由。環境整合性における意味。そしてMostMateアンチ検出ブラウザでの設定と検証の方法です。MostMate はアカウントごとに隔離されたブラウザ環境を用意します。ClientRects は指紋設定の項目の 1 つです。まずは中身からです。
ClientRects フィンガープリントの中身
ひとことで言えば、ClientRects フィンガープリントはページ要素の正確なボックス座標を読み取ります。getBoundingClientRect() を呼び出すと、要素の幅・高さ・ビューポート基準の位置が得られます。MDN ドキュメントの定義は「要素のサイズと、ビューポートに対する相対位置を返す」です。折り返しのあるインライン要素は getClientRects() で読みます。1 行につき 1 つの矩形です。
重要なのは数値の形です。座標は整数ではありません。147.359375 のように、小数点以下が長い浮動小数点数です。ウェブサイトは権限を一切必要としません。スクリプトが非表示の要素を作り、固定テキストを流し込み、矩形を読み取るだけで署名が組み上がります。処理は通常のレイアウト計算に紛れています。
運営者が注意すべき理由は 3 つあります。第 1 に、無効化できないこと。レイアウト計算はページが動作する土台です。第 2 に、セッションをまたいで安定していること。同じ端末なら読み取り値はほぼ変わりません。第 3 に、フォントや画面パラメータと同じく環境宣言の一部であり、リスク管理のクロスチェックに使われることです。

2 つの環境で値が食い違う理由
文字幅は組版パイプライン各層の積み重ねで決まります:
- 文字組版エンジン:Windows、macOS、Linux でそれぞれ異なり、同じフォント・同じ文字列でも字間の計算結果が変わります。
- 画面の拡大縮小:高解像度ディスプレイと OS のスケーリングが丸めの粒度を変え、小数桁が変わります。
- フォントフォールバック:要求されたフォントが未インストールの場合、代替フォントに切り替わり、幅が変わります。
- ブラウザエンジンとページズーム:エンジンごとに改行アルゴリズムが異なり、ページズームはレイアウト処理に直接入ります。
どの差異も大きくはなく、1 つの数字だけでは何も語れません。組み合わせれば、「この端末がどんな OS と描画スタックで動いているか」を記述できます。フォントフィンガープリントの親戚でもあります。フォント列挙は名簿を直接尋ね、ClientRects は描画結果を測ります。両者は互いに裏付けになります。要するに署名です。端末単位・ウィンドウ単位のサイズパラメータは画面解像度の記事で扱いました。ClientRects はその深層にある要素単位のシグナルです。
この読み取り値が環境整合性で果たす役割
最大の価値はクロス検証にあります。環境宣言に対し、突き合わせられる実測の参照点を与えることです。環境は Windows を名乗り、一般的なフォント群を掲げている。しかし実測した文字幅は、別の OS の丸め方を示している。2 つのシグナルが衝突します。リスク管理は原理を理解する必要がなく、矛盾を見つければ足ります。
設定の一貫性は、単一パラメータの珍しさよりも確認する価値があります。2 つの環境が同一人物と判定されるかを調べるとき、矩形の読み取り値は指紋パネルが宣言する OS やフォントリストと並べて比較します。4 項目のセルフチェックも、宣言と実測を一致させるという同じ考え方です。
見落とされがちな用途がもう 1 つ。ズーム検出です。矩形の丸め方から、現在のページズーム倍率と OS のスケーリング設定を逆算できます。この情報は、端末が宣言する画面パラメータとも照合できるシグナルの組です。環境間でズーム挙動の差が大きい場合、読み取り値の違いは正常です。慌てる必要はありません。結論を出す前に、まずズーム状態を確認してください。
MostMate での設定方法
MostMate の指紋設定フォームでは、ClientRects が独立した項目になっています。隣には Canvas、AudioContext、SpeechVoices、WebGL イメージが並びます。モードは 2 つだけです。Real モードは本体の実際の組版をそのまま返します。Noise モードはノイズを加えるモードです。選び方は後述します。
選択はシーン次第です。次の 2 条件を満たすなら Real が選べます。この PC の構成が対象ユーザーの主流構成に一致していること。たとえば一般的な Windows とデフォルトフォントの組み合わせです。もう 1 つは、業務ページが高いレイアウト精度を要求し、レイアウト数値の改変を許容できないことです。Real モードの代償は、本体の実際の描画特性がそのまま露出することです。珍しいフォントを大量にインストールした PC なら、識別性はそれだけ上がります。
複数環境で同じ PC を共有するなら Noise です。各環境の読み取り値が同一の本体を指さなくなる点が、主な適用場面です。ただし代償として 1 つの制約を受け入れます。矩形値の間には算術的な関係があります。外枠の座標は内側テキストの矩形と整合しなければならず、同じ文字列の幅は比例関係を保つはずです。ノイズが一部の読み取り値にしか乗らないと、これらの関係が崩れ、かえって目立つ矛盾シグナルを作ります。だからモード選択後は必ず実測してください。デフォルト設定で問題ないと決めつけてはいけません。
Noise モードに切り替えると、指紋プレビューパネルの ClientRects の欄は 6 文字のコード付きの値に変わります。コードはノイズ設定の識別子にすぎません。実際に露出するハッシュは、環境を起動して検出ページを実行して初めて確認できます。

設定後の検証方法
検証は2段階です。数値の変化と、その後の整合を確認します。
手順 1:2 環境で読み取り値を比較。環境を 2 つ作り、一方は Real、他方は Noise を選んで、それぞれ BrowserLeaks の Client Rects 検出ページを開きます。同じマシン上なら、Real 環境の矩形値は一致するはずです。Noise 環境は Real と異なるはずで、2 つの Noise 環境の間でも差が付くはずです。記録では小数第 3 位以降に注目します。差異はまずここから現れます。環境ごとの読み取り値を記録し、その環境の基準線にしてください。
手順 2:整合確認。変更後も整合を確認します:
- セッションを変えて再測します。同じ環境の値は安定しているべきで、揺れ動く読み取り値自体が異常です。
- 指紋パネルが宣言する OS やフォントリストと照合します。描画スタイルが一致しなければならず、あるシグナルが Windows、別のシグナルが macOS を指す状態は避けます。
- 日常的なページをいくつか普通に閲覧し、目に見えるレイアウト崩れがないか確かめます。フォーム、ボタン、折り返しテキストは特に重要です。
3ステップ通れば完了です。通らなければ設定を見直します。
よくある質問
検出ページで ClientRects が赤くなったら、環境に問題があるのでしょうか?
一概にそうとは言えません。まず 2 点を確認します。環境が宣言する OS とフォントが、読み取り値のスタイルと一致しているか。ズーム状態が画面パラメータと合っているか。両方とも正常なら、単独の赤表示を心配する必要はありません。読み取りスタイルが宣言と明らかに衝突するときだけ、指紋設定でモードを確認してください。
ブラウザのズームを変えると、ClientRects フィンガープリントは変わりますか?
変わります。ズームはレイアウト処理に直接入り、矩形の丸め方も変わります。ただしズームはすべてのユーザーが行う普通の操作です。リスクは別のところにあります。ズーム状態が環境の宣言する画面パラメータと合わないことです。セッションをまたいで安定する部分は、引き続き描画スタックが決めます。
ClientRects を無効化できますか?
できません。レイアウト計算はページが動作する土台であり、組版、ポップアップの位置決め、アニメーションがすべて依存しています。ブラウザにはオフのスイッチがありません。業界の対応は精度を下げることであって、無効化ではありません。Tor ブラウザは測定値を丸めて、識別可能な差異を減らしています。
ヘッドレスブラウザはなぜ要素サイズで見破られやすいのですか?
ヘッドレス環境のデフォルトビューポートは非常に固定されており、テキスト描画スタックも単一です。測定された矩形が、宣言した UA が主張する端末としばしば一致しません。リスク管理は rect を他の宣言パラメータとクロスチェックするため、この種の環境は簡単に見つかります。
まとめ
整合性チェックにおける ClientRects の役割は明快です。環境宣言と実測の組版を並べ、矛盾をシグナルとして捉えます。検出ページが赤くなったら、まず宣言パラメータとズーム状態を照合し、整合性の欠落と確認できてから指紋設定で対処します。
MostMate は ClientRects をほかの描画パラメータと同じ指紋設定フォームにまとめ、Real と Noise の 2 モードで読み取り値の出所を制御します。機能の全体像はMostMate 公式サイトで確認できます。環境を作ったら、2 環境の比較で読み取り値の基準線を記録しておくことが、どんな設定テクニックより確実です。もちろんMostMate のダウンロードから、Real と Noise の違いを自分で測ってみることもできます。
MOSTMATE
安全な複数アカウント管理を、もっと簡単に
最初のアカウントから、MostMate でより安全でスマート、効率的な複数アカウント運用を始めましょう。
- 独立したプロファイル。一貫した識別情報。
- AI 自動化 · アカウント健全性 · チーム運用



