Skip to content

docs: ตารางฟีเจอร์ความปลอดภัยตาม visibility และประเภทบัญชี - #5

Merged
monthop-gmail merged 1 commit into
mainfrom
docs/plan-visibility-matrix
Aug 26, 2026
Merged

docs: ตารางฟีเจอร์ความปลอดภัยตาม visibility และประเภทบัญชี#5
monthop-gmail merged 1 commit into
mainfrom
docs/plan-visibility-matrix

Conversation

@monthop-gmail

Copy link
Copy Markdown
Owner

ทำไมต้องเปลี่ยน

คำถามที่ทีมถามบ่อยที่สุดคือ "ปิดเป็น private ปลอดภัยกว่าไหม" และ "ย้ายไปบัญชีส่วนตัวจะต่างไหม"

เดิม docs/04 ตอบได้แค่ครึ่งเดียว (มีแค่ตาราง public vs private) และไม่ได้แยก org กับ personal เลย ทำให้ทีมยังต้องมาเถียงกันอยู่

วิธีหาคำตอบ

ทดสอบจริงกับ repo ทั้ง 4 แบบบนแผนฟรี ไม่ได้อ้างจากเอกสารอย่างเดียว:

personal + public    rulesets=ได้    secret_scanning=enabled  private_vuln_report=ได้
personal + private   rulesets=ไม่ได้  secret_scanning=null     private_vuln_report=ไม่ได้
org + public         rulesets=ได้    secret_scanning=enabled  private_vuln_report=ได้
org + private        rulesets=ไม่ได้  secret_scanning=null     private_vuln_report=ไม่ได้

คอลัมน์ personal+public กับ org+public เหมือนกันทุกแถว และ personal+private กับ org+private ก็เหมือนกันทุกแถว

→ ข้อสรุป: public/private เป็นตัวตัดสินเกือบทุกอย่าง · org/personal แทบไม่เกี่ยว

เปลี่ยนอะไร

docs/04 แทนหัวข้อ "ข้อจำกัดตามแผนของ GitHub" เดิมด้วยฉบับเต็ม:

  • ตารางฟีเจอร์ 9 อย่าง × 4 แบบบัญชี/visibility
  • ตารางสิ่งที่ต่างกันจริงระหว่าง org กับ personal — CODEOWNERS ใช้ @org/team ได้เฉพาะ org, org-level ruleset/secret, และ gitleaks-action ที่ org ต้องมี license (ข้อเดียวที่ org แย่กว่า)
  • ตัวอย่าง gitleaks ผ่าน docker พร้อมเหตุผลว่าทำไม --redact กับ fetch-depth: 0 ห้ามลืม
  • สรุปวิธีตัดสินใจ

docs/05 — org-level ruleset มีผลกับ public repo เท่านั้นบนแผนฟรี (เดิมเขียนเหมือนใช้ได้ทุก repo)

docs/99 — เพิ่มแถวในตารางแก้ปัญหา

ข้อสรุปที่สำคัญที่สุดในเอกสารนี้

อย่าปิดเป็น private เพื่อความปลอดภัย — บนแผนฟรีมันทำให้แย่ลง เพราะเสียเครื่องมือตรวจ 5 ตัว เหลือแค่ Dependabot
ปิดเพราะเป็นความลับทางธุรกิจได้ แต่นั่นคือการตัดสินใจเชิงธุรกิจ ไม่ใช่เชิงความปลอดภัย

สิ่งที่ยืนยันไม่ได้ 100%

สองแถวในตารางมาจากเอกสาร ไม่ใช่ผลทดสอบ — org-level ruleset (token ขาด scope admin:org) และ โควตา Actions (ไม่มี API ที่มีสิทธิ์วัด) ระบุไว้ในเอกสารแล้วว่าอันไหนทดสอบแล้วอันไหนไม่

ทดสอบยังไง

./scripts/validate.sh

ผ่านทั้งหมด (ลิงก์ภายในที่เพิ่มใหม่ 2 อันชี้ถูกต้อง)

ผลกระทบ

  • เป็น breaking change
  • ต้องรัน migration
  • ต้องเพิ่ม/แก้ env var หรือ secret
  • กระทบ repo อื่น

ทีมถามบ่อยว่า "ปิดเป็น private ปลอดภัยกว่าไหม" และ "ย้ายไปบัญชีส่วนตัว
จะต่างไหม" — เดิมเอกสารตอบได้แค่ครึ่งเดียว และไม่ได้แยก org กับ personal

ทดสอบจริงกับ repo ทั้ง 4 แบบบนแผนฟรี (personal/org × public/private)
ผลคือ public/private เป็นตัวตัดสินเกือบทุกอย่าง ส่วน org/personal
แทบไม่เกี่ยว — คอลัมน์ personal+public กับ org+public เหมือนกันทุกแถว
และ personal+private กับ org+private ก็เหมือนกันทุกแถว

- ตารางฟีเจอร์ 9 อย่าง × 4 แบบบัญชี/visibility
- ตารางสิ่งที่ต่างกันจริงระหว่าง org กับ personal (CODEOWNERS ใช้ @team,
  org-level ruleset/secret, และ gitleaks-action ที่ org ต้องมี license)
- สรุปวิธีตัดสินใจ: อย่าปิดเป็น private เพื่อความปลอดภัย เพราะบนแผนฟรี
  มันทำให้แย่ลง เหลือเครื่องมือตรวจแค่ Dependabot ตัวเดียว
- docs/05: ใส่ caveat ว่า org-level ruleset มีผลกับ public เท่านั้นบนแผนฟรี
- docs/99: เพิ่มแถวในตารางแก้ปัญหา

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Dru5ECsrJrqhTfUhUvDsqw
@monthop-gmail
monthop-gmail merged commit d928045 into main Aug 26, 2026
4 checks passed
@monthop-gmail
monthop-gmail deleted the docs/plan-visibility-matrix branch August 26, 2026 18:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant