参考文献 / 証拠
Telegram · レポートの設定と検証
レポートフィルター、8種類のデザイン、コンテンツのプリセット、保存された変更履歴、および署名付きエクスポートに含まれる評価。
選択した観察事項を、案件に関する読みやすい報告書にまとめます。その内容には、案件の課題、 範囲、保存された変更点、図表、調査結果、およびソースの参照先が含まれます。各レポートは、 受領者が提供された資料を確認し、その収集範囲を 検証する手段を提供します。
「信頼の根拠と制限事項」セクションは、ジャーナル、引き継ぎ、チャット、
アカウント、および共有レポートに記載されています。ジャーナルおよび引き継ぎのPDFは、
署名済みのreport.jsonと同じ評価を使用しています。ZIPマニフェストは、署名済みの
マニフェスト内にcase_assessmentを含んでいます。この評価は、エクスポートされた資料と共に渡されます。元の
観察結果には、既存の署名が保持されます。
文書の形式と読み順#
レポートスタジオ#
[エクスポート] → [設定] を開き、プレビューを表示してください。[データ] → [デザインと内容] → [プレビュー] の順に進めてください:
- ワークスペース全体を使用するか、チャット、投稿者、UTC 基準の監視 期間およびイベントタイプを選択してください。カタログを読み込んでチャットや投稿者を検索するか、 Telegram ID を入力してください。投稿者フィルターは記録された送信者 ID と照合されます。送信者が記載されていない 削除通知は、投稿者フィルターには一致しません。
- ページデザインを選択した後、グラフ、参加者ラベル、トランスクリプト、および ご自身の調査結果を選択してください。デザインを変更しても、これらの選択内容は保持されます。
- プレビューを作成します。プレビューには、実際の件数、アクティビティ、参加者、サンプル レコード、保存された変更内容、および欠落しているメッセージ番号の範囲が表示されます。選択内容を変更すると、 プレビューは最新ではなくなります。HTML、署名付きPDF、 署名付きJSON、または証拠用ZIPファイルをダウンロードする前に、必ず保存してください。
データプレビューでは、初期サンプルではなく、完全かつ安定したログのプレフィックスがカウントされます。 表示されているサンプル行および長いリストのみが範囲に含まれており、省略された件数が 表示されます。後日のエクスポートでは新しい安定版スナップショットが取得されるため、収集が継続されている場合、 数値が増加する可能性があります。範囲、件数、およびソースの識別情報は、 署名付きレポートに含まれます。フォームを開いたりプレビューしたりしても、保存はされません。
管轄に関するガイダンス。 「ドキュメントの詳細」の下にある「管轄に関するガイダンス・オプション」 を開き、管轄区域および民事/商事手続きまたは刑事手続きを選択してください。付録には、 法的根拠、出典リンク、作成上の注意事項、および調査状況が記載されています。 現地語による 収集の安全対策に関する要約および説明は任意です。デフォルトでは、 管轄区域は選択されていません。これらの選択はワークスペースに属し、 保存されたレイアウト設定や暗黙の共有・コピーのデフォルト設定からは除外されます。 「デフォルト設定」、「サポートされているレポート」、および「調査の制限」 を参照してください。
受取人用のコピーを選択してください。 グラフおよびトランスクリプトには、選択された記録が使用されます。 完全性、保管、および網羅性は、ソースジャーナル全体を記述するものです。証拠用ZIPファイルには、 元の記録と添付ファイルが含まれています。受取人が選択された許可されたデータのみを受け取る必要がある場合は、最小限の引き渡し を行ってください。
編集内容、削除箇所、およびIDの欠落を確認してください#
編集履歴では、保存された「変更前」と「変更後」のテキストが表示され、変更された 単語がハイライトされます。削除履歴では、通知前に保存された最新のバージョンが表示されます。それ以前の コンテンツがキャプチャされていない場合は、レポートにその旨が記載されます。編集または削除のみを選択した場合、 以前のバージョンは、フィルターの外側で明示的にラベル付けされたコンテキストとして 引き続き利用可能です。 関連性のないメッセージは、これらの履歴には追加されません。
「未確認メッセージID」とは、選択されたチャット内の既知の番号と 日付から導出されたIDの範囲との間に生じるギャップを指します。番号を 「未確認」と判定する前に、すべての既知のソースレコードがチェックされます。別の 作成者、イベントタイプ、または日付をフィルタリングしても、 誤ったギャップが生じることはありません。 隣接する保存済みメッセージには「コンテキスト」というラベルが付けられます。番号が 欠落しているからといって、メッセージが存在していたことや削除されたことが確定するわけではありません。削除通知 および再確認の失敗は、依然として別個のイベントタイプとして扱われます。
デザインを選択してください#
ジャーナル形式および単一チャット形式のHTMLレポート、ならびに署名付きPDF レポート用に、8種類のページデザインが用意されています。これらは同じ記録データと計算式を使用していますが、表紙、 タイポグラフィ、章見出し、表、行間が異なります。
| デザイン | 文章のスタイル |
|---|---|
| クラシック | 暗い色の表紙で、各セクションに番号が振られた従来の書類形式。 |
| 編集上の注意事項 | 枠付きのセリフ体タイトルページ、広い余白、そして細い章見出し欄。 |
| 概要 | ネイビー色の背表紙、短い見出し、行間を狭くした表を備えたコンパクトな表紙。 |
| 分析 | アンケート形式の表紙、モジュール式の図表プレート、等幅フォントの図表。 |
| 技術 | 罫線入りの記録簿、番号付き参照レール、および正確な比較表。 |
| 概要 | パノラマ風の表紙、ゆとりのある余白、そして目立つ要約図。 |
| シリーズを読む | セクション見出しと、調査結果、範囲、変更点、観察記録をまとめた章構成。 |
| 元帳と証拠余白 | 章には番号を付け、余白を広く確保し、図表は正確に再現し、メッセージのトランスクリプトは別紙として記載してください。 |
デザインはワークスペースごとに保存され、署名付きエクスポートマニフェストに記録されます。 HTMLはオフラインでも動作し、ライトテーマとダークテーマに対応しており、狭い画面 や右から左への言語にも適応します。ネイティブPDFはバンドルされたフォントを使用します。エディトリアルデザインには、 バンドルされたSIL Open Font Licenseに基づくNoto Serifが含まれています。読み取りシリーズおよび 「Ledger & margin」は、アカウント概要、アカウントチャット、コピーの共有にも適用されます。
中国語、日本語、韓国語のPDFについては、サーバー上に適切なフォント(
Noto Sans CJKなど)がシステム全体にインストールされているか、TGWITNESS_FONT_DIRに配置されている必要があります。
利用できない場合、ZIPファイルにはHTMLおよびJSON形式のレポートが保存されます。
これら2つのデザインには、JavaScriptを使用せずに閲覧可能なジャーナルが含まれています。大規模な エクスポートの場合、このビューには8 MiBの入力制限内で最大500件の完全なレコードが表示されます。 レポートには制限数が明記されており、完全なビューアおよびソースレコードへのリンクが掲載されています。 アカウントディレクトリおよび関係インデックスは、その同じ閲覧サンプルについて記述しており、 すべての参加者を網羅しているわけではありません。フルジャーナルチャートは、個別に明記された範囲を維持しています。
コンテンツを選択してください#
| 目次(事前設定) | デフォルトで含まれるもの |
|---|---|
| 事件ファイル | アクティビティ、観察時間、参加者、チャット、および記録のトランスクリプト。 |
| 概要 | 参加者の順位や会話記録を含まないアクティビティの概要。 |
| アクティビティのレビュー | アクティビティ、観察時間、参加者、チャットおよびその構成については、出典の参照と正確な数値を明記してください。 |
| カスタムレポート | 図表、トランスクリプト、プレビューを自由に組み合わせてください。 |
プリセットを変更しても、デザイン、ケースの詳細、および記述された分析内容は保持されます。整合性 チェック、カバレッジ、制限事項、および検証手順は、すべてのデザインに維持されます。 チャートやトランスクリプトが非表示になっても、ZIP ファイル内のソースレコードは変更されません。
オプションの「検査メモ」には、レポート作成者が記述した質問、方法、所見、および 結論が含まれます。所見には、ソースファイルと記録番号を 明記してください。署名により、これらの作成者による記述がレポートと共に 保存され、ソースの観察内容と作成者の解釈が識別可能なまま維持されます。 簡略化された引き継ぎでは、これらの非公開メモや完全な診療記録は省略されます。診療記録および 検査の選択項目は、診療記録レポートに適用されます。
期間ごとのアクティビティ、UTC に基づく曜日・時間ごとのヒートマップ、参加者ランキング、チャット ランキング、および記録の構成を選択します。5~30 のランク付けされたグループと、中立的な参加者の エイリアスまたはアカウント ID を選択します。送信元が不明なユーザーおよび残りの参加者は、別々の 行として表示されます。エイリアスはグラフにのみ影響し、ソースレコードには引き続き実名が含まれます。
デザインプレビューは、未保存の下書きから、本番用の表紙、検証、 チャートコンポーネントを使用して更新されますが、最初の 50,000 件のソースレコード内の一致に限定されます。以下のデータプレビューは 選択範囲全体を計算します。これは明示的に 署名されておらず、編集内容は保存されません。「表紙」および「チャート」ボタンでセクションを切り替えることができます。 これは完全なPDFプレビューではありません。「レポート設定を保存」を選択すると、その選択内容が 今後のエクスポートに適用されます。既存の署名済みファイルは変更できません。PDFでは、選択された表紙、 タイポグラフィ、章のレイアウト、およびHTMLや署名済みJSONと同じ集計結果が使用されます。
信頼性評価、対象範囲の制限、および検証手順はそのまま残してください。 チャートや読み取り可能なトランスクリプトを非表示にしても、ZIPファイルから 信頼性の高いソース行が削除されることはありません。無効化されたチャートシリーズは分析用JSONから除外されます。ソースレコードの開示を制限するには、 最小限のエクスポートを使用してください。
データ選択フィルターはジャーナルレポートに適用されます。アカウントおよび共有データのエクスポートは、 それぞれ独自の取得範囲および開示範囲を維持します。
共有されたデザインや図表の設定は、新しいチャット/アカウントのエクスポートおよびアカウント 共有のプレビューに反映されます。アカウント/共有の言語設定およびプライバシー設定は独立したままです。 非公開のケースおよび調査メモは、これらのエクスポートにはコピーされません。アカウントおよび 共有レポートは、署名付きアーカイブマニフェストによって保護されたHTML形式のままです。 ジャーナル、 最小化されたジャーナルの引き継ぎ、およびシングルチャットキットも、署名付きPDFを提供します。
グラフが示す内容#
ログアクティビティおよびヒートマップは、UTC 基準のコレクター観測時刻に基づき、新規、履歴、復元、編集、削除、および 再確認時に欠落している観測をカウントします。ハートビート および添付ファイルの受信確認は除外されます。 参加者ランキングでは、新規、履歴、 および復元されたメッセージの観測のみをカウントします。送信者は、編集者または 削除者として扱われません。重複する観測は、同じTelegramメッセージを表している場合があります。
ログ分析では、種類ごとのカウント、最初のレコードおよび最後のレコードへの参照、およびソースファイル「
events.jsonl」のSHA-256ハッシュ値が保持されます。図表には、HTMLおよびPDF形式で正確な数値が含まれます。日単位のバケットは、
記録された日数が366日を超えると月単位に切り替わり、グラフではこれらを最大36の
等幅の間隔にまとめます。 10万を超える固有の識別子、または1,200ヶ月分を超えると、
該当するグラフは利用できなくなりますが、正確な総計は引き続き利用可能です。
スナップショットおよびアカウント共有のグラフでは、記録されたメッセージ時刻に基づき、 対象に含まれる非サービスメッセージの行のみがカウントされます。共有集計値は、 情報隠蔽およびフィルタリング後に算出されます。これらのグラフでは、最大90の等幅UTC日付区間を使用し、 最大10,000件のグループ化値を保持します。超過分は明示的に記載され、調整されます。 最後の区間はより短くなる場合があります。不明または不正確な日付は、時間チャートには含まれません。
空白の区間は観測データが含まれていないことを意味します。欠落部分についてはカバレッジを参照してください。これらの グラフは保存されたアクティビティを示しています。送信元が不明なものは別のカテゴリとして扱われ、 各チェックは個別に報告されます。
analytics.json が含まれている場合、アーカイブの署名付きファイルハッシュによって保護されます。
ジャーナル report.json には、選択された同じ集計値が埋め込まれています。署名の検証により
変更されたバイトが検出されます。数値を確認するには、
report_analytics.Analytics および selected を使用してジャーナルの集計値を再計算するか、
snapshot_analytics.collect および project を使用してスナップショットの集計値を再計算してください。
異常の指標#
プレビュー。証拠レポートには、
登録されたプロセッサ(tgwitness/metrics/、メトリクスごとに1ファイル)によって計算された「異常指標」セクションが追加されます。レポートには、実行されたすべての
プロセッサとそのバージョン名が記載され、各プロセッサのテーブルの下にその計算方法が表示されるため、
events.jsonl ファイルと tgwitness.metrics.run を使用して計算を再現することができます。
| プロセッサ | 表示内容 |
|---|---|
first_time_posters_over_time v1 |
UTC日あたりの初回投稿者数およびメッセージ数。フラグを立てるには、少なくとも5人の初回投稿者と、その中央値の3倍の投稿者数が必要であり、メッセージ量は中央値の1.5倍以下でなければなりません。ベースラインは、7日間のウォームアップ期間を経て、過去14暦日以内に少なくとも7日間の観測データを使用します。 |
service_vs_message_ratio v1 |
チャットごとに保存されたメッセージ番号は個別に管理されており、サービスメッセージによって使用される割り当て分があります。これは番号付けの仕組みを説明するものであり、特定の番号が欠落している理由を説明するものではありません。 |
join_leave_per_month v1 |
月ごとの参加、離脱、削除または利用停止について、1人、1チャット、1変更、1日につき1件ずつ記載されています。 |
pinned_per_month v1 |
チャット状態のスナップショット間で追加または削除された、サービスメッセージの固定、固定解除通知、および固定されたメッセージを月ごとに集計します。 |
「パラメータ」→「レポート指標」では、プロセッサと表示行数を選択します。 これはフィルタリングされたレポートにも適用されます。日次および月次の表には直近の行が表示され、サービス別シェア 表では、保存されたメッセージ数に基づいてチャットがランク付けされます。合計値はすべての行を対象としています。
ソースコードをチェックアウトし、上記の8つのデザインすべてを、同じ架空のジャーナルに基づいて作成してください:
python tools/build_report_styles.py --output test-results/report-styles
生成されたindex.htmlを開き、完全なHTMLレポート、署名付きPDF、および
ZIPファイルを比較してください。すべてのデザインは同じソースジャーナルを使用しています。
各実行ごとに新しい出力ディレクトリを使用することで、以前に署名されたサンプルが保持されます。

HTMLページは、ケースの概要と主要指標から始まります。番号付きの証拠マップは、 各調査結果、それを裏付ける事実、制限事項、および独立したレビューへとリンクしています。検索可能な 記録と安定した記録参照情報は、オフラインビューアでも引き続き利用可能です。 デザインは、狭い画面や、JavaScriptを使用しないテーマおよびブラウザにも対応しています。
署名済みのPDFには、専用のA4サイズ表紙、レポート参照番号およびQRコード、エグゼクティブ サマリー、証拠マップ、番号付き調査結果、およびドキュメントのブックマークが含まれています。そのページの ヘッダーとフッターには、レポートの識別情報が記載されています。QRコードは資料を識別するものであり、 独立した検証結果を示すものではありません。ブラウザからの印刷物は、この 暗号的に署名されたPDFとは別物です。
観察タイムラインでは、記録された観察期間と中断が 同じUTC軸上に配置されます。空白部分は観測範囲を意味するものではなく、詳細な表には 正確な間隔が保持されています。ZIPファイルには、読み取り可能なレポート、署名付きJSON、 ソースレコード、および検証手順が含まれています。
開発環境がインストールされた状態で、新規の架空の英語/ロシア語/ドイツ語の資料一式を作成してください:
python tools/build_dossier_example.py --output test-results/my-new-dossier
各言語ディレクトリには、report.html、report.pdf、report.json、および
dossier.zipが含まれています。既存のサンプルディレクトリは上書きされることはありません。作成にあたっては、Telegram
アカウント、外部のタイムスタンプサービス、ネットワーク接続は一切使用されません。

具体的な事例の読み方#
1,200件のエントリがあり、1,000番目のエントリでタイムスタンプの検証が成功したジャーナルの場合、 レポートでは、そのタイムスタンプの範囲外にある200件の後のエントリが特定されます。 これは チェックポイントの存在に関する 上限値であり、各メッセージの送信 時刻の証明ではありません。他の3つのタイムスタンプファイルが検証に失敗した場合、または検証できない場合は、 それらは別途カウントされ、肯定的な結論を導き出すことはできません。
有効なタイムスタンプは、以下のすべてのチェックを満たす必要があります。そのインプリントが チェックポイントと一致すること、その署名がスタンプが押された時点で信頼できるTSAルートに連鎖していること、そして チェックポイントの署名、鍵、カウント、およびヘッドが、ジャーナルのプレフィックスと完全に一致すること。 単にタイムスタンプを解析したり、OTSの受領証を持っているだけでは不十分です。読み取り側は 、信頼できるTSAルートを独自に選択し、検証を繰り返さなければなりません。OTSには 独自のビットコイン確認チェックが必要です。
| レポートのステータス | 意味 |
|---|---|
| エクスポート時に確認済み | エクスポート担当者は記載されたチェックを実施しましたが、独立した再確認が依然として必要です。 |
| 記録済み;確認が必要 | 基礎となる観察内容やオペレーターの陳述は記録されますが、これらは独立した確認ではありません。 |
| 本翻訳の対象外 | この主張を裏付ける証拠は本文にはありません。ただし、他の場所に存在しないとも明記されていません。 |
| 独自に検証されていません | 本レポートは、独立した検証結果を提供するものではありません。 |
| 不完全または利用不可 | 資料または必要な確認事項が欠落している、不完全である、または確認に失敗しています。 |
記録された収集範囲と併せて、各チェック項目を個別に確認してください。
強力な構成において保持すべき事項#
- 収集に依存する前に、別の信頼できるチャネルを通じて コレクターの鍵のフィンガープリントを保持してください。その参照情報を、エクスポートされたデータの署名鍵と比較してください。
- 個別にタイムスタンプが付けられたチェックポイント、および使用されている場合は、コレクターの管理範囲外にある ウィットネス・ジャーナルを保持してください。それらを エクスポートされたジャーナルと比較し、その以前の境界を確認してください。
- 記録の取得範囲、欠落部分、フィルタ、制限、および収集時の変更点を記載してください。 実際の申し立てに関連する欠落期間について説明し、検出されなかった メッセージID、削除通知、および再確認に失敗したケースを明確に区別してください。
- 元のZIPファイルとそのハッシュ値を保持してください。各保持者、転送、日付 および目的を記録してください。それらに関連付けられたオペレーターの陳述およびケースノートも保持してください。
- 機密性の高いVMについては、見積もり、チャレンジ、 Intel証明書チェーン、測定値、正確なソース、および鍵の取り扱い条件を保存し、独立して検証してください。 検証済みのアーティファクトとともに、アテステーションの検証結果も保管してください。
各モードにおける取得、 アーカイブの完全性、時刻、および収集範囲のチェックについては、「検証範囲」を参照してください。
受領者によるレビュー#
信頼できる TgWitness のインストール環境と、独自に入手したフィンガープリントを使用してください:
python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256
python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256 --tsa-ca tsa-root.pem
python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256 --witness witness.zip --witness-fingerprint WITNESS_SHA256 --require-witness
python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256 --check-drand
「witness ZIP」は、独立して信頼できるソースから取得する必要があります。その鍵 および出所情報も保持してください。コマンド、ツールのバージョン、出力、確認済みの入力 ハッシュ、および未解決の質問は保持してください。ビーコンの検証は別途行われるオンラインチェックであり、 レポートレンダラーは、単にレポートを表示するためだけにサービスにアクセスすることはありません。
特定のメッセージに関する紛争については、アーカイブの参照情報、権威ある ファイルおよび記録の参照情報を引用した上で、関連する時間的範囲、範囲の欠落、 選択基準、および裏付けとなる資料について記述してください。共有用コピーについては、記録された 変換内容およびソースアーカイブへの参照情報も確認してください。非公開フィルターおよびID マッピングは、公開評価の対象外となります。
署名付きPDFの検証により、対象バイトの変更が検出されます。元の デジタルファイルと検証結果を、スクリーンショットや印刷された閲覧用コピーとともに保管してください。