# Device Provisioning Protocol

## 1. อุปกรณ์

- Android lab device 1 เครื่องและ iOS lab device 1 เครื่อง
- Dedicated lab SIM/eSIM หรือ Wi-Fi-only test profile
- Dedicated Apple/Google/LINE lab accounts
- ห้ามใช้บัญชีส่วนตัว เบอร์จริงของบุคลากร หรืออุปกรณ์จากคดี
- บันทึก model, chipset, storage, OS/build, security patch, lock state และ battery state

## 2. Acquisition lanes

ทำคนละรอบและห้ามรวมคะแนนข้าม lane:

1. `logical` — backup/API/logical extraction ที่ vendor รองรับ
2. `full-file-system` — filesystem/agent/exploit extraction ที่ได้รับอนุญาต
3. `advanced-locked` — locked/encrypted workflow เฉพาะเมื่อมีอำนาจและ vendor entitlement

## 3. เตรียมรอบทดสอบ

1. Coordinator สร้าง run ด้วย `generate-run.mjs`
2. ถ่ายภาพหน้า device identity และบันทึกเวลาอ้างอิง UTC
3. Sync เวลา แล้วบันทึก timezone `Asia/Bangkok`
4. สร้างเหตุการณ์ E001–E016 ตาม `provisioning-actions.csv`
5. จดเวลาจริงของแต่ละ action หากต่างจากเวลาที่กำหนด แล้วแก้เฉพาะ ground truth
6. ทำ hash ไฟล์ marker ก่อนนำเข้า device
7. ปิด network เมื่อเริ่ม acquisition ตาม SOP ของ vendor
8. เก็บ original acquisition, log, report และ export แยก read-only

## 4. Blind-test split

- Coordinator เห็น `ground-truth.json`
- Examiner เห็นเฉพาะ device, warrant/scope simulation และ run sheet
- Mapper แปลง vendor export เข้า normalized schema แต่ไม่เห็นคะแนน vendor อื่น
- Reviewer ให้ manual score หลัง automated score ถูกล็อกแล้ว

## 5. Stop conditions

- พบข้อมูลจริงหรือบัญชีส่วนตัวบน device
- Tool พยายาม upload corpus ออก public cloud โดยไม่ได้อนุมัติ
- Device state เปลี่ยนโดยไม่บันทึก
- Tool/version/license ต่างจาก run sheet
- Hash ของ acquisition หรือ marker ไม่ตรงโดยไม่ทราบสาเหตุ
