# Blind

> บทบาท:

- Skill: `natthasath/blind` (Agent Skill)
- Install (CLI): `npx skillmds@latest add natthasath/blind`
- Raw SKILL.md: https://api.skillmd.com/api/skills/natthasath/blind/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: natthasath (https://skillmd.com/u/natthasath)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/natthasath/blind

---


# บทบาท:
แทนที่ข้อมูล sensitive ด้วยข้อมูลสมมติที่ดูสมจริง รักษาโครงสร้างและ format เดิม เก็บ consistency ไว้ตลอดทั้งเอกสาร และคงความหมาย ความสัมพันธ์ และบริบทของเอกสารไว้ครบถ้วน

เป้าหมายคือเอกสารที่ผ่าน blind แล้ว **อ่านสมจริง**, **ย้อนรอยกลับไม่ได้** และ **ยังสื่อความหมายเดิมครบถ้วน** — ผู้อ่านต้องเข้าใจเรื่องราว ความสัมพันธ์ และบริบทได้เหมือนกับอ่านต้นฉบับ ต่างกันเพียงไม่รู้ว่าใครหรือที่ไหนจริงๆ

รองรับ 3 ระดับ — ถามผู้ใช้ก่อนเสมอว่าต้องการระดับไหน:

| ระดับ | เปลี่ยนอะไร |
|-------|------------|
| **Light** | ชื่อบุคคล, เบอร์โทร, อีเมล, เลขบัตรประชาชน/รหัสส่วนตัว |
| **Standard** *(default)* | ทุกอย่างใน Light + ชื่อหน่วยงานเฉพาะ, URL/โดเมน, ที่อยู่จริง, เลขที่หนังสือ, ชื่อโครงการ/ระบบเฉพาะ |
| **Full** | ทุกอย่างใน Standard + วันที่, ตัวเลขการเงิน, ตำแหน่งงาน |

# รูปแบบ:

เมื่อ skill ถูกเรียกใช้ครั้งแรก ให้ถามระดับใน chat ก่อนทันที:

ต้องการ blind ระดับไหนครับ?

1. **Light** — ชื่อบุคคล · เบอร์โทร · อีเมล · เลขบัตรประชาชน
2. **Standard** *(แนะนำ)* — Light + ชื่อหน่วยงานเฉพาะ · URL/โดเมน · ที่อยู่ · เลขที่หนังสือ · ชื่อโครงการ
3. **Full** — Standard + วันที่ · ตัวเลขการเงิน · ตำแหน่งงาน

รอรับคำตอบก่อน แล้วดำเนินการตามขั้นตอนต่อไปนี้:

**ขั้นที่ 1 — รับเอกสาร**
- ข้อความตรง → ดำเนินการได้เลย
- ไฟล์แนบ (xlsx, csv, docx, pptx) → อ่านเนื้อหาทั้งหมดก่อน

**ขั้นที่ 2 — สแกนและสร้าง mapping**
สแกนเอกสารทั้งหมดก่อน แล้วค่อยแทนที่ — เพื่อให้ค่าเดิมได้ค่าสมมติเดิมตลอด

ลำดับการสร้าง mapping:
1. สร้างชื่อบุคคลสมมติก่อน
2. จากชื่อใหม่ → สร้าง email local-part (romanize ชื่อใหม่)
3. สร้างโดเมนใหม่ด้วย generic token → ใช้กับ URL และ email domain

```
"สมชาย ใจดี"        → "กิตตินันท์ ศุภวรรณา"
"somchai@nida.ac.th" → "kittinun.s@example.ac.th"
"coopweb.nida.ac.th" → "portal.example.ac.th"
```

**ขั้นที่ 3 — แทนที่ด้วยข้อมูลสมมติ**
ใช้กฎใน # คำขอ ตามระดับที่เลือก สำหรับ **Full** เพิ่ม: วันที่ (±2 เดือน รักษา พ.ศ. ±1) และตัวเลขการเงิน (±40% รักษาหน่วย)

**ขั้นที่ 4 — ส่งคืนผลลัพธ์แยก 2 ส่วน**

```
## เอกสารฉบับ Blind

[เนื้อหาที่ผ่าน blind แล้ว — ใช้แชร์ได้]

---
## Mapping Table ⚠️ เก็บเป็นความลับ — อย่าแนบพร้อมเอกสาร blind

| ข้อมูลจริง | ข้อมูลสมมติ | ประเภท | กลุ่ม |
|-----------|-----------|--------|-------|
| สมชาย ใจดี | กิตตินันท์ ศุภวรรณา | ชื่อบุคคล | B |
| coopweb.nida.ac.th | portal.example.ac.th | URL | A |
```

# คำขอ:

## กลุ่ม A — Identifiers: ห้ามนำข้อมูลใดจากต้นฉบับมาใช้
ข้อมูลเหล่านี้ต้องแทนด้วยค่าที่ไม่มีความเชื่อมโยงกับต้นฉบับ — ห้ามเรียงสลับ ห้ามตัดทอน ห้ามแปล ห้ามย่อ

| ประเภท | ดี ✓ | ไม่ดี ✗ |
|--------|-------|---------|
| โดเมน `coopweb.nida.ac.th` | `portal.example.ac.th` | `webcoop.example.ac.th` ← เรียงสลับ |
| email `somchai.k@nida.ac.th` | `kittinun.s@example.ac.th` | `somchai@example.ac.th` ← ชื่อเดิม |
| เบอร์ `02-123-4567 ต่อ 1234` | `02-749-2081 ต่อ 3562` | `02-321-7654 ต่อ 4321` ← reverse |

สำหรับโดเมน: ใช้ generic token เท่านั้น เช่น `portal`, `web`, `system`, `service`, `intranet`, `app` — รักษา suffix ประเภทองค์กร (.ac.th, .go.th, .or.th, .co.th)

## กลุ่ม B — ชื่อเชิงความหมาย: เปลี่ยนแต่ยังรู้หน้าที่
- **หน่วยงานเฉพาะ** → เปลี่ยนเป็นชื่อสั้น generic: `สำนักเทคโนโลยีดิจิทัลและสารสนเทศ` → `สำนักดิจิทัล`
- **หน่วยงานทั่วไป** → คงไว้ เพราะไม่ระบุตัวตนองค์กร: `ฝ่ายบุคคล`, `ฝ่ายการเงิน`, `กองกฎหมาย`
- **โครงการ/ระบบเฉพาะ** → เปลี่ยนชื่อแต่รักษาประเภท: `ระบบสารสนเทศ NIDA` → `ระบบบริหารงาน ALPHA`

## ชื่อบุคคล — Best-effort Fictional
- หลีกเลี่ยงชื่อที่พบบ่อย: สมชาย, สมศักดิ์, วิชัย, นภา, สุดา
- ใช้ชื่อต้นที่ไม่คุ้นเคย + นามสกุลที่ไม่คุ้นเคย ผสมจากคนละภูมิภาค
- อย่าใช้ชื่อที่มีในเอกสารต้นฉบับ แม้แต่บางส่วน
- อย่าใช้ชื่อบุคคลสาธารณะ นักการเมือง นักแสดง ผู้บริหารที่รู้จัก

## การรักษาความหมายและความสัมพันธ์
- **ความสัมพันธ์ระหว่างบุคคล**: ผู้เสนอ → ผู้อนุมัติ → ผู้รับทราบ ยังเป็นลำดับเดิม
- **ลำดับชั้นองค์กร**: กองที่ขึ้นตรงสำนักใด → กองสมมติยังขึ้นตรงสำนักสมมติเดิม
- **ความสัมพันธ์เชิงปริมาณ**: ถ้างบ A > B → งบสมมติ A' > B' เสมอ, ยอดรวมยังบวกกันถูกต้อง
- **ลำดับเวลา**: เหตุการณ์ที่เกิดก่อน → วันที่สมมติก็ต้องก่อน, ช่วงห่างใกล้เคียงเดิม
- **บริบทเอกสาร**: สาเหตุ/ผลลัพธ์ที่อ้างถึงกัน ยังต้องอ้างถึงกันอยู่

ทดสอบตัวเอง: "ใครทำอะไร ทำไม และผลคืออะไร?" — ต้องตอบได้เหมือนอ่านต้นฉบับ

## หลักการทั่วไป
- ค่าจริงเดียวกัน → ค่าสมมติเดิมเสมอ ไม่ว่าจะปรากฏกี่ครั้ง
- รักษา format เดิมทุกอย่าง เปลี่ยนเฉพาะ value ที่เป็น sensitive data
- ถ้าไม่แน่ใจว่าข้อมูลใดควร blind ให้ระบุในหมายเหตุท้ายผลลัพธ์

# ไฟล์แนบ:
- วางข้อความโดยตรง หรือแนบไฟล์ (xlsx, csv, docx, pptx) มาได้เลย
- ถ้ามีหลายเอกสารที่ต้องใช้ mapping ชุดเดียวกัน ให้แจ้งก่อน จะสร้าง mapping แล้วใช้ร่วมกันทั้งชุด

