Довідка / Докази
Telegram · Експорт облікового запису
Експортуйте те, що обліковий запис може переглянути зараз: обсяг даних, завдання, які можна відновити, підписаний архів та мінімізовані копії для спільного доступу.
TgWitness / Документація · Докази та верифікація
Експорт облікового запису резервує його виключно для свого завдання. Перед запуском або відновленням явно призупиніть моніторинг чи інший збір даних: застосунок ніколи не зупиняє їх автоматично.
Як адміністратор установки, виберіть «Почати тут» → «Експортувати мій обліковий запис» або «Експорт» → «Обліковий запис Telegram» → «Налаштувати експорт облікового запису». Увійдіть у систему, якщо потрібно, перегляньте обсяг даних та явно запустіть експорт. Постійне спостереження не потрібне. «Збережені спостереження» — це окремий експорт існуючого журналу; його ZIP включає всі джерела незалежно від фільтрів журналу. Кожна робоча область має власні завдання, ідентифікатор підпису та сховище. Наданий доступ до панелі, включаючи необмежений дозвіл на звичайний експорт, не дозволяє відкривати ці маршрути на рівні облікового запису.
Фільтри за відправником та текстом повідомлення розгортаються в розділі «Фільтрувати за відправником або текстом повідомлення». Розділ «Дані облікового запису та спосіб підключення» містить опціональні категорії облікових записів та вибір між режимами «Takeout» і «звичайна сесія»; у його зведенні відображаються активні параметри навіть у закритому стані. Закриття цих розділів не призводить до втрати їхніх налаштувань. Чернетки експорту та звітів залишаються у поточній сесії панелі під час зміни переглядів; вони не зберігаються після перезавантаження браузера. До існуючих завдань можна отримати доступ з будь-якого варіанту експорту.
Цей робочий процес експортує дані, доступні на даний момент для підключеного облікового запису. За замовчуванням використовується Telegram Takeout; це не є резервною копією недоступних або видалених даних Telegram. Таємні чати, недоступна історія та попередні редагування не відновлюються. Telegram може встановити період очікування перед початком роботи Takeout. Панель відображає цей час очікування; вона не перемикає транспортний протокол без попередження. Опція явного використання стандартного API має інший обсяг охоплення та записує категорії, що не підтримуються.
Takeout — це офіційний API для експорту, який також використовується Telegram Desktop. TgWitness може записувати JSON-дані, сумісні з Desktop, безпосередньо зі своїх власних даних; імпортувати чужий архів не потрібно. Ідентифікатори чатів та повідомлень доступні через обидва канали передачі даних. Публічний чат або дозвіл на пересилання не гарантують швидшого експорту чи усунення затримки затвердження Takeout. Перед порівнянням швидкості слід встановити однакові параметри обсягу та медіафайлів.
Для до 20 явно вибраних ідентифікаторів чатів експорт через звичайний API визначає цих учасників
безпосередньо перед тим, як розглядати повний перелік діалогів облікового запису. Тому читабельний
публічний канал можна експортувати, не приєднуючись до нього, навіть якщо його немає
у списку діалогів. Незакешовані учасники використовують звичайний перелік.
Фільтр архівування залишається чинним: якщо Telegram не повертає діалог, а архівні
чати виключені, невідомий статус архівування фіксується як пропуск.
Takeout зберігає свою процедуру розділення діапазонів у переліку. Жоден із шляхів не приєднує чати та
не змінює дозволи на пересилання.
У форматі JSON, сумісному з Desktop, канали, які Telegram позначає як left, відображаються під
left_chats, включаючи загальнодоступні канали, до яких обліковий запис не приєднався.
Запити на паузу як типу FLOOD_WAIT, так і FLOOD_PREMIUM_WAIT діють протягом усього періоду,
запрошеного сервером. Термін дії облікового запису зберігається після повторного підключення та перезапуску; коротший
пізніший час очікування не може його скоротити. Кількість повторних спроб обмежена, скасування зберігає запечатані сторінки,
а облікові дані API не оновлюються для обходу обмеження частоти запитів. Придбання преміум-доступу не здійснюється.
Виберіть, що збирати#
| Налаштування | Значення |
|---|---|
| Мета | Зафіксуйте, чому це придбання є необхідним. Не вказуйте тут зайвих імен або конфіденційних деталей справи. |
| Мова звіту | Оберіть мову міток у звіті для читання. Текст оригінального повідомлення залишається незмінним; неперекладені мітки шаблону використовують англійську мову. Мова фіксується за допомогою параметрів підписаного завдання. |
| Типи чатів / ідентифікатори чатів | Усі вибрані типи або лише перелічені чати; «Збережені повідомлення» належать до приватних чатів. Архівні чати можна вибирати окремо. |
| Дати | UTC. У календарі панелі вказано як дату початку, так і дату закінчення. API використовує дати з включенням from_utc та виключні to_utc; панель надсилає початок дня, що настає після дати «До». Порожня межа залишає цю сторону необмеженою. |
| Ідентифікатори відправників | Тільки повідомлення від зазначених відправників; порожній список включає всіх відправників. |
| Текст містить | Літеральні фрази, що не враховують регістр, поєднуються за допомогою оператора «АБО». Умови «відправник», «дата» та «власне повідомлення» поєднуються за допомогою оператора «І». |
| Власні повідомлення | Зберігайте лише вихідні повідомлення. |
| Типи медіа | Виберіть категорії вкладень або очистіть усі, щоб уникнути завантаження файлів повідомлень. |
| Обмеження на файли / загальний обсяг медіафайлів | Обсяг завантажених медіафайлів у GiB та обсяг кожного файлу в MiB. Текст, квитанції, звіти для читання та накладні витрати ZIP вимагають додаткового дискового простору. |
| Категорії облікових записів | Профіль, контакти, фото профілю, історії, метадані сеансів та інші дані Takeout мають окремі елементи керування. |
Пресет колекції «Minimize» вимикає файли та метадані облікових записів. Фільтри відправників та вмісту застосовуються до збережених сторінок повідомлень та завантажених медіафайлів. Telegram все ще передає сторінки історії API, що містять повідомлення, необхідні для оцінки цих фільтрів: фільтрування не гарантує, що відфільтровані повідомлення ніколи не потраплять до оперативної пам’яті. Інші поточні спостереження у робочому просторі мають власні параметри обсягу та зберігання.
Історія фотографій профілю та історії за замовчуванням не відбираються. Якщо для справи потрібні лише повідомлення, також вимкніть профіль та контакти. Якщо вкладення чи метадані не потрібні, їх виключення під час збору даних дозволить уникнути збереження ще однієї приватної копії в цьому експорті.
Корисні дані фотографій використовують варіант нерухомого зображення, визначений у їхніх метаданих та хеш-маніфестах, включаючи фотографії з анімованим варіантом аватара. Ця анімація не замінює вибране нерухоме зображення. Дані, розмір яких менший або більший за спостережуваний, реєструються як невдале вкладення, а змінене представлення під час оновлення посилання на файл відхиляється. Ці помилки залишають архів неповним, зберігаючи при цьому записи повідомлень. Незалежна верифікація також відхиляє збережені вкладення, довжина яких із підписом суперечить їхньому спостережуваному розміру або представленню, у тому числі в старих архівах.
Підсумок, охоплення та перевірка#
Кожне завдання фіксує свої параметри та ідентифікацію облікового запису. Інвентар та збережені сторінки підписуються; у квитанціях сторінок фіксуються хеші, курсори, час, результати обробки вкладень та попередні квитанції. Лише зафіксовані сторінки враховуються у прогресі. При перезапуску/відновленні ці записи перевіряються перед продовженням роботи. Змінений обліковий запис, змінена підписана сторінка або невідповідний ланцюжок квитанцій відхиляються. Параметри не можна редагувати в процесі збору даних: для іншого обсягу даних слід запустити нове завдання.
Функція «Pause» призупиняє поточну операцію з обліковим записом. Перезапуск програми залишає незавершену роботу доступною для явного відновлення. Сесія Takeout, термін дії якої закінчився, вимагає явного відновлення; зміна діапазонів фрагментів Telegram може вимагати нового збору даних. Функція «Resume» зберігає попередні спостереження, тому тривалий експорт не є одним атомарним знімком. Інші операції зі зміною облікових записів та конфліктуючі експорти блокуються під час збору даних. Перед видаленням робочого простору дочекайтеся завершення пакування.
Функція «Resume» перевіряє вже збережений вміст перед продовженням роботи. Великі архіви на повільних носіях можуть перевищувати налаштований у меню «Параметри» → «Тайм-аут дії панелі» час очікування (за замовчуванням — 120 секунд). Збільште це значення перед повторною спробою; скасування або переривання збереження призводить до призупинення завдання, а невдалі перевірки цілісності — до збою завдання з поясненням причини. Перевірка має завершитися або безпечно зупинитися, перш ніж файли можна буде закрити. Жодні заяви щодо пропускної здатності великих облікових записів не були підтверджені синтетичними перевірками.
Панель розрізняє завершену вибрану область від часткового архіву та фіксує пропуски й невдалі спроби зчитування. Навмисно виключені файли відрізняються від файлів, зчитування яких не вдалося або які недоступні. Перевіряйте охоплення навіть у разі успішної перевірки цілісності. Жоден локальний зчитувач не може довести, що Telegram повернув усі повідомлення, які коли-небудь існували.
Готові ZIP залишаються доступними для повторного завантаження та завантаження за допомогою HTTP-range. Архів облікового запису містить manifest.json, manifest.sig, підписані job.json, inventory.json, receipts/, авторитетні data/*.jsonl, відібраний media/, читабельний HTML та верифікатор. Закріпіть відбиток колектора через незалежний канал, а потім перевірте його за допомогою надійної інсталяції:
python -m tgwitness.verify account-export.zip --fingerprint TRUSTED_SHA256
Для архівів, розгорнутий вміст яких перевищує 4 ГіБ, слід явно встановити відповідний --max-gib. Панель перевіряє свої автентифіковані, завершені локальні архіви, використовуючи їх заявлений розмір у розгорнутому вигляді та опублікований дайджест ZIP; зовнішній CLI зберігає свій незалежний обмеження розміру. Перевірте перед відкриттям HTML-файлу для читання. Вбудований верифікатор архіву зручний, але верифікатор, отриманий незалежно, дозволяє уникнути довіри до виконуваного коду, що поставляється разом із доказами.
Підпис Ed25519 та хеші SHA-256 виявляють зміни після того, як колектор зафіксував відповідні байти. Вони не доводять, що Telegram підписав ці повідомлення, що оператор колектора був чесним, що історія облікового запису є повною або що суд прийме ці матеріали. Час запису визначається за годинником колектора. Незалежні часові мітки та незалежне походження даних необхідно оцінювати окремо.
Підготуйте розкриття інформації для юриста або іншого одержувача#
Після завантаження готового експорту збережіть оригінальний файл ZIP та відкрийте index.html
з розпакованої копії. У звіті пояснюються його обсяг, доступний охоплення та
обмеження. Посилання на записи поєднують посилання на архів, шлях до документа та
номер запису, щоб одержувач міг знайти той самий запис у HTML-файлі або на роздруківці.
Практичний приклад: відкрити вигаданий звіт.
У готовому експорті облікового запису виберіть «Підготувати копію для спільного доступу». Це створює окремий підписаний похідний файл. Джерело ZIP залишається незмінним і приватним; не надсилайте його разом із мінімізованим похідним файлом, якщо одержувач не має дозволу на отримання повного вмісту. Окремо виберіть мову звіту. Зміна мови або будь-яких налаштувань вибору вимагає ще одного попереднього перегляду перед створенням.
- Вкажіть мету розкриття інформації та виберіть дати, ідентифікатори відправників і критерії за текстом повідомлень.
- Виберіть, чи зберігати ідентичності, розкривати лише перелічених учасників чи псевдонімізувати всіх. У будь-якому режимі псевдонімізації ідентифікатори/назви чатів та ідентифікатори повідомлень також замінюються. Псевдоніми є стабільними в межах одного розкриття інформації та змінюються між незалежно підготовленими розкриттями.
- Зберігайте текст повідомлення, повністю опускайте його або додавайте до маскування дослівні імена/фрази. У приватних режимах інструмент також маскує відомі приховані імена відправників та альтернативні імена користувачів, ідентифікатори відправників у вигляді цілих токенів, імена у прямих чатах, посилання, адреси електронної пошти та рядки, схожі на номери телефонів. Збіг за відомими іменами враховує перетворення регістру Unicode, включаючи
Straße/STRASSE. Загальні назви груп/каналів не видаляються автоматично з тексту повідомлення. Якщо перевищено обмеження на маскування відомих ідентифікаторів, звузьте джерело експорту або опустіть текст; інструмент не пропускатиме наступні імена без попередження. Це правила, що діють за принципом «найкращих зусиль», а не загальна анонімізація. - Не додавайте файли, якщо вони не потрібні одержувачу. Додані оригінали зберігають свої пікселі, аудіо, текст та метадані. Інструмент не анонімізує їх.
- Перегляньте кількість, попередження та зразки перетворених повідомлень, а потім явно підтвердьте створення. Зразки обмежені 12 повідомленнями та 2 000 символів тексту кожне. Це зразок, а не повний огляд результату. Зміна налаштувань вимагає ще одного попереднього перегляду. Попередній перегляд втрачає чинність через 15 хвилин і прив’язаний до цієї сесії адміністратора та точного оригінального ZIP; його не можна повторно використати після створення. Новий попередній перегляд анулює попередній для того самого завдання та сесії.
- Перегляньте повний результат
index.htmlтаmessages.jsonlлокально, перш ніж передавати його. Якщо у ньому міститься непотрібна інформація, створіть нове розкриття з більш суворими обмеженнями. Не редагуйте підписаний тег ZIP на місці.
Повідомлення, які не увійшли до вибірки#
Попередній перегляд. Розкриття інформації не виглядає повним, якщо воно таким не є. У кожному чаті, що містить хоча б одне розкрите повідомлення, повідомлення, які не увійшли до виділеного фрагмента, відображаються як маркери, [withheld by selection — rule: sender] (або text, period). Виберіть «Повідомлення, виключені з відбору»: один маркер для кожної серії послідовних прихованих повідомлень (за замовчуванням) або один для кожного повідомлення. Маркери містять лише правило та кількість, ніколи — текст, відправника, дату чи файли. Чати, в яких немає розкритих повідомлень, повністю виключаються, тому пакет не показує, що вони існують.
Відкриті відповіді вказують, на що саме вони відповідають: на повідомлення, включене до цієї копії, на повідомлення, вилучене під час відбору, або на повідомлення, якого немає в експорті джерела (видалене перед експортом або ніколи не експортоване; експорт не дозволяє визначити, що саме). Приховане повідомлення, на яке відповідає розкрита відповідь, завжди отримує власний маркер, тож відповідь вказує на запис, що пояснює, чому вона порожня. Ці три стани відрізняються від видалень та прогалин у збірці даних, які належать до вихідного експорту.
У messages.jsonl (формат tgwitness-account-disclosure-v2) кожне повідомлення має state: disclosed, або withheld з rules та count. Відкрита відповідь має reply_to з ціллю id та state (disclosed, withheld, not_in_source). Маніфест підраховує оприлюднені повідомлення, чати, мультимедіа та withheld повідомлення. verify.py відхиляє маркер, що містить вміст, та відповідь, яка вказує на запис, якого бракує в пакеті; пакети версії 1 перевіряються, як і раніше.
У мінімізованому форматі не відображаються структуровані профілі облікових записів, контакти, аватари, сесії, історії, необроблені об’єкти Telegram, заголовки пересилань, цитати відповідей, картки контактів та метадані про місцезнаходження. Він не містить оригінальних файлів JSONL, налаштувань приватних фільтрів, ключа псевдоніма та карти ідентичностей. Виділений текст, явно збережені ідентичності та включені файли все ще можуть містити ті самі імена, ідентифікатори або фрази, що використовуються в цих фільтрах; вони потребують окремого перегляду. Приватна політика та ключ псевдоніма зберігаються у зашифрованому вигляді в локальному сховищі для завдання; видалення завдання очищає пов’язані з ним записи про приватне розкриття. Записи публічної політики фільтрують кількість, а не значення фільтрів. Зазначена мета є публічною в маніфесті та HTML: явні приватні критерії та, у режимах псевдонімізації, відомі приховані ідентичності також маскуються там, у тому числі коли текст повідомлення опущений. Не включайте в мету зайві особисті дані; невідомий ідентифікуючий контекст може залишатися.
Його маніфест пов’язує похідні файли, публічну політику та хеш оригінального ZIP. Верифікація дозволяє встановити цілісність, а якщо джерело надається локально — також відповідність посилання на джерело:
python -m tgwitness.verify minimized-disclosure.zip --fingerprint TRUSTED_SHA256
python -m tgwitness.verify minimized-disclosure.zip --fingerprint TRUSTED_SHA256 --evidence account-export.zip
Посилання на джерело самостійно не доводить, що під час перетворення було вибрано всі необхідні елементи або видалено всі ідентифікуючі деталі. Оригінальний відкритий текст не вбудовано як доказ. Для такого висновку необхідний новий аналіз.
Обмін даними та розміщення записів на сервері#
Виберіть повідомлення та файли, які потрібні одержувачу, перегляньте повну копію для обміну та збережіть оригінал окремо. Запишіть хеш доставленого ZIP-файлу, щоб одержувач міг ідентифікувати та перевірити саме цю копію. Вибрані ідентифікатори замінюються псевдонімізацією; включений текст та оригінальні файли залишаються частиною перегляду.
GitHub Actions підтримує експорт даних усього облікового запису та вибраних чатів через Takeout або звичайний API, а також журнал подій одного чату. Посібник із хостингового збору даних пояснює перевірку налаштувань та обмеження у 120 хвилин. Щоб перевірити копію для спільного доступу, отриману з хостингового збору даних, порівняйте її вихідний хеш із оригінальним архівом та перевірте засвідчення цього архіву за допомогою перевірок , специфічних для режиму .