Справочник / Доказательства
Форматы отчётов Telegram и проверка подписанного PDF
Фильтры отчетов, восемь шаблонов дизайна, предустановленные настройки содержания, сохраненная история изменений и оценка, включённая в подписанные экспортные файлы.
TgWitness / Документация · Расследование
Превратите выбранные наблюдения в удобочитаемый отчёт по делу: его постановку, объём, сохраненные изменения, диаграммы, выводы и ссылки на источники. Каждый отчёт предоставляет получателю возможность проверить предоставленный материал и оценить полноту сбора данных.
Раздел «Основа доверия и ограничения» появляется в отчетах журнала, передачи, чата,
учетной записи и обмена данными. PDF-файлы журнала и передачи используют ту же оценку, что и
их подписанный файл report.json. ZIP-манифесты содержат case_assessment в подписанном
манифесте. Эта оценка передается вместе с экспортированными материалами. Исходные
наблюдения сохраняют свои существующие подписи.
Форматы документов и порядок чтения#
Студия отчетов#
Откройте «Экспорт» → «Настройка и предварительный просмотр». Пройдите по пути «Данные» → «Дизайн и содержание» → «Предварительный просмотр»:
- Используйте всю рабочую область или выберите чаты, авторов, включая даты наблюдения в формате UTC и типы событий. Загрузите каталог для поиска чатов и авторов или введите их Telegram-идентификаторы. Фильтры авторов сопоставляются с записанными идентификаторами отправителей; уведомление об удалении без указания отправителя не соответствует фильтру авторов.
- Выберите макет страницы, затем выберите диаграммы, метки участников, стенограмму и ваши письменные выводы. При смене макета эти настройки сохраняются.
- Создайте предварительный просмотр. В нём отображаются фактические показатели, активность, участники, примеры записей, сохраненные изменения и диапазоны номеров отсутствующих сообщений. Изменение выбора приводит к тому, что предварительный просмотр становится устаревшим. Сохраните перед загрузкой HTML, подписанного PDF, подписанного JSON или ZIP-архива с доказательствами.
В предварительном просмотре данных учитывается полный стабильный префикс журнала, а не начальная выборка. Ограничиваются только отображаемые образцы строк и длинные списки; количество пропущенных элементов указывается. При последующем экспорте создаётся новый стабильный снимок, поэтому продолжающийся сбор данных может привести к увеличению этих цифр. Объём, количество и идентификаторы источников включаются в подписанный отчёт. Открытие или предварительный просмотр формы не приводит к её сохранению.
Руководство по юрисдикции. В разделе Сведения о документе откройте Руководство по юрисдикции · опционально , чтобы выбрать юрисдикцию и гражданско-коммерческую или уголовную процедуру. В приложении приведены правовые основания, ссылки на источники, примечания по подготовке и статус исследования. Резюме на местном языке и пояснения по мерам защиты данных при сборе являются необязательными. По умолчанию юрисдикция не выбрана. Эти настройки относятся к рабочей области и исключаются из сохраненных конфигураций макета и неявных настроек по умолчанию для совместного доступа и копирования. См. Настройки по умолчанию, Поддерживаемые отчеты и Ограничения исследования .
Выберите версию для получателя. В диаграммах и стенограмме используются выбранные записи. Целостность, сохранность и полнота описывают полный журнал источников. Архив с доказательствами в формате ZIP содержит исходные записи и вложения. Используйте упрощенную процедуру передачи , если получателю необходимо предоставить только выбранные, разрешенные данные.
Прочитайте изменения, удаления и отсутствующие идентификаторы#
При редактировании отображается сохраненный текст «До» и «После», а измененные слова выделяются. При удалении отображается последняя версия, сохраненная до появления уведомления. Если более раннее содержимое не было сохранено, в отчете об этом указывается. При выборе только редактирований или удалений предыдущие версии остаются доступными в виде явно обозначенного контекста вне фильтров. Несвязанные сообщения не добавляются в эти истории.
Неотслеженные идентификаторы сообщений — это пробелы между известными номерами в выбранных чатах и диапазоном идентификаторов, полученных на основе даты. Каждая известная исходная запись проверяется перед тем, как объявить номер неотслеженным: отфильтровывание другого автора, типа события или даты не может привести к появлению ложного пробела. Смежные сохраненные сообщения помечаются как контекст. Отсутствующий номер не доказывает, что сообщение существовало или было удалено; уведомления об удалении и неудачные повторные проверки остаются отдельными типами событий.
Выберите дизайн#
Доступно восемь макетов страниц для отчетов в формате HTML (для журналов и отдельных чатов) и подписанных PDF-файлов. Они используют одни и те же записи и расчеты, но отличаются обложками, типографикой, заголовками разделов, таблицами и интервалами.
| Дизайн | Стиль изложения |
|---|---|
| Классический | Традиционное досье с тёмной обложкой и пронумерованными разделами. |
| Редакционные рекомендации | Титульный лист в рамке с засечками, широкие поля и узкая боковая полоса с указанием глав. |
| Брифинг | Компактная обложка с темно-синим корешком, краткими заголовками и плотно расположенными таблицами. |
| Аналитика | Обложка в стиле анкеты, модульные таблицы и рисунки с моноширинным шрифтом. |
| Технические аспекты | Регистр с линовкой, пронумерованная справочная шкала и точные таблицы сравнения. |
| Обзор | Панорамная обложка, просторное оформление и выделенные наглядные диаграммы. |
| Серия статей | Навигационная панель разделов и сгруппированные главы для результатов, объёма работ, изменений и журнала наблюдений. |
| Реестр и маржа | Пронумерованные главы с широкими полями, точные таблицы и отдельная стенограмма сообщений. |
Дизайн сохраняется для каждой рабочей области и фиксируется в подписанном манифесте экспорта. HTML работает в автономном режиме, поддерживает светлую и тёмную темы и адаптируется к узким экранам и языкам с направлением письма справа налево. Встроенные PDF-файлы используют входящие в комплект шрифты; дизайн «Editorial» включает шрифт Noto Serif, распространяемый по лицензии SIL Open Font License. Серии чтения, а также «Ledger» и поля применяются также к обзорам аккаунтов, чатам аккаунтов и копиям для обмена.
Для PDF-файлов на китайском, японском и корейском языках дополнительно требуется подходящий шрифт на сервере,
например, Noto Sans CJK, установленный в системе или размещённый в папке TGWITNESS_FONT_DIR.
Если он недоступен, в ZIP-архиве сохраняются отчёты в форматах HTML и JSON.
Эти два макета включают удобный для чтения журнал, не требующий JavaScript. Для больших экспортов этот вид содержит до 500 полных записей в пределах лимита ввода 8 MiB; в отчете указан лимит и приведены ссылки на полную версию просмотрщика и исходные записи. Каталог учетных записей и индекс взаимосвязей описывают именно этот образец для чтения, а не всех участников. Диаграммы полного журнала сохраняют свой отдельно указанный объем.
Выберите содержание#
| Предварительно заданное содержание | Включено по умолчанию |
|---|---|
| Досье дела | Действия, время наблюдения, участники, чаты и стенограмма записи. |
| Брифинг | Обзор активности без рейтинга участников и стенограммы. |
| Обзор деятельности | Действия, время наблюдения, участники, чаты и их состав с указанием ссылок на источники и точных цифр. |
| Индивидуальный отчет | Ваша собственная комбинация диаграмм, стенограмм и предварительных просмотров. |
При изменении предустановки сохраняются ваш макет, детали дела и письменный анализ. Проверки целостности, охват, ограничения и инструкции по верификации остаются в каждом макете. Исходные записи в ZIP-файле остаются неизменными, когда диаграмма или стенограмма скрыты.
Дополнительные «Примечания по экспертизе» содержат вопрос, метод, результаты и вывод, составленные автором отчета. В результатах следует указывать номера исходных файлов и записей. Подпись сохраняет эти авторские заявления вместе с отчетом; исходные наблюдения и интерпретация автора остаются идентифицируемыми. При упрощённой передаче дела эти конфиденциальные заметки и полные диаграммы из журнала исключаются. Выбор диаграмм и методов обследования применяется к отчётам из журнала.
Выберите активность за определенный период, тепловую карту по дням недели и часам по UTC, рейтинги участников, рейтинги чатов и состав записей. Выберите от 5 до 30 групп по рейтингу и нейтральные псевдонимы участников или идентификаторы учетных записей. Неизвестные отправители и остальные участники отображаются в отдельных строках. Псевдонимы влияют только на диаграммы; исходные записи по-прежнему содержат их идентификационные данные.
Предварительный просмотр дизайна обновляется на основе несохраненного черновика с использованием обложки, результатов экспертизы и компонентов диаграмм, ограниченных результатами, соответствующими первым 50 000 записям источника. Предварительный просмотр данных ниже рассчитывает полный набор данных. Он явно не подписан и не сохраняет изменения. Кнопки «Обложка» и «Диаграммы» переключают его разделы. Это не полный предварительный просмотр PDF. Сохранение настроек отчёта применяет выбранные параметры к будущим экспортам; существующие подписанные файлы неизменяемы. PDF использует выбранную обложку, типографику, макет глав и те же выбранные агрегаты, что и HTML и подписанный JSON.
Оценка достоверности, ограничения охвата и инструкции по проверке остаются в силе. Скрытие графиков или читаемой стенограммы не удаляет строки авторитетных источников из ZIP-архива. Отключенные серии графиков опускаются из аналитического JSON-файла; используйте минимизированный экспорт, чтобы ограничить раскрытие исходных записей.
Фильтры выбора данных применяются к отчетам журнала; экспорт данных учетной записи и обмена сохраняет свой собственный объем сбора и раскрытия информации.
Общие настройки дизайна и диаграмм фиксируются в новых экспортах чатов и учетных записей, а также в предварительных просмотрах обмена данными. Языковые настройки и настройки конфиденциальности учетной записи и обмена данными остаются независимыми; личные заметки по делу и заметки по экспертизе не копируются в эти экспорты. Отчеты по учетной записи и обмену данными остаются в формате HTML, защищенном подписанным манифестом архива. Журнал, сведенная к минимуму передача журнала и наборы для одного чата также предоставляют подписанные PDF-файлы.
Что отражают диаграммы#
Журнал активности и тепловые карты учитывают новые, исторические, восстановленные, отредактированные, удаленные и отсутствующие при повторной проверке наблюдения, по времени наблюдения коллектора в формате UTC. Сигналы и подтверждения получения вложений исключаются. В рейтингах участников учитываются только новые, исторические и восстановленные наблюдения за сообщениями: отправитель не считается редактором или лицом, удалившим сообщение. Повторные наблюдения могут описывать одно и то же сообщение в Telegram.
Аналитика журналов сохраняет подсчёты по типам, ссылки на первую/последнюю запись и SHA-256 исходного файла
events.jsonl. Цифры включают точные значения в форматах HTML и PDF. Ежедневные интервалы
переключаются на месяцы после 366 записанных дней; графики объединяют их в не более чем 36
интервалов одинаковой ширины. Более 100 000 уникальных идентификаторов или 1 200 месяцев
приводят к недоступности соответствующего графика, в то время как точные общие подсчёты остаются доступными.
Диаграммы моментальных снимков и совместного использования учетных записей учитывают только включенные строки сообщений, не относящихся к сервису, с использованием времени отправки этих сообщений. Агрегированные данные по совместному использованию рассчитываются после редактирования и фильтрации. В этих диаграммах используется не более 90 интервалов даты в формате UTC одинаковой ширины и сохраняется до 10 000 значений группировки; превышение этого количества явно указывается и согласовывается. Последний интервал может быть короче. Неизвестные или приблизительные даты не включаются в временные диаграммы.
Пустой интервал означает отсутствие включённых наблюдений; для выявления пробелов обратитесь к информации об охвате. Эти диаграммы описывают сохранённую активность. Неизвестные отправители остаются отдельной категорией, и о каждой проверке составляется отдельный отчёт.
Если файл analytics.json включен, он защищен подписанными хешами файлов архива.
Журнал report.json содержит те же выбранные агрегаты. Проверка подписи
обнаруживает измененные байты. Чтобы проверить цифры, пересчитайте агрегаты журнала с помощью
report_analytics.Analytics и selected, либо
агрегаты моментальных снимков с помощью snapshot_analytics.collect и project.
Индикаторы аномалий#
Предварительный просмотр. В отчёты о доказательствах добавляется раздел Индикаторы аномалий, рассчитанный
зарегистрированными процессорами (tgwitness/metrics/, по одному файлу на каждый показатель). В отчёте указывается каждый
процессор, на котором выполнялся расчёт, с указанием его версии, а под таблицей приводится описание используемого метода, чтобы
расчёт можно было повторить из events.jsonl с помощью tgwitness.metrics.run.
| Процессор | Что здесь показано |
|---|---|
first_time_posters_over_time, версия 1 |
Количество новых пользователей и сообщений за день по UTC. Для установки флага требуется не менее пяти новых пользователей и количество сообщений, в три раза превышающее их медиану, при этом объем сообщений не должен превышать 1.5-кратную медиану. Базовые данные включают не менее семи дней наблюдений в течение предыдущих 14 календарных дней после семидневного периода разогрева. |
service_vs_message_ratio, версия 1 |
Отдельные номера сохраненных сообщений для каждого чата и доля, используемая служебными сообщениями. Здесь описывается система нумерации; не дается объяснение конкретного отсутствующего номера. |
join_leave_per_month, версия 1 |
Присоединения, уходы и удаления или баны в месяц, по одному на человека, чат, изменение и день. |
pinned_per_month, версия 1 |
Закрепленные служебные сообщения, открепленные уведомления, а также закрепленные сообщения, добавленные или удаленные между моментальными снимками состояния чата, в расчете на месяц. |
Параметры → Показатели отчёта выбирает процессоры и количество отображаемых строк, в том числе в отфильтрованных отчётах. Ежедневные и ежемесячные таблицы показывают последние строки, таблицы доли сервиса ранжируют чаты по количеству сохраненных сообщений. Итоговые значения охватывают каждую строку.
На основе выгруженного исходного кода создайте все восемь макетов, перечисленных выше, на примере одного и того же вымышленного журнала:
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 более поздних записей, выходящих за пределы диапазона этой временной метки. Это является верхней границей существования контрольной точки, а не доказательством времени отправки каждого сообщения . Если три других файла с временными метками не проходят проверку или не могут быть проверены, они учитываются отдельно и не могут служить основанием для положительного заключения.
Пригодная для использования временная метка должна удовлетворять всем следующим проверкам: её отпечаток совпадает с контрольной точкой, её подпись ведёт к доверенному корню TSA на момент простановки метки, а подпись, ключ, счётчик и заголовок контрольной точки точно соответствуют префиксу журнала. Простого анализа временной метки или наличия квитанции OTS недостаточно. Читатель должен самостоятельно выбрать доверенный корневой сертификат TSA и повторить проверку. OTS требует собственной проверки подтверждения Bitcoin.
| Статус отчета | Значение |
|---|---|
| Проверено при экспорте | Экспортер выполнил указанную проверку; по-прежнему требуется независимое повторение. |
| Записано; требуется проверка | Записывается исходное наблюдение или заявление оператора; это не является независимым подтверждением. |
| Не включено в данный текст | В тексте нет подтверждающих доказательств данного утверждения. В нём не говорится, что таких доказательств нет в других источниках. |
| Не проверено независимо | Отчет не содержит результатов независимой проверки. |
| Неполная или недоступная информация | Материал или необходимая проверка отсутствуют, являются неполными или завершились неудачно. |
Проверяйте каждую проверку отдельно, сопоставляя её с зафиксированным охватом сбора данных.
Что необходимо сохранить в конфигурации с высоким уровнем безопасности#
- Прежде чем доверять сбору данных, сохраните отпечаток ключа сборщика через отдельный доверенный канал. Сравните этот эталон с ключом подписи экспорта.
- Сохраните контрольные точки с независимыми временными метками и, если таковой используется, журнал свидетелей, находящийся вне административного контроля сборщика. Сравните их с экспортированным журналом, чтобы проверить его пределы в более ранний период.
- Укажите объем сбора записей, пробелы, фильтры, ограничения и изменения в процессе сбора. Объясните отсутствующие периоды, имеющие отношение к фактическому заявлению, четко разграничивая неотслеженные идентификаторы сообщений, уведомления об удалении и неудачные повторные проверки.
- Сохраните исходные ZIP-архивы и их хэши. Зафиксируйте каждого владельца, передачу, дату и цель. Сохраните при этом приписываемые оператору заявления и примечания по делу.
- В случае конфиденциальных виртуальных машин необходимо сохранить и независимо проверить цитату, запрос, цепочку сертификатов 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
ZIP-архив с данными свидетеля должен поступать из независимого доверенного источника; сохраните также его ключ и информацию о происхождении. Сохраните команды, версию инструмента, результаты, проверенные хэши входных данных и нерешенные вопросы. Проверка маяка — это отдельная онлайн-проверка; программа для формирования отчетов никогда не связывается со службой исключительно для отображения отчета.
В случае спора по конкретному сообщению укажите ссылку на архив, авторитетный файл и ссылку на запись, а затем опишите соответствующий временной диапазон, пробелы в охвате, выборку и подтверждающие материалы. В случае копии для обмена также проверьте зафиксированное преобразование и его ссылки на исходный архив. Фильтры конфиденциальности и сопоставления идентификаторов не подлежат публичной оценке.
Проверка подписанного PDF-файла выявляет изменения в охватываемых байтах. Сохраняйте исходный цифровой файл и результат проверки вместе со скриншотами или распечатанными копиями для ознакомления.