참고 문헌 / 증거
Telegram · 계정 내보내기
계정이 현재 읽을 수 있는 내용을 내보내기: 범위, 재개 가능한 작업, 서명된 아카이브 및 최소화된 공유 사본.
계정 내보내기는 해당 계정을 독점 예약합니다. 시작하거나 재개하기 전에 모니터링 또는 다른 수집을 명시적으로 일시 중지하세요. 앱이 이를 자동으로 중지하지는 않습니다.
설치 관리자는 [여기서 시작] → [내 계정 내보내기]를 선택하거나, [내보내기] → [텔레그램 계정] → [계정 내보내기 구성]을 선택하십시오. 필요한 경우 로그인하고, 권한 범위를 확인한 뒤 내보내기를 명시적으로 시작하십시오. 지속적인 관찰은 필요하지 않습니다. ‘저장된 관찰 기록’은 기존 저널을 별도로 내보낸 것으로, 여기ZIP에는 저널 필터와 관계없이 모든 소스가 포함됩니다. 각 작업 공간은 고유한 작업, 서명 신원 및 저장 공간을 갖습니다. 제한 없는 일반 내보내기 권한을 포함한 패널 접근 권한이 부여되어도 이러한 계정 전체 경로는 열 수 없습니다.
‘발신자 또는 메시지 텍스트로 필터링’ 아래에서 발신자 및 텍스트 필터를 확장할 수 있습니다. ‘계정 데이터 및 연결 방법’에는 선택 사항인 계정 카테고리와 ‘테이크아웃/일반 세션’ 선택 항목이 포함되어 있으며, 이 섹션을 닫은 상태에서도 요약란에 활성화된 선택 사항이 표시됩니다. 이 섹션을 닫아도 설정은 유지됩니다. ‘내보내기’ 및 ‘보고서 초안’은 보기를 변경할 때 현재 패널 세션에 남아 있지만, 브라우저를 새로 고침하면 저장되지 않습니다. 기존 작업은 두 가지 내보내기 옵션 중 어느 쪽을 선택하더라도 계속 접근할 수 있습니다.
이 워크플로는 현재 연결된 계정에서 접근 가능한 데이터를 내보냅니다. 기본 설정은 텔레그램 테이크아웃(Takeout)을 사용하며, 이는 접근 불가능하거나 삭제된 텔레그램 데이터의 백업이 아닙니다. 비밀 채팅, 접근 불가능한 기록 및 이전 편집 내역은 복구되지 않습니다. 텔레그램은 테이크아웃이 시작되기 전에 대기 기간을 설정할 수 있습니다. 패널에는 해당 대기 시간이 표시되며, 전송 방식이 자동으로 변경되지는 않습니다. 명시적인 일반 API 옵션은 지원 범위가 다르며, 지원되지 않는 항목도 기록합니다.
Takeout은 텔레그램 데스크톱에서도 사용되는 공식 내보내기 API입니다. TgWitness는 자체 수집 데이터를 통해 데스크톱과 호환되는 JSON을 직접 작성할 수 있으므로, 타인의 아카이브를 가져올 필요가 없습니다. 채팅 및 메시지 ID는 두 전송 방식 모두를 통해 확인할 수 있습니다. 공개 채팅이나 전달 권한이 있다고 해서 내보내기 속도가 빨라지거나 Takeout의 승인 지연이 사라지는 것은 아닙니다. 속도를 비교하기 전에 동일한 범위와 미디어 설정을 기준으로 측정하십시오.
명시적으로 선택된 최대 20개의 채팅 ID에 대해, 일반 API 내보내기는 계정의 전체 대화 목록을 고려하기 전에 해당 피어를
직접 해결합니다. 따라서 읽기 가능한
공개 채널은 대화 목록에 없더라도 가입하지 않고도 내보낼 수 있습니다. 캐시에 저장되지 않은 피어는 일반 대화 목록으로 대체됩니다.
아카이브 필터는 계속 적용됩니다. 텔레그램이 대화를 반환하지 않고 아카이브된
채팅이 제외된 경우, 알 수 없는 아카이브 상태는 누락으로 기록됩니다.
Takeout은 범위 분할 대화 목록 절차를 유지합니다. 두 경로 모두 채팅에 참여하거나
전달 권한을 변경하지 않습니다.
데스크톱 호환 JSON에서, 텔레그램이 left로 표시한 채널은
left_chats 아래에 표시되며, 여기에는 계정이 가입하지 않은 읽기 가능한 공개 채널도 포함됩니다.
FLOOD_WAIT과 FLOOD_PREMIUM_WAIT 모두 서버가 요청한 전체
기간 동안 요청을 일시 중지합니다. 계정의 마감 기한은 재연결 및 재시작 후에도 유지되며, 이후 더 짧은
대기 시간을 설정하더라도 이 기한을 단축할 수 없습니다. 재시도 횟수에는 제한이 있으며, 취소 시 봉인된 페이지는 유지되고,
API 자격 증명은 속도 제한을 우회하기 위해 교체되지 않습니다. 프리미엄 구매는 이루어지지 않습니다.
수집할 항목 선택#
| 설정 | 의미 |
|---|---|
| 목적 | 이 인수가 필요한 이유를 기록하십시오. 불필요한 이름이나 민감한 사건 세부 정보는 여기에 기재하지 마십시오. |
| 보고서 언어 | 읽기 가능한 보고서의 레이블 언어를 선택하세요. 원본 메시지 텍스트는 변경되지 않으며, 번역되지 않은 템플릿 레이블은 영어로 표시됩니다. 언어는 서명된 작업 옵션으로 고정됩니다. |
| 채팅 유형 / 채팅 ID | 선택한 모든 유형 또는 나열된 채팅만; ‘저장된 메시지’는 비공개 채팅에 속합니다. 보관된 채팅은 별도로 선택할 수 있습니다. |
| 날짜 | UTC. 패널의 ‘시작일’과 ‘종료일’ 달력 날짜는 모두 포함됩니다. 이 API는 시작일과 종료일을 모두 포함하는 방식을 사용합니다 from_utc 및 배타적 to_utc를 모두 사용하며, 패널은 ‘Through’ 다음 날의 시작을 전송합니다. 경계가 비어 있으면 해당 쪽은 제한 없이 처리됩니다. |
| 발신자 ID | 나열된 발신자가 보낸 메시지만 표시되며, 목록이 비어 있으면 모든 발신자의 메시지가 포함됩니다. |
| 텍스트 내용: | 대소문자를 구분하지 않는 리터럴 구문은 OR 연산자로 일치됩니다. 발신자/날짜/본문 조건은 AND 연산자와 결합됩니다. |
| 내 메시지 | 발신 메시지만 보관합니다. |
| 미디어 유형 | 첨부 파일 범주를 선택하거나, 메시지 파일 다운로드가 필요 없도록 모두 지우십시오. |
| 파일/총 미디어 용량 제한 | 파일당 MiB 및 총 다운로드 미디어 용량(GiB). 텍스트, 수신 확인, 읽기 가능한 보고서 및 ZIP 오버헤드에는 추가 디스크 공간이 필요합니다. |
| 계정 카테고리 | 프로필, 연락처, 프로필 사진, 스토리, 세션 메타데이터 및 기타 Takeout 데이터에는 별도의 제어 기능이 있습니다. |
'Minimize' 컬렉션 사전 설정은 파일 및 계정 메타데이터를 비활성화합니다. 발신자/콘텐츠 필터는 보존된 메시지 페이지 및 미디어 다운로드 전에 적용됩니다. 텔레그램은 여전히 해당 필터를 평가하는 데 필요한 메시지가 포함된 API 기록 페이지를 전송합니다. 즉, 필터링이 선택되지 않은 메시지가 절대 프로세스 메모리에 들어가지 않는다는 보장은 아닙니다. 워크스페이스 내의 다른 지속적인 관찰 항목은 각각 고유한 범위 및 보존 설정을 갖습니다.
프로필 사진 기록과 스토리는 기본적으로 선택되지 않습니다. 케이스에 메시지만 필요한 경우 프로필과 연락처도 비활성화하십시오. 첨부 파일이나 메타데이터가 필요하지 않은 경우, 수집 과정에서 이를 제외하면 이 내보내기 파일에 별도의 사본이 저장되는 것을 방지할 수 있습니다.
사진 페이로드는 메타데이터 및 해시 매니페스트에 명시된 정지 이미지 변형을 사용하며, 여기에는 애니메이션 아바타 변형이 포함된 사진도 포함됩니다. 해당 애니메이션은 선택된 정지 이미지를 대체하지 않습니다. 관찰된 크기보다 짧거나 긴 페이로드는 첨부 파일 오류로 기록되며, 파일 참조 갱신 과정에서 표현 형식이 변경된 경우 거부됩니다. 이러한 오류 발생 시 메시지 기록은 유지되지만 아카이브는 불완전한 상태로 남게 됩니다. 독립적인 검증 과정에서는 서명된 길이가 관측된 크기나 표현과 일치하지 않는 저장된 첨부 파일도 거부하며, 이는 오래된 아카이브의 경우도 포함됩니다.
이력서, 적용 범위 및 검증#
각 작업은 해당 옵션과 계정 식별 정보를 고정합니다. 인벤토리와 캡처된 페이지는 서명되며, 페이지 수신 확인 기록에는 해시, 커서, 시간, 첨부 파일 결과 및 이전 수신 확인 기록이 포함됩니다. 커밋된 페이지만 진행 상황을 업데이트합니다. 재시작/재개 시에는 계속 진행하기 전에 해당 기록을 확인합니다. 변경된 계정, 변경된 서명된 페이지 또는 일관성이 없는 수신 확인 체인은 거부됩니다. 수집 도중에는 옵션을 편집할 수 없습니다. 다른 범위를 처리하려면 새로운 작업을 시작하십시오.
'일시 중지(Pause)'는 실행 중인 계정 작업을 중지합니다. 애플리케이션을 다시 시작하면 완료되지 않은 작업이 남아 있어 명시적으로 재개할 수 있습니다. 만료된 Takeout 세션은 명시적인 재개가 필요하며, 텔레그램 분할 범위를 변경할 경우 새로운 수집이 필요할 수 있습니다. '재개(Resume)'는 이전 관측값을 유지하므로, 장시간 실행된 내보내기는 단일 원자적 스냅샷이 아닙니다. 수집 중에는 다른 계정 변경 작업 및 충돌하는 내보내기 작업이 차단됩니다. 워크스페이스를 삭제하기 전에 패키징이 완료될 때까지 기다리십시오.
'Resume' 기능은 작업을 계속하기 전에 이미 캡처된 콘텐츠를 검증합니다. 속도가 느린 저장 장치에 있는 대용량 아카이브의 경우, 설정된 ‘Parameters → Panel action timeout’(기본값 120초)을 초과할 수 있습니다. 재시도하기 전에 해당 설정을 늘리십시오. 작업이 취소되거나 저장 중지가 발생하면 작업이 일시 중지된 상태로 남으며, 무결성 검사 실패 시 설명과 함께 실패한 작업이 남습니다. 파일을 닫기 전에 검증이 완료되거나 안전하게 중지되어야 합니다. 대규모 계정에 대한 처리량 주장은 합성 검사를 통해 검증된 바 없습니다.
이 패널은 완료된 선택 범위와 부분 아카이브를 구분하며, 누락된 항목과 읽기 실패 항목을 기록합니다. 의도적으로 제외된 파일은 읽기 실패 또는 사용 불가능한 파일과는 다릅니다. 무결성 검증이 성공한 경우에도 커버리지를 점검하십시오. 어떤 로컬 리더도 텔레그램이 존재했던 모든 메시지를 반환했음을 증명할 수 없습니다.
완료된 ZIP는 반복 다운로드 및 HTTP 범위 다운로드를 위해 계속 이용 가능합니다. 계정 아카이브에는 manifest.json, manifest.sig, 서명된 job.json, inventory.json, receipts/, 권위 있는 data/*.jsonl, 선별된 media/, 읽기 가능한 HTML 및 검증기를 포함합니다. 독립적인 채널을 통해 수집기 지문을 고정시킨 후, 신뢰할 수 있는 설치 환경을 사용하여 검증하십시오:
python -m tgwitness.verify account-export.zip --fingerprint TRUSTED_SHA256
확장된 콘텐츠 용량이 4 GiB를 초과하는 아카이브의 경우, 적절한 크기를 명시적으로 설정하십시오 --max-gib. 패널은 선언된 확장된 크기와 게시된 ZIP 다이제스트를 사용하여 인증되고 완성된 로컬 아카이브를 검증하며, 외부 CLI는 독립적인 크기 제한을 유지합니다. 읽기 가능한 HTML을 열기 전에 반드시 검증하십시오. 아카이브에 포함된 검증 도구를 사용하는 것도 편리하지만, 별도로 확보한 검증 도구를 사용하면 증거와 함께 제공되는 실행 가능한 코드를 신뢰할 필요가 없습니다.
Ed25519 서명과 SHA-256 해시는 수집기가 관련 바이트를 커밋한 후 발생한 변경 사항을 감지합니다. 그러나 이들은 아님 텔레그램이 해당 메시지에 서명했는지, 수집기 운영자가 정직했는지, 계정 기록이 완전한지, 또는 법원이 해당 자료를 인정할 것인지를 증명하지는 않습니다. 캡처 시간은 수집기의 시계를 기준으로 합니다. 독립적인 타임스탬프와 독립적인 수집 출처는 별도로 평가되어야 합니다.
변호사나 다른 수신자를 위한 정보 공개 자료를 준비하세요#
완성된 내보내기 파일을 다운로드한 후에는 원본 ZIP를 보관하고 index.html
추출된 사본에서 파일을 열어주세요. 보고서에는 범위, 제공되는 내용 및
제한 사항이 설명되어 있습니다. 기록 참조는 아카이브 참조, 문서 경로 및
기록 번호를 결합하므로, 수신자는 HTML 또는 인쇄본에서 동일한 항목을 찾을 수 있습니다.
실제 예시는 가상의 보고서 열기을 참조하세요.
계정 내보내기가 완료되면 ‘공유용 사본 준비’를 선택하세요. 이렇게 하면 별도의 서명된 파생본이 생성됩니다. 원본 ZIP은 변경되지 않고 비공개로 유지되므로, 수신자가 전체 내용을 수신할 권한이 없는 한 축소된 파생본과 함께 보내지 마십시오. 보고서 언어는 별도로 선택하세요. 언어나 선택 설정을 변경할 경우, 생성 전에 다시 미리보기를 확인해야 합니다.
- 공개 목적을 입력하고 날짜, 발신자 ID 및 문자열 검색 조건을 선택하세요.
- 신원을 유지할지, 목록에 있는 참가자만 공개할지, 아니면 모든 사용자의 신원을 가명 처리할지 선택할 수 있습니다. 가명 처리 모드에서는 채팅 ID/제목과 메시지 ID도 대체됩니다. 가명은 하나의 공개 범위 내에서는 고정되지만, 별도로 준비된 공개 범위 간에는 변경됩니다.
- 메시지 텍스트를 유지하거나, 완전히 생략하거나, 가릴 이름이나 문구를 직접 추가할 수 있습니다. 비공개 모드에서는 알려진 숨겨진 발신자 이름과 대체 사용자 이름, 전체 토큰 발신자 ID, 1:1 채팅 이름, 링크, 이메일 주소 및 전화번호와 유사한 문자열도 가려집니다. 알려진 이름 일치 기능은
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 패키지는 이전과 동일하게 검증됩니다.
이 축소된 형식에서는 구조화된 계정 프로필, 연락처, 아바타, 세션, 스토리, 원시 텔레그램 객체, 전달 헤더, 답글 인용문, 연락처 카드 및 위치 메타데이터가 생략됩니다. 또한 원본 JSONL 파일, 비공개 필터 설정, 가명 키 및 신원 매핑도 제외됩니다. 선택된 텍스트, 명시적으로 보존된 신원 정보 및 포함된 파일에는 여전히 해당 필터에서 사용된 것과 동일한 이름, ID 또는 문구가 포함될 수 있으므로 별도의 검토가 필요합니다. 비공개 정책 및 가명 키는 해당 작업에 대해 로컬 볼트에 암호화된 상태로 보관되며, 작업을 삭제하면 관련 비공개 공개 기록이 지워집니다. 공개 정책 기록은 필터 값이 아닌 필터 개수를 기록합니다. 명시된 목적은 매니페스트와 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분 제한에 대해 설명합니다. 호스팅 캡처에서 파생된 공유 사본을 검증하려면, 해당 사본의 소스 해시를 원본 아카이브와 대조하고, 모드별 검사를 통해 아카이브의 진위성을 확인하십시오.