TgWitness / เอกสาร

สิ่งที่ได้รับการทดสอบแล้ว →

อ้างอิง / การเก็บรักษาข้อมูลและการบูรณาการ

Telegram · อ้างอิง Case Board

บุ๊กมาร์ก, การเน้นข้อความที่แม่นยำ, ส่วนการดำเนินการ, การสนทนา, การเข้าถึงตามขอบเขต และประวัติคำอธิบายประกอบที่ลงนาม ซึ่งใช้โดย Case Board.

TgWitness / เอกสารประกอบ · การสอบสวน

การสอบสวน

Case Board ให้ทีมสอบสวนมีมุมมองการทำงานร่วมกันของข้อมูลที่บันทึกไว้ สามารถทำเครื่องหมาย การสังเกตการณ์, ไฮไลต์ข้อความเฉพาะ, บันทึกชุดการดำเนินการ และหารือกับเพื่อนร่วมงาน บัตรข้อมูลจะเก็บรักษาการอ้างอิงแหล่งที่มาและประวัติการแก้ไขที่ลงนามไว้ หมายเหตุของทีมจะอยู่ใน พื้นที่ทำงาน และสามารถแยกแยะได้ชัดเจนจากบันทึกการสังเกตการณ์ Telegram ต้นฉบับ

แบบจำลองหลักฐาน · เข้าถึง · รายงาน

ข้อมูลการสืบสวนที่สร้างขึ้น

บนหน้านี้

ทำงานกับคดี#

เปิด Investigation → Case Board ในโหมด Standard หรือ Expert ภาษาจะตามแผงควบคุม ใช้ปุ่ม To board ข้างบันทึกในสมุดบันทึกหรือข้อความแชทที่บันทึกไว้ หรือเลือกการ์ดนั้นแล้วกด B บุ๊กมาร์กจะถูกเพิ่มไปยัง Inbox ด้วยการคลิกเพียงครั้งเดียว แก้ไขชื่อ ป้ายกำกับ และหมายเหตุ หรือย้ายไปยัง คอลเลกชัน การ์ดที่แก้ไขแล้วจะเพิ่มเวอร์ชันที่มีลายเซ็น; การลบการ์ดจะรักษาประวัติไว้

สำหรับกรณีแรก ให้เลือกการเก็บรวบรวมข้อมูลและเพิ่มบันทึกที่ตอบคำถามหนึ่งข้อ ใช้ส่วนความคิดเห็น เพื่อตรวจสอบการตีความ จากนั้นใช้ส่วน Presentation เพื่อดูผ่านบัตรและบริบทของแหล่งข้อมูล เลือกเนื้อหา Case Board แยกต่างหากใน Report Studio เมื่อเตรียม เอกสารส่งมอบ การบันทึกส่วนหนึ่งจะไม่ตั้งค่าตัวกรองข้อมูลของรายงานโดยอัตโนมัติ

เลือกข้อความภายในข้อความแชทที่บันทึกไว้เพื่อแสดงเมนู Highlight → board เลือกสีและ เพิ่มหมายเหตุ เซิร์ฟเวอร์จะตรวจสอบคำอ้างอิงที่แม่นยำและเวอร์ชันที่บันทึกไว้ รวมถึงอีโมจิ ข้อความ RTL และ เครื่องหมายรวม ข้อความที่เลือกจะไม่ถูกแมปผ่านข้อความที่ถูกปิดบังหรือแปลงรูปแบบ

กด Shift พร้อมคลิกที่บันทึกสองรายการในแชทเดียวเพื่อใช้ Slice between, ใช้ Slice by time หรือบันทึก ตัวกรองแชทปัจจุบัน, ช่วงระยะเวลา และประเภทเหตุการณ์ของ Journal ส่วน Slice ที่บันทึกไว้จะมี ตัวกำหนดที่เชื่อถือได้ของตัวเอง: การเปิดมันใน Journal จะใช้ตัวกรองแชทหลายรายการ, ข้อจำกัดจำนวนข้อความ และตัวกรอง ผู้กระทำด้วย การแสดงบันทึกที่เพิ่มเข้ามาตั้งแต่การตั้งบุ๊กมาร์กจะแยกส่วนที่เพิ่มเข้ามาภายหลัง การเปลี่ยนตัวกรองของ Journal จะทำให้ออกจาก Slice จาก People, Slice this person’s actions ใช้ ID ผู้กระทำที่บันทึกไว้; มันไม่สมมติว่าผู้เขียนข้อความได้แก้ไข ลบ หรือตอบสนองต่อข้อความนั้น

หน้าต่างสนทนา "slice" จะแสดงจำนวนตัวอย่างก่อนอนุญาตให้สร้างall หมายถึงทุกประเภทที่บันทึกไว้ รวมถึงภาพถ่ายหน้าจอ การแก้ไข การลบ ปฏิกิริยา การอัปเดตสมาชิก/บริการ การดำเนินการของตนเอง ปุ่ม ผลลัพธ์สื่อ ข้อความที่กู้คืนได้ และประเภทเหตุการณ์ในอนาคต การเลือกนี้อธิบาย การสังเกตการณ์ที่บันทึกไว้ การแจ้งเตือนการลบแชทที่ไม่รู้จักเป็นบริบทที่แยกต่างหาก, มีให้เฉพาะผู้ที่มีสิทธิ์เข้าถึงพื้นที่ทำงานทั้งหมดเท่านั้น และไม่เคยถูกเชื่อมโยงกับแชทใดในแชทที่เลือกไว้

คอลเลกชันมีขอบเขตการสนทนาที่กำหนดไว้ ขอบเขตที่ว่างหมายถึงพื้นที่ทำงานทั้งหมด คอลเลกชัน ไม่สามารถมีบัตรที่อยู่นอกขอบเขตได้; ผู้เข้าร่วมที่ถูกจำกัดในขอบเขตการสนทนาไม่สามารถอ่าน คอลเลกชันที่มีขอบเขตกว้างกว่าได้ Inbox เป็นคอลเลกชันเสมือนสำหรับบัตรที่ยังไม่ถูกกำหนด การค้นหาและตัวกรองครอบคลุม การ์ดที่มองเห็นได้เท่านั้น; หัวข้อสนทนาและการกล่าวถึงจะสืบทอดสิทธิ์การเข้าถึงจากการ์ดหลัก ความคิดเห็นที่ถูกลบจะมี เครื่องหมายแสดงการลบในส่วนการสนทนา ไม่มีการบันทึกประวัติการดู

โหมดการนำเสนอจะเปิดบัตรทั้งหมดในคอลเลกชันที่เลือก พร้อมด้วยมุมมองบัตร (Card), บริบทแหล่งข้อมูล (Source context) และความคิดเห็นของทีม (Team comments) รวมถึงปุ่มควบคุม Previous/Next บนคีย์บอร์ด โหมดนี้ไม่มีปุ่มควบคุมสำหรับการแก้ไข ฟีดปกติ ถูกแบ่งเป็นหน้า; โหมดการนำเสนอจะโหลดรายการเป็นหน้าๆ และแสดงรายละเอียดบัตรหนึ่งใบต่อครั้ง

สิทธิ์#

ทุกการดำเนินการต้องการสิทธิ์view, ขอบเขตพื้นที่ทำงาน/แชท และสิทธิ์board.read สำหรับบอร์ด. สิทธิ์board.write ใช้เพื่อเพิ่มการ์ด, ความคิดเห็น, การย้าย และการตั้งค่าสถานะเปิด/ตรวจสอบ. สิทธิ์board.manage อนุญาตให้จัดการคอลเลกชัน, สถานะยืนยัน/ปฏิเสธ, การแก้ไข/ลบการ์ดของผู้อื่น. สถานะเป็นการตัดสินใจของทีม ไม่ใช่ผลการตรวจสอบทางเข้ารหัส

ตั้งค่าสิทธิ์การเข้าถึงล่วงหน้า: ผู้ตรวจสอบ = อ่าน; ผู้วิเคราะห์ = อ่าน/เขียน; ผู้ดำเนินการ = อ่าน/เขียน/จัดการ, นอกเหนือจากสิทธิ์ที่มีอยู่เดิม สิทธิ์ที่มีอยู่เดิมจะไม่ได้รับสิทธิ์ใหม่โดยอัตโนมัติ ผู้ดูแลระบบหลักมีสิทธิ์ทั้งหมด และโพสต์ในนามผู้ดูแลระบบหลัก ใช้สิทธิ์ที่กำหนดชื่อ เพื่อระบุผู้รับผิดชอบ รายชื่อการกล่าวถึงจะแสดงเฉพาะสิทธิ์การเข้าถึงปัจจุบันที่สามารถอ่านบัตรหลักได้ครบถ้วน

การอนุญาตสำหรับแชท A ไม่สามารถรับการ์ดหรือสไลซ์สำหรับ A+B ได้ แม้จะเดา ID ของมันหรือระบุ target.chat_id ที่ผิดพลาดก็ตาม ข้อมูลเมตาของเป้าหมายจะถูกกำหนดจากแฮชเหตุการณ์ที่ลงนามบนเซิร์ฟเวอร์ การรวบรวมข้อมูล จำนวนการสนทนา การ์ดที่เกี่ยวข้อง และการแจ้งเตือนแบบเรียลไทม์จะถูกกรองก่อนส่งคำตอบ การexport จำเป็นต้องใช้ทั้ง export และ board.read; ผู้ส่งออกที่มีอยู่แต่ไม่มีสิทธิ์เข้าถึงบอร์ดจะได้รับ คลังหลักฐานทั่วไปโดยไม่มีบันทึกของทีม SSE จะตรวจสอบสิทธิ์ปัจจุบันอีกครั้งก่อนแต่ละชุด

สัญญาที่เก็บไว้#

เช่นเดียวกับข้อมูลการสังเกต การหมายเหตุถูกเขียนแบบธุรกรรมลงในตาราง SQLite แบบ append-only ใน พื้นที่ทำงาน ไฟล์ annotations.jsonl เป็นไฟล์ส่งออกมาตรฐานที่ตรงกันจากสแนปช็อตการอ่านเดียวกันกับ events.jsonl ไม่มีที่เก็บหมายเหตุอื่นที่แข่งขันกัน และไม่มีเหตุการณ์ในบันทึก board.activity

แต่ละบรรทัดมีเนื้อหาดังต่อไปนี้:

{
  "seq": 1,
  "at": "2026-11-02T14:00:00.000+00:00",
  "access_id": "admin",
  "access_label": "Main administrator",
  "kind": "board.bookmark",
  "payload": {"id": "32 lowercase hex digits", "target": {"event_hash": "64 lowercase hex digits"}},
  "previous_hash": "64 zeroes for the first record",
  "hash": "SHA-256 described below",
  "signature": "base64 Ed25519 signature"
}

ตัวอย่างที่ตัดทอนข้างต้นแสดงโครงสร้างของ envelope; ข้อมูล payload ที่จริงรวมถึงค่าเริ่มต้นของโมเดล และฟิลด์เป้าหมายที่เซิร์ฟเวอร์กำหนด สคีมาคำขอ API อยู่ใน tgwitness/schemas ซึ่งถูกสร้างขึ้นจากโมเดล Pydantic ใน runtime โดย python tools/build_board_schemas.py ฟิลด์คำขอเพิ่มเติมจะถูกปฏิเสธ ID จะ ถูกสร้างขึ้นด้านเซิร์ฟเวอร์เมื่อไม่ระบุ ผู้เรียกไม่สามารถระบุ ผู้สร้าง เวลา สแนปช็อต และลายเซ็นได้ ID การอนุญาตที่มีชื่อใช้รูปแบบ 16-hex ที่มีอยู่ของ Access; ID บัตรมีขนาด 32 hex.

JSON แบบมาตรฐานใช้ UTF-8, คีย์อ็อบเจ็กต์เรียงลำดับ, ไม่มีช่องว่างระหว่างโทเคน, Unicode ที่ไม่ถูกหลบหลีก, และไม่มี NaN/ค่าอนันต์. ค่าแฮชของคำอธิบายประกอบคือ SHA-256 ของอ็อบเจ็กต์มาตรฐานที่มีformat: "tgwitness-annotations-v1" และฟิลด์ซองทั้งเจ็ดตั้งแต่ format: "tgwitness-annotations-v1" ถึงprevious_hash แท็กฟอร์แมตนี้แยกโดเมนแฮชออกจากข้อมูลการสังเกตการณ์ ลายเซ็นเป็น Ed25519 บน 32 ไบต์แฮชดิบ ลำดับเริ่มต้นที่ 1 การแก้ไขจะเก็บรักษา ID การ์ดและระบุชื่อ แฮชคำอธิบายประกอบก่อนหน้าในช่อง "supersedes"; ไม่สามารถเปลี่ยนขอบเขตการสนทนาได้ การย้าย สถานะ และการลบเป็น บันทึกแยกต่างหาก ตาราง SQLite ปฏิเสธคำสั่ง UPDATE และ DELETE

case-board.json ประกอบด้วย {statement, signature} คำแถลงมาตรฐานถูกลงนามโดย กุญแจพื้นที่ทำงาน (workspace key) และประกอบด้วย format: "tgwitness-case-board-v1", public_key, created_at, journal_head, meaning และ state State เป็นการรีเพลย์แบบกำหนดค่าได้: annotations_head ซึ่งเป็น อาร์เรย์ของ items ที่เรียงลำดับ (collections, cards, comments รวมถึง tombstones) และ status_history รายการจะเก็บรักษาแฮชการหมายเหตุครั้งสุดท้าย ลำดับ ผู้สร้าง และเวลา รวมถึง ผู้สร้างเดิมและเวลาสร้างไว้ตลอดการแก้ไข การเล่นซ้ำจะตรวจสอบการแก้ไข รายการแม่ การอ้างอิงคอลเลกชัน และ ID การกระทำที่ซ้ำกัน ไฟล์ manifest.json และจุดตรวจสอบใหม่ ยังผูกกับ annotations_head ด้วย เก็บจุดตรวจสอบไว้อย่างอิสระเพื่อตรวจจับการตัดทอนหรือการเขียนทับ ด้วยกุญแจลงนามที่คัดลอกมา

เวอร์ชันข้อความ#

range.start เป็นค่าออฟเซ็ตจุดรหัส Unicode ที่เริ่มจากศูนย์, length เป็นจำนวนจุดรหัสที่เป็นค่าบวก, และ quote ต้องเท่ากับสตริงย่อยที่ตรงกันทุกประการของ payload.text หรือ payload.caption ที่เหตุการณ์เป้าหมาย ไม่มีการใช้ NFC/NFKC, การปรับรูปแบบตัวอักษร หรือการปรับรูปแบบกราฟีม การตัดส่วนสตริงใน Python และ Array.from(text) ใน JavaScript ใช้การกำหนดดัชนีแบบเดียวกัน การรวมเครื่องหมายและอีโมจิ ZWJ อาจ ใช้หลายจุดรหัส range.version คือแฮชของเหตุการณ์เป้าหมาย ไม่ใช่เวอร์ชันข้อความปัจจุบัน หรือออฟเซ็ตเอนทิตี UTF-16 ของ Telegram การแก้ไขในภายหลังจะไม่ย้ายตำแหน่งการเน้นโดยอัตโนมัติ

แบ่งตามตัวตนและเวลา#

query รับได้เพียง chat_id เดียวหรือ chat_ids ที่ไม่ว่างเปล่า, ช่วง from/to ที่รวมทั้งสองจุดเริ่มต้นและจุดสิ้นสุด (เป็นตัวเลือก), ขอบเขต message-ID ที่รวมทั้งสองจุดเริ่มต้นและจุดสิ้นสุด (สำหรับแชทเดียวเท่านั้น), kinds: "all" หรือชนิด wildcard แบบ exact/prefix, actors ที่ระบุชัดเจน, search, hide_system และ include_unscoped. กลุ่มชนิด Journal จะขยายเป็น เงื่อนไขที่ตรงกันทุกประการ การค้นหาใช้การค้นหา payload ของ journal ที่ปรับรูปแบบ NFC/case-folded โดยไม่เปลี่ยนแปลง ข้อความต้นฉบับที่มีลายเซ็น วันที่ต้องระบุเขตเวลาและปรับให้เป็น UTC วันที่กรอง observed_at. Telegram's source_at แสดงแยกต่างหาก การลบที่ไม่มี เวลาประทับของแหล่งที่มา จะไม่มีเวลาลบที่ถูกสร้างขึ้น บันทึกที่สังเกตเห็นนอกช่วงเวลา จะไม่ถูกนำเข้าสู่ช่วงเวลานั้น; ส่วนของ message-ID อาจรวมถึงการลบที่เกิดขึ้นภายหลังสำหรับ message-ID เหล่านั้น

snapshot กำหนดเวลาการสร้าง, ขอบเขตลำดับ/แฮชของ journal, จำนวนการจับคู่, ลำดับแรก/สุดท้าย และ result_hash ส่วนหลังคือ SHA-256 ของอาร์เรย์ JSON แบบมาตรฐาน UTF-8 ที่ประกอบด้วยแฮชของเหตุการณ์ที่ตรงกัน ซึ่งจัดเรียงตามลำดับอักษร รวมถึง [] สำหรับ slice ที่ว่างเปล่า นอกจากนี้ยังเก็บ จำนวนประเภทที่แม่นยำและภาพย่อของเวลาสังเกตการณ์แบบ 24 บิน สไลซ์เก็บการค้นหา ไม่ใช่บันทึกแหล่งข้อมูล ที่ซ้ำกัน เมื่อส่งออก board/slices/<id>.json จะแสดงรายการแฮชปัจจุบันและลำดับที่เพิ่ม/ลบออก ตัวตรวจสอบจะสร้างผลลัพธ์เดิมขึ้นใหม่ที่จุดเริ่มต้นการสร้าง จากนั้นจึงสร้างผลลัพธ์ปัจจุบัน บันทึกที่เพิ่มเข้ามาจะถูกรายงานเป็นข้อเท็จจริงการเปลี่ยนแปลง การลบเหตุการณ์เดิมจะทำลาย ห่วงโซ่หลักฐานที่ไม่สามารถเปลี่ยนแปลงได้; การลบนี้จะไม่ถูกรับยอมรับอย่างเงียบๆ เหมือนการลบปกติจาก slice

ภาพถ่ายปฏิกิริยามีรายชื่อผู้ใช้งานล่าสุดที่ไม่ครบถ้วน เครื่องมือสำรวจเปรียบเทียบภาพถ่ายที่อยู่ติดกัน ของบทสนทนา/ข้อความเดียวกัน รวมถึงภาพถ่ายก่อนหน้าอยู่นอกช่วงที่เลือก และรายงานความแตกต่างของจำนวนรวม ระหว่างการสังเกตการณ์ ผู้ใช้งานล่าสุดที่ขาดหายไปไม่ถูกถือว่าได้ลบปฏิกิริยา ภาพถ่ายแรกไม่มีสถานะก่อนหน้าที่ถูกอนุมาน การสังเกตการณ์ของผู้กระทำยังคงถูกระบุว่าเป็นของ ภาพถ่ายที่มันถูกส่งมา ไม่ใช่เวลาการกระทำที่ถูกสร้างขึ้น

API และการส่งออกข้อมูล#

GET /api/board รับพารามิเตอร์ collection/chat/author/label/state/from/to/q/kind/comments, offset/limit และลำดับ newest/oldest. GET /api/board/card/{id} คืนค่าการ์ด, ตัวอย่างแหล่งที่มา, กระทู้, ประวัติสถานะ และการ์ดที่เกี่ยวข้อง. เส้นทางย่อยผู้เข้าร่วมคืนค่าตัวเลือกการกล่าวถึงที่ตรงตามเงื่อนไข. POST /api/board/{bookmark|highlight|slice|collection|comment|status|move|remove} เพิ่มบันทึกใหม่ POST /api/board/slice-preview คำนวณคำสั่งค้นหา บันทึก Slice ถูกแบ่งเป็นหน้าตาม GET /api/board/slice/{id}/records; การคำนวณใหม่จะใช้ snapshot การอ่านที่เสถียรในปัจจุบันเสมอ Live /api/stream ส่งการแจ้งเตือน board ที่ไม่มี payload แยกจากตัวชี้ตำแหน่งใน journal

GET /api/board/export ส่งคืนเอกสารที่ลงนามแล้ว การเข้าถึงที่จำกัดเฉพาะแชทจะได้รับเอกสารเปิดเผยข้อมูลที่ลงนามแล้ว และติดป้ายกำกับอย่างชัดเจน ไม่เคยมีคำอธิบายประกอบจากแชทอื่นหรือห่วงโซ่การสนทนาทั้งหมด ไฟล์ ZIP ของหลักฐานเต็มรูปแบบ มีไฟล์ annotations.jsonl ที่ลงนามแล้ว case-board.json และภาคผนวก JSON ของส่วนตัด การตั้งค่า รายงาน HTML/PDF/JSON สามารถเลือกไม่ใช้ Case Board, บุ๊กมาร์ก/สไลซ์โดยไม่มีการอภิปราย หรือการ์ดที่มีคำอธิบายประกอบ ส่วน นี้แยกความเห็นของทีมออกจากข้อสังเกตอย่างชัดเจน ตัวกรองข้อมูลรายงานยังจำกัด บันทึกที่อ่านได้ด้วย; ไฟล์แหล่งข้อมูลที่ลงนามครบถ้วนใน ZIP ของหลักฐานยังคงสมบูรณ์

GET /api/board/slice/{id}/export สร้างส่วนตัดของ JSON ที่ลงนามแล้วชื่อ tgwitness-board-selection-v1; ?format=csv สร้างตารางที่ใช้งานสะดวกโดยไม่มีลายเซ็นแยกต่างหาก ให้รักษา JSON และ ZIP ไว้:

python -m tgwitness.verify evidence.zip --fingerprint TRUSTED_KEY_SHA256 --board
python -m tgwitness.verify board-slice.json --evidence evidence.zip --fingerprint TRUSTED_KEY_SHA256
python -m tgwitness.verify case-board.json --evidence evidence.zip --fingerprint TRUSTED_KEY_SHA256

การตรวจสอบการเลือกจะยืนยันความถูกต้องของคำชี้แจงที่ลงนาม บันทึกแหล่งที่มาที่ตรงกันทุกประการ และความครบถ้วน ของคำขอที่ขอบเขตที่ระบุไว้ ไฟล์ ZIP ของหลักฐานอาจมีวันที่ใหม่กว่า แต่ต้องประกอบด้วย คำนำหน้านั้น เป้าหมายที่หลุดลอยจะถูกรายงานอย่างชัดเจน ส่วนภาพสแนปช็อตของสไลซ์ต้นฉบับที่แตกต่างกัน การเปลี่ยนแปลง คำอธิบายประกอบ สถานะการเล่นซ้ำที่ไม่ตรงกัน หรือแหล่งที่มาที่เปลี่ยนแปลง จะไม่ผ่านการตรวจสอบ ไฟล์เก็บถาวรเก่าที่ไม่มีคำอธิบาย จะยังคงรักษาพฤติกรรมการตรวจสอบที่มีอยู่เดิม

การส่งต่อถูกตั้งค่าเริ่มต้นเป็น “ไม่รวม” การรวมข้อมูลอย่างชัดเจนจะแสดงบัตรโครงการผ่าน บันทึกที่ถูกลดขนาดแล้ว, ละเว้นเป้าหมายที่เข้าถึงไม่ได้/ถูกละเว้น, ไม่แสดงส่วนที่เน้นซึ่งข้อความต้นฉบับ ถูกลดขนาด, ทำความสะอาดข้อความทีมด้วยกฎการกล่าวถึง/ติดต่อเดียวกัน, และสามารถเลือกแทนที่ ป้ายชื่อผู้สอบสวนด้วย R01, R02… ในเมตาดาต้าและกรณีที่ทราบในหมายเหตุ ไม่เปิดเผยไฟล์ annotations.jsonlต้นฉบับ ไฟล์ sidecar ที่ลงนามแล้ว tgwitness-case-board-handover-v1 และรายงาน มีเนื้อหาที่ถูกย่อขนาดเท่ากัน จำนวน Slice อธิบายเฉพาะบันทึกที่เปิดเผยเท่านั้น โดยรายละเอียด ผู้ดำเนินการ snapshot/query ต้นฉบับถูกระงับไว้ ชื่อในข้อความอิสระที่ระบบลดขนาดไม่รู้จักยังคงต้อง ได้รับการตรวจสอบ เช่นเดียวกับการส่งต่อข้อมูลทั่วไป เวอร์ชันที่สร้างขึ้นนี้ไม่อ้างว่าสามารถรักษา ลายเซ็นของคำอธิบายต้นฉบับไว้ได้หลังการลบข้อมูลส่วนที่ไม่จำเป็น

ข้อจำกัดในการใช้งาน#

พารามิเตอร์รวมถึงขีดจำกัดแบบนุ่ม (soft limits) ที่ 10,000 บัตร และ 50,000 ความคิดเห็น หน้าสไลซ์ (slice page) ที่มีได้สูงสุด 5,000 บันทึก และการควบคุมการดูตัวอย่างสื่อ ขีดจำกัดแบบนุ่มจะแจ้งเตือนโดยไม่ลบประวัติ หน้าฟีดมี สูงสุด 200 บัตร ส่วนข้อความตัดตอน JSON แบบสแตนด์อโลนถูกจำกัดไว้ที่ 64 MiB; ให้จำกัดการค้นหาหรือใช้ ไฟล์ ZIP ที่ลงนามแล้วสำหรับข้อมูลที่มีขนาดใหญ่กว่า เครื่องมือตรวจสอบแบบสแตนด์อโลนจำกัดการเล่นซ้ำคำอธิบายประกอบไว้ที่ 256 MiB Case Board ไม่เปิดใช้งานหรือนำระบบแจ้งเตือนความคิดเห็นจากภายนอกมาใช้

กระบวนการรับมอบอัตโนมัติของฟีเจอร์นี้ใช้ข้อมูลสมมติและระบบส่งข้อมูล Telegram ที่จำลองขึ้นเพื่อ ตรวจสอบการเก็บรักษา การเข้าถึง การแสดงผล และการส่งออก ดูส่วน "ขอบเขตการตรวจสอบ" เพื่อทราบขอบเขตของการตรวจสอบหลักฐาน