Режими, сценарії та рівні доказовості

Один журнал. Чотири режими збору даних. Вісім рівнів верифікації.

TgWitness записує те, що спостерігає підключений обліковий запис. Третя сторона може перевірити цілісність запису за допомогою незалежно довіреного ключа.

3–5-хвилинний огляд · вигадані приклади · поточна реалізація

  1. Telegram

    Оновлення, видимі для облікового запису

  2. Колектор

    Пов’язані записи, кожен із яких підписаний

  3. Верифікатор

    Довірений ключ + збережена межа

h₁ → h₂ → h₃ · Ed25519Цілісність перевіряється. Походження Telegram та правдивість повідомлення залишаються окремими питаннями.

Виберіть сферу спостереження

Три області дії та попереднє налаштування для розслідування. Виключення та увімкнені типи джерел залишаються чинними.

Записи
Тільки джерела, відібрані вручну.
Нові чати
Не додається автоматично.
Вибирайте
Відомий набір каналів або груп. Фіксована місткість чату не була визначена.

Чого не робить Він не виявляє інших чатів і не заповнює попередню історію.

Записи
Включення папок та категорій, за винятком виключень та архівних чатів, якщо це налаштовано.
Нові чати
Збіг активних чатів; зміни у папках протягом години.
Вибирайте
Аналітик уже веде папку справи. Підтверджуйте збір даних на спеціальному обліковому записі.

Чого не робить Це не враховує мінливі muted/read .

Записи
Чати, видимі для облікового запису, включаючи приватні розмови та ботів, у межах вибраних типів.
Нові чати
Буде додано після виходу першого оновлення.
Вибирайте
Спеціальний обліковий запис для спостереження, включаючи обліковий запис, що бере участь у справі.

Чого не робить Він не приєднується до чатів автоматично та не обходить доступ до джерела.

Записи
Усі типи джерел, власні дії, профілі джерел та останні 200 видимих повідомлень від нещодавно виявлених джерел.
Нові чати
Новий чат або бот отримує профіль та знімок історії.
Вибирайте
Приєднайтеся до команди або взаємодійте з ботом через панель. Перегляньте та збережіть пресет.

Чого не робить Він не створює знімків усіх існуючих чатів і не відстежує натискання клікбеків в іншому клієнті.

Ці картки призначені для локального порівняння, а не для управління колектором у режимі реального часу. Вони не змінюють обліковий запис.

Чого не робить Жоден режим не зчитує секретні чати, не веде запис під час зупинки процесу, не приєднується до джерел самостійно та не отримує попередню історію, що виходить за межі запиту snapshot/export.

Ознайомтеся з деталями

Що фіксується

До запису потрапляють лише доставлені або явно запитані спостереження. Невідоме походження залишається невідомим.

Перемикачі фіксації · локальна ілюстрація

Панель застосовує ці перемикачі для кожного робочого простору. Вимкнення одного з них зберігає існуючі записи; повторне ввімкнення не відновлює пропущені події.

Матриця подій: збережений матеріал та залишені невідомі
КатегоріяЗбереженоЗалишається невідомим
ПовідомленняТекст, ідентифікатори, метадані відправника, контекст відповіді та оригінальний конверт оновлення.Відсутність підпису Telegram, який можна перевірити сторонніми засобами.
РедагуватиКожна спостережувана версія, без перезапису попередніх.Проміжні редагування можуть бути пропущені; відправник не обов’язково є редактором.
ВидаленняПовідомлення та раніше збережений текст, якщо такий є.Інформація про видалювача та точний час дії не надається.
Видалення без обмеження сфери діїПовідомлення на рівні облікового запису; невідомий вузол залишається явно зазначеним.Не використовуйте припущення щодо чатів. Кореляція, за можливості, використовує раніше збережені ідентифікатори на рівні облікового запису.
РеакціяНадані лічильники та видимі останні ідентифікатори.Не всі реактори є видимими; для отримання повного списку доступних реакторів потрібні окремі запити.
ЧленствоДоставлені службові повідомлення та оновлення учасників.Роль та тип чату обмежують видимість; мовчання не означає відсутності.
ВкладенняДескриптор оригінальної версії, збережені байти, SHA-256 та результати спроб.Файл, що зник, може бути недоступним; новіша версія його не замінює.
Знімок історіїПовідомлення, що наразі відображаються, позначені як спостереження в історії.Попередні редагування та вміст, що зник, не відновлюються.
Власні діїВихідні messages/edits та відповідні метадані button_press метадані.Зворотні виклики, запущені в іншому клієнті Telegram, не відображаються.
Кнопки ботаМетадані зворотного виклику, URL-адреси, веб-додатку та запиту зберігаються разом із повідомленням.URL-адреси та phone/location запити — це текст, який не відкривається та не виконується автоматично.

Стандартні обмеження на вкладення

Фотографії
20 MiB
Відео
100 MiB
Файли
50 MiB
Анімації
20 MiB
Відеонотатки
50 MiB
Голос
20 MiB
Аудіо
50 MiB
Стікери
5 MiB

Чого не робить Перемикач не редагує вбудовані метадані та не вимикає записи про операції. Запис не ідентифікує учасника, якого Telegram не вказав.

Ознайомтеся з деталями

Використовуйте ті повноваження, які у вас є

Кожен обліковий запис має власний робочий простір, журнал, ключ підпису, маршрут та чергу.

Direct · SOCKS5 · HTTP CONNECT · MTProxyMTProxy є експериментальним; доступні вбудовані публічні MTProxy списки. У разі збою проксі-маршруту не відбувається перехід на пряме з’єднання.

Дві робочі області на одній машині не є двома незалежними свідками.

Чого не робить Імпорт не обходить авторизацію Telegram, 2FA ані непідтримувані формати сеансів. Акаунти, як і раніше, використовують спільний процес запуску додатка.

Формати облікових записів

Дійте з панелі

Надішліть повідомлення або дайте відповідь, натисніть кнопку поточного бота, збережіть попередній перегляд посилання, а потім явно приєднайтеся до чату або запустіть бота з його параметром запуску.

interaction.previewinteraction.requestedinteraction.result

Квитанції попереднього перегляду, запиту та результату підписуються. Перед натисканням кнопки сервер знову отримує повідомлення та відхиляє змінену клавіатуру. Повернутий текст зворотного виклику та URL-адреси залишаються записаним контекстом.

Чого не робить Жодних веб-додатків, платежів, phone/location обміну або вбудованих запитів. Відображення URL-адреси не призводить до її відкриття.

Ознайомтеся з деталями

Відновлення та безперебійність роботи

Прогалини показуються, а не приховуються.

Повернутися до збереженого місця

Після перезапуску Telegram запитує про пропущені оновлення. Обмежений термін зберігання та відмінності, термін дії яких закінчився, можуть залишати прогалини.

Перевіряйте видимі повідомлення ще раз

Значення за замовчуванням: пріоритетні джерела — кожні 15 хвилин, інші — кожні 6 годин. Результати включають message.recovered та message.missing_on_recheck.

Читати coverage.json

Підписаний експорт супроводжується періодами спостереження, пропусками з обґрунтуванням та неспостереженими ідентифікаторами. Запис про відсутність при повторній перевірці не є повідомленням про видалення.

Чого не робить Пізніший знімок історії не стирає перебоїв у роботі та не відновлює кожну зниклу версію. Збережений курсор не є підтвердженням прийняття журналу без втрат.

Ознайомтеся з деталями

Сім рівнів. Різні питання.

Кожен механізм відповідає на конкретне питання. Налаштовуйте зовнішні служби окремо та зберігайте їхні опорні точки довіри поза межами колектора.

  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 доказ прив’язує їх до Bitcoin.

    Чого не робить Він не розглядає підготовлений запит або очікуване підтвердження календаря як підтверджену мітку часу.

    Команда верифікації
    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.

    Чого не робить Це не перетворює дві робочі області на одному хості-збірнику на незалежних свідків.

    Команда верифікації
    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

Місцевий SHA-256 експеримент

Спробуйте змінити запис 2

Наступний запис зберігає попередньо збережене посилання. Зміна тексту змінює обчислений хеш запису № 2.

Запис 1h1Починається з 64 нулів
Запис 2h2Включає збережені h1
Запис 3h3Включає збережені h2

Статичний приклад: h2 містить «Зустріч о 11:00». Зміна цього тексту змінює h2; запис 3 все ще посилається на збережене h2.

Перевіряйте повні дайджести
Хеш збереженого запису 2
SHA-256(e₂)
Перерахований хеш запису 2
SHA-256(e₂)
Цей приклад обчислює хеші, а не підписи. Справжній верифікатор перевіряє кожен підпис і посилання щодо довіреного ключа.
Ознайомтеся з деталями

Оберіть шлях через докази

Вигадані ситуації. Починайте збір даних до відповідної події; зберігайте межі та пропуски разом із вмістом.

Канал змінює платіжні реквізити

Режим → події
Вибрані чати → повідомлення, редагування, видалення.
Вихідні дані
Спостережувані версії публікацій та вкладень за хешем.
Верифікація
Підписано ZIP + збережений контрольний пункт + перевірена відповідь TSA.

Чого не робить Він не відновлює оригінал, який ніколи не було зафіксовано.

Повідомлення зникають після інциденту

Режим → події
Папка або весь обліковий запис → усі категорії подій.
Вихідні дані
Збережені оригінали, повідомлення про видалення та висвітлення з пропусками.
Верифікація
Підписано ZIP + незалежний журнал свідків.

Чого не робить Він не дозволяє ідентифікувати особу, яка видалила повідомлення, якщо у повідомленні не вказано виконавця дії.

Дослідіть бота-магазин

Режим → події
Попередні налаштування розслідування → кнопки, попередній перегляд посилань та явний запуск бота.
Вихідні дані
Підписані квитанції про взаємодію, повернені зворотні виклики та збережені профілі.
Верифікація
Підписано ZIP; перевіряйте будь-яке досьє щодо ZIP.

Чого не робить Він не відкриває веб-додаток-бота, не здійснює платежів і не реєструє зворотні виклики інших клієнтів.

Учасник змінює імена в різних чатах

Режим → події
Будь-яка область дії → спостережувані sender/profile метадані.
Вихідні дані
Історія імен/імен користувачів за числовим ідентифікатором, посилання «також у» та витягнуті зачіпки.
Верифікація
Досьє JSON перевірено на відповідність підписаному ZIP.

Чого не робить Це не перетворює гаманець, телефонний номер або ім’я користувача на підтверджену особу.

Тривале спостереження з копією, що зберігається поза сервером

Режим → події
Будь-яка область дії → режим «Докази» та S3 репліка з підтримкою Object Lock.
Вихідні дані
Зашифрована копія, збережені контрольні точки та відповіді з часовими мітками.
Верифікація
Відновіть дані за допомогою експортованого ключа, а потім перевірте їх без оригінального сервера.

Чого не робить Це не замінює незалежного свідка або окремо збереженого ключа дешифрування.

Ознайомтеся з деталями

Передайте пакет, який можна перевірити

Надайте підписаний оригінал, незалежно збережений відбиток ключа, відповідну контрольну точку та результат перевірки.

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

Отримуйте верифікатор із надійної копії, а не з архіву, що перевіряється.

Чого не робить Автономний CSV та HTML не є підписаними контейнерами. Пароль захищає конфіденційність передачі, а не автентичність. Багаторазовий експорт не об’єднує журнали облікових записів.

Ознайомтеся з деталями

Порівняйте наданий артефакт

Основні артефакти без додаткового підписання, міток часу або систем свідків. Скрипти та логери різняться залежно від реалізації; «частковий» означає обмежений зафіксованим або видимим матеріалом.

ПідхідРедагування / видаленняЗапис підписуЗовнішній часНезалежний свідокПокриття / прогалиниВерифікація без автора
Експорт з Telegram DesktopЧастковоНіНіНіНіНі
Telethon скрипт знімкаЧастковоНіНіНіНіНі
Реєстратор видалень: текстовий журналЧастковоНіНіНіНіНі
Скріншоти / знімки веб-сторінокЧастковоНіНіНіНіНі
TgWitness з налаштованими додатковими параметрамиЧастковоТакТакТакЧастковоТак

Чого не робить У таблиці не оцінюються всі скрипти чи продукти для ведення журналів. Необов’язкові перевірки часу та свідків вимагають власних служб та опорних точок довіри; жодна з них не встановлює достовірність джерела.

Ознайомтеся з деталями

Дотримуйтесь обмежень, що випливають із доказів

Верифікація є корисною, коли її сфера застосування залишається чітко визначеною.

Чого не робить Жоден режим чи рівень доказовості не встановлює юридичної допустимості, повної доставки повідомлень у Telegram чи реальної особи.