# 1つのジャーナル。4つの収集モード。8つの検証レベル。

Canonical page: https://phishdestroy.github.io/TgWitness/ja/guides/modes.html

モード、シナリオ、および証拠レベル

TgWitness 接続されたアカウントが観測した内容を記録します。第三者は、独立して信頼された鍵を用いて、記録の完全性を検証することができます。

[収集モード](https://phishdestroy.github.io/TgWitness/ja/guides/modes.html#scope)[シナリオ](https://phishdestroy.github.io/TgWitness/ja/guides/modes.html#scenarios)[証拠レベル](https://phishdestroy.github.io/TgWitness/ja/guides/modes.html#levels)

3～5分の概要 · 架空の例 · 現在の実装

1. **Telegram**

   アカウントに表示される更新情報
2. **コレクター**

   リンクされたレコードは、それぞれ署名されています
3. **検証者**

   信頼できる鍵 + 保持された境界

`h₁ → h₂ → h₃ · Ed25519`完全性は検証されます。Telegramの送信元とメッセージの真偽は、別個の問題として扱われます。

## 観察範囲を選択してください

3つのスコープと1つの調査プリセットがあります。除外項目および有効なソースタイプは引き続き適用されます。

デフォルト**選択されたチャット**

記録

手作業で厳選された情報源のみを使用しています。

新しいチャット

自動的に追加されることはありません。

選択する際は

既知のチャンネルまたはグループの集合です。固定のチャット収容人数については、規定されていません。

**行わないこと** 他のチャットを検出しませんし、過去の履歴を遡って補完することもありません。

アカウントフォルダ**Telegramフォルダ**

記録

フォルダの包含対象およびカテゴリ。設定されている場合は、除外対象およびアーカイブされたチャットは除きます。

新しいチャット

アクティブなチャットの一致；1時間以内のフォルダ変更。

選択する際は

アナリストはすでにケースフォルダを管理しています。専用のアカウントでの収集を確認してください。

**行わないこと** フォルダの変更 muted/read 条件には適用されません。

範囲を確認してください**アカウント全体**

記録

選択されたタイプ内の、アカウントから閲覧可能なチャット（プライベートな会話やボットを含む）。

新しいチャット

最初の更新が配信された際に追加されます。

選択する際は

ケースに参加するアカウントを含む、専用の観察用アカウントです。

**行わないこと** このツールは、自動的にチャットに参加したり、ソースへのアクセスを迂回したりすることはありません。

アカウント全体のプリセット**調査モード**

記録

すべてのソースタイプ、自身のアクション、ソースプロファイル、および新たに発見されたソースの表示可能な最新200件のメッセージ。

新しいチャット

新しいチャットやボットには、プロフィールと履歴のスナップショットが割り当てられます。

選択する際は

パネルを通じてチームに参加したり、ボットとやり取りしたりしてください。プリセットを確認して保存してください。

**行わないこと** 既存のすべてのチャットをスナップショットとして取得したり、他のクライアントで押されたコールバックを監視したりすることはありません。

これらのカードはローカルでの比較用であり、ライブコレクターの制御機能ではありません。アカウントに変更を加えることはありません。

**行わないこと** いかなるモードにおいても、秘密チャットを読み取ったり、プロセスが停止している間に記録を行ったり、独自にソースに参加したり、要求された範囲を超える過去の履歴を取得したりしてはなりません。 snapshot/export.

[詳細はこちらをご覧ください](https://phishdestroy.github.io/TgWitness/ja/docs/reference/collection/)

## GitHub Actions で収集（プレビュー）

新しい Telegram ログイン、1つのチャット、暗号化アーカイブ、GitHub による出所の証明。

[収集アシスタントを開く](https://phishdestroy.github.io/TgWitness/ja/docs/capture/)

## 記録される内容

配信された、または明示的に要求された観測データのみが記録に反映されます。出所が不明なものは、不明のままとします。

 スイッチのキャプチャ · ローカル図解新しいメッセージ編集削除箇所反応メンバーシップ

パネルでは、これらのスイッチをワークスペースごとに適用します。スイッチをオフにしても既存の記録は保持されますが、再びオンにしても見逃したイベントは復元されません。

**イベントマトリックス：保存された資料と残された未知事項**

| カテゴリ | 保存済み | 不明のままです |
| --- | --- | --- |
| メッセージ | テキスト、ID、送信者のメタデータ、返信のコンテキスト、および元の更新エンベロープ。 | 第三者による検証が可能なTelegram署名はありません。 |
| 編集 | 観測されたすべてのバージョンを、以前のバージョンを上書きすることなく記録してください。 | 編集の過程で変更が見落とされる可能性があります。送信者が必ずしも編集者であるとは限りません。 |
| 削除 | 通知に加え、利用可能な場合は以前に保存されたテキストも記載してください。 | 削除者および正確なアクション時刻は提供されません。 |
| スコープ指定なしの削除 | アカウントレベルの通知です。未知のピアは明示されたままとなります。 | チャットを推測しないでください。相関付けには、可能な限り、以前に保存されたアカウントスコープのIDを使用してください。 |
| 反応 | 配信されたカウンターと、表示可能な最近のID。 | すべてのリアクターが表示されるわけではありません。利用可能な完全なリストを取得するには、別途クエリを実行する必要があります。 |
| メンバーシップ | 配信済みのサービスメッセージおよび参加者に関する更新情報。 | 役割やチャットの種類によって可視性が制限されます。沈黙は不在を意味するものではありません。 |
| 添付ファイル | オリジナルバージョンの記述子、保存されたバイト数、 SHA-256 および試行の結果。 | 消失したファイルは利用できない場合があります。新しいバージョンがそれを置き換えることはありません。 |
| 履歴のスナップショット | 現在表示されているメッセージは、履歴の観測としてマークされています。 | 以前の編集内容や削除されたコンテンツは復元されません。 |
| 自身の行動 | 送信 messages/edits および対応する返信用キーボードの button_press メタデータ。 | 別のTelegramクライアントで押されたコールバックは表示されません。 |
| ボットのボタン | メッセージには、コールバック、URL、Webアプリ、およびリクエストのメタデータが保持されます。 | URLおよび phone/location リクエストはテキストであり、自動的に開かれたり実行されたりすることはありません。 |

### 添付ファイルのデフォルト制限

写真

20 MiB

動画

100 MiB

ファイル

50 MiB

アニメーション

20 MiB

動画による解説

50 MiB

音声

20 MiB

音声

50 MiB

ステッカー

5 MiB

**行わないこと** スイッチは、埋め込まれたメタデータを削除したり、運用記録を無効にしたりするものではありません。キャプチャは、Telegramが提供しなかった行為者を特定するものではありません。

[詳細はこちらをご覧ください](https://phishdestroy.github.io/TgWitness/ja/docs/reference/collection/)

## 自身が持つ権限の範囲内でご利用ください

各アカウントには、独自のワークスペース、ジャーナル、署名鍵、ルート、およびキューがあります。

### 電話番号 + コード

有効化されている場合は 2FA と入力してください。

### QR code

認証済みのデバイスからスキャンしてください。 2FA 依然として必要となる場合があります。

### Telethon .session

アカウントのセッションファイルをインポートしてください。

### Pyrogram .session

サポートされている Pyrogram セッション形式をインポートしてください。

### TData ZIP

サポートされるDesktopアカウントは1つです。ローカルパスコードが設定されている場合は、それを使用します。

### StringSession text

以下を貼り付けてください Telethon StringSession.

### .session + .json

セッションと、それに対応するメタデータを選択してください。

### 認証キー HEX + DC ID

アカウントの認証情報を、そのデータセンター識別子とともにインポートしてください。

**API pair**

独自の API ペアは任意です。ペアがない場合、 TgWitness は、公式のTelegram Desktopからのペアを含む、公開ペアのプールを使用します。

`Direct · SOCKS5 · HTTP CONNECT · MTProxy`MTProxy は実験的な機能です。組み込みのパブリック MTProxy リストが利用可能です。プロキシ経路が失敗しても、直接接続へのフォールバックは行われません。

1台のマシン上の2つのワークスペースは、2つの独立したウィットネスではありません。

**行わないこと** インポートは、Telegramの認証をバイパスするものではなく、 2FA サポートされていないセッション形式も回避しません。アカウントは引き続きアプリケーションプロセスを共有します。

[アカウントの形式](https://phishdestroy.github.io/TgWitness/ja/docs/reference/accounts/)

## パネルから操作を行ってください

送信または返信を行い、現在のボットボタンを押して、リンクのプレビューを保存した後、明示的にチャットに参加するか、startパラメータを指定してボットを起動してください。

`interaction.preview``interaction.requested``interaction.result`

プレビュー、リクエスト、および結果の受信確認には署名が付与されます。ボタンが押される前に、サーバーはメッセージを再度取得し、変更されたキーボードを拒否します。返されたコールバックのテキストおよびURLは、記録されたコンテキストとして残ります。

**行わないこと** ウェブアプリ、決済、 phone/location 共有、インラインクエリは一切行わないでください。URLを表示しても、そのURLは開かれません。

[詳細はこちらをご覧ください](https://phishdestroy.github.io/TgWitness/ja/docs/reference/collection/)

## 復旧と継続性

不備は隠さず、明示します。

### 保存された位置から再開する

再起動後、Telegramには見逃した更新の確認が求められます。保存期間の制限や有効期限が切れた差分により、データに欠落が生じる可能性があります。

### 表示されているメッセージを再確認してください

デフォルト設定：優先ソースは15分ごと、その他は6時間ごとです。結果には以下が含まれます message.recovered および message.missing_on_recheck.

### 読む coverage.json

署名付きエクスポートには、観測期間、理由付きの観測欠落期間、および観測されなかったIDが添付されます。「再確認時に欠落」という記録は、削除通知ではありません。

**行わないこと** 後の履歴スナップショットは、サービス停止を消去したり、消失したすべてのバージョンを復元したりするものではありません。保存されたカーソルは、ジャーナルの受諾を損失なく確認するものではありません。

[詳細はこちらをご覧ください](https://phishdestroy.github.io/TgWitness/ja/docs/reference/evidence/)

## 7つのレベル。それぞれ異なる質問。

各メカニズムは、限定された質問に答えるものです。外部サービスは個別に設定し、その信頼アンカーはコレクターの外に保持してください。

1. ### 記録

   SHA-256 チェーン + Ed25519 イベントごとに；最初の previous_hash は64個のゼロです。

   **サードパーティによる検証** 固定されたコレクターキーに基づく順序付けと署名。

   **行わないこと** これは、Telegramの起源や完全性を証明するものではありません。

   **検証コマンド**

   ```
   python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256
   ```
2. ### コンテナ

   manifest.json ファイルのハッシュを列挙します； manifest.sig これに署名します。 media.saved 添付ファイルのバイトデータをイベントに紐付けます。

   **サードパーティによる検証** 提供されたファイルは、署名付きマニフェストおよびメディアレシートと一致しています。

   **行わないこと** 別途ダウンロードされた CSV, HTML ものやスクリーンショットには署名を行いません。

   **検証コマンド**

   ```
   python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256
   ```
3. ### 保持された境界

   起動時、デフォルトでは5分ごとにチェックポイントを作成し、秩序立てて停止してください。別の場所にコピーを保管してください。

   **サードパーティによる検証** 後のエクスポートは、以前に保持されていた長さとヘッダーと一致しており、ロールバックを検出することが可能です。

   **行わないこと** ジャーナルと保持されているすべてのチェックポイントの両方が置き換えられたことは検出されません。

   **検証コマンド**

   ```
   python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256 --checkpoint checkpoint.json
   ```
4. ### 外部時刻

   エビデンスモードではチェックポイントを送信します SHA-256 を RFC 3161 当局（FreeTSA, DigiCert）および OpenTimestamps カレンダーに送信します。

   **サードパーティによる検証** 検証済みのTSA応答はそれらのバイトに日付を付与し、確認済みの OpenTimestamps 証明は、それらをビットコインに紐付けます。

   **行わないこと** 準備済みのリクエストや、処理待ちのカレンダー受信を、確定したタイムスタンプとして扱いません。

   **検証コマンド**

   ```
   python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256 --tsa-ca trusted-ca.pem
   ots upgrade checkpoint.ots
   ots verify checkpoint.ots
   ```
5. ### 独立したウィットネス

   ホスト、スコープ付き読み取り専用エンドポイント、新しいチャレンジ、および独自の key/journal および TGW1 チャンネルへの投稿を区別してください。

   **サードパーティによる検証** 以前に受け入れられたヘッド；ステータス「ok」、 key_changed、rollback、fork、invalid、および no_response.

   **行わないこと** 1つのコレクターホスト上の2つのワークスペースが、独立したウィットネスになるわけではありません。

   **検証コマンド**

   ```
   python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256 --witness witness.zip --witness-fingerprint WITNESS_SHA256 --channel result.json
   ```
6. ### オフサイト・レプリカ

   S3- バケットが対応している場合に、 AES-256-GCM; Object Lock で暗号化された互換性のあるコピー。

   **サードパーティによる検証** Restoreは、ジャーナル、チェックポイント、および保存済みメディアの検証が成功した場合にのみ、ファイルを公開します。

   **行わないこと** エクスポートされた鍵がなければ復元は行われず、ストレージの応答を確認せずに保持されていると仮定することもありません。

   **検証コマンド**

   ```
   python -m tgwitness.replica restore --key-file KEY.json --out EMPTY_DIR
   ```
7. ### 来歴の実行

   署名付き実行レシート：ソースのハッシュ、依存関係のバージョン、およびプロセスコンテキスト。自己申告によるものです。

   **サードパーティによる検証** 署名コレクターが自身の実行について報告した内容です。

   **行わないこと** 本ドキュメントは、独立したプロセスの認証を提供するものではなく、記録前の侵害を排除するものでもありません。

   **検証コマンド**

   ```
   python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256
   ```

### どのレベルでも証明されないこと

すべてのTelegramアップデートの配信；テキストの真実性；送信者IDが実在の人物を特定すること；記録前の収集者の侵害がないこと；法廷での証拠能力。

[独立したウィットネス](https://phishdestroy.github.io/TgWitness/ja/docs/reference/witness/)

ローカル SHA-256 実験

### レコード2を変更してみてください

次のレコードには、以前に保存されたリンクが保持されます。テキストを変更すると、レコード2の計算されたハッシュが変更されます。

記録2の本文

レコード 1`h1`先頭に64個のゼロが続きます

レコード 2`h2`保存された内容を含みます h1

記録 3`h3`保存された内容を含みます h2

静的な例： h2 「11:00に会う」という内容を扱っています。このテキストを変更すると h2；レコード3は依然として保存された内容を参照しています h2.

**完全なダイジェストを確認してください**

保存されたレコード 2 のハッシュ

`SHA-256(e₂)`

レコード2のハッシュを再計算しました

`SHA-256(e₂)`

このサンプルはハッシュを計算するものであり、署名を計算するものではありません。実際の検証者は、すべての署名とリンクを信頼できる鍵と照合して検証します。

 [詳細はこちらをご覧ください](https://phishdestroy.github.io/TgWitness/ja/docs/reference/how-it-works/)

## 証拠をたどる経路を選択してください

架空の状況です。関連するイベントの前に収集を開始し、内容とともに境界や空白部分もそのまま保持してください。

### チャンネルが支払い詳細を変更します

モード → イベント

選択されたチャット → メッセージ、編集、削除。

出力

ハッシュ値によって、投稿のバージョンおよび添付ファイルを観察しました。

検証

署名済み ZIP + 保持されたチェックポイント + 検証済みのTSA応答。

**行わないこと** 一度もキャプチャされなかった原本を復元することはできません。

### インシデント発生後、メッセージは消去されます

モード → イベント

フォルダまたはアカウント全体 → すべてのイベントカテゴリ。

出力

保存されたオリジナルデータ、削除通知、および不完全な記録範囲。

検証

署名済み ZIP + 独立したウィットネス・ジャーナル。

**行わないこと** 行為者が明示されていない通知からは、削除者を特定することはできません。

### ショップボットについて調査する

モード → イベント

調査用プリセット → ボタン、リンクのプレビュー、および明示的なボットの起動。

出力

署名付きインタラクションレシート、返されたコールバック、および保存されたプロファイル。

検証

署名済み ZIP；あらゆる資料は、以下の ZIP.

**行わないこと** ボットのウェブアプリを開いたり、支払いをしたり、他のクライアントのコールバックを記録したりすることはありません。

### 参加者はチャットごとに名前を変更します

モード → イベント

任意のスコープ → 観測された sender/profile メタデータ。

出力

数値IDによる名前／ユーザー名の履歴、「こちらも参照」リンク、および抽出された手がかり。

検証

資料 JSON 署名済みデータと照合済み ZIP.

**行わないこと** ウォレット、携帯電話のような文字列、またはユーザー名を、証明された身元には変換しません。

### オフサイトコピーを用いた長期にわたる観測

モード → イベント

任意のスコープ → エビデンスモードおよび S3 サポートされているレプリカ Object Lock.

出力

暗号化されたコピー、保持されたチェックポイント、およびタイムスタンプ応答。

検証

エクスポートされた鍵を使用して復元し、元のサーバーなしで検証を行ってください。

**行わないこと** これは、独立した証人または別途保持されている復号鍵に代わるものではありません。

[詳細はこちらをご覧ください](https://phishdestroy.github.io/TgWitness/ja/docs/reference/investigation/)

## 検証可能なパッケージを引き渡してください

署名済みの原本、独立して保持された鍵のフィンガープリント、関連するチェックポイント、および検証結果をご提供ください。

- 署名済み ZIP
- JSONL
- CSV
- HTML
- チェックポイント
- 受信確認
- チャットのエクスポート： chat.json / chat.html
- 資料 JSON
- パスワードで保護されています AES-256 ZIP
- 複数のアカウントごとにエクスポートを分離してください
- ストリーミングCLI：5 GiB デフォルトの制限

```
python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_SHA256 --checkpoint checkpoint.json
```

検証用データは、検証対象のアーカイブからではなく、信頼できるコピーから取得してください。

**行わないこと** スタンドアロン CSV および HTML は署名付きコンテナではありません。パスワードは転送の機密性を保護するものであり、真正性を保証するものではありません。複数のエクスポートを行っても、アカウントのジャーナルは統合されません。

[詳細はこちらをご覧ください](https://phishdestroy.github.io/TgWitness/ja/docs/reference/evidence/)

## 提供された成果物と比較してください

署名、タイムスタンプ、またはウィットネスシステムが追加されていない基本的な成果物です。スクリプトやロガーは実装によって異なります。「部分的」とは、キャプチャされた、または可視的な素材に限定されることを意味します。

| アプローチ | 編集／削除 | 署名の記録 | 外部時刻 | 独立したウィットネス | 対象範囲／未対応事項 | 作成者なしの検証 |
| --- | --- | --- | --- | --- | --- | --- |
| Telegram Desktopのエクスポート | 一部 | なし | なし | なし | なし | なし |
| Telethon スナップショットスクリプト | 一部 | なし | なし | なし | なし | なし |
| 削除ロガー：テキストログ | 一部 | なし | なし | なし | なし | なし |
| スクリーンショット／ウェブキャプチャ | 一部 | なし | なし | なし | なし | なし |
| TgWitness 設定済みの追加項目を含む | 一部 | はい | はい | はい | 一部 | はい |

**行わないこと** この表は、すべてのスクリプトやロギング製品を評価するものではありません。オプションの時刻およびウィットネスチェックには、それぞれ独自のサービスと信頼のアンカーが必要であり、いずれも「ソース・トゥルース」を確立するものではありません。

[詳細はこちらをご覧ください](https://phishdestroy.github.io/TgWitness/ja/docs/reference/evidence/)

## 制限事項は証拠とともに保持してください

検証は、その範囲が明確に定義されている場合に有用です。

- シークレットチャットは利用できません。
- プロセスが停止している間は何も記録されません。復旧には制限があります。
- 検証済みの記録は、その内容が真実であることの証明にはなりません。
- 鍵を保有するオペレーターは、任意のコンテンツに署名することができます。独立したウィットネスとタイムスタンプは、事後の改ざんを制限するものであり、不正な初期取得を防ぐものではありません。
- メインアカウントではなく、専用のアカウントを使用してください。
- Telegramは、リクエストの量に応じてアカウントを制限する場合があります。

**行わないこと** いかなるモードや証拠レベルも、法的証拠能力、Telegramによる完全な配信、あるいは現実世界における身元を立証するものではありません。

[セットアップガイド](https://phishdestroy.github.io/TgWitness/demo/guide.html?lang=ja)[専用アカウント](https://phishdestroy.github.io/TgWitness/ja/docs/dedicated-account/)[EVIDENCE.md](https://phishdestroy.github.io/TgWitness/ja/docs/reference/evidence/)[INVESTIGATION.md](https://phishdestroy.github.io/TgWitness/ja/docs/reference/investigation/)
