🔒 PERMISSION_MATRIX.md - Authorization & Permission Matrix (สิทธิ์การเข้าถึงข้อมูลและการทำรายการ)

This document defines the Role-Based Access Control (RBAC) permissions for all user and system roles inside SplitDee.
เอกสารฉบับนี้ระบุการกำหนดสิทธิ์ตามบทบาทหน้าที่ (Role-Based Access Control) สำหรับผู้ใช้และระบบงานเบื้องหลังทั้งหมดใน SplitDee


🇹🇭 ภาษาไทย (สำหรับผู้ใช้งาน)

📊 ตารางแสดงระดับสิทธิ์การทำงาน

  • แก้ไขชื่อ/คำอธิบายกลุ่ม: อนุญาตเฉพาะ Group Owner เท่านั้น (ผู้ใช้ประเภทอื่นและ AI จะถูกระงับสิทธิ์)
  • ออกรหัสเชิญชวนเข้ากลุ่ม: อนุญาตให้ทั้ง Group Owner และ Group Member เข้าออกและแชร์ได้อิสระ
  • คัดเพื่อนร่วมห้องออกจากกลุ่ม: อนุญาตให้สิทธิ์เฉพาะ Group Owner ในการลบข้อมูลสมาชิกออก
  • สร้างและเผยแพร่บิลหารเงิน: อนุญาตให้ทั้ง Group Owner และ Group Member ออกบิลแชร์ยอดของกลุ่มได้
  • แก้ไข/ลบบิลค่าใช้จ่าย: อนุญาตสิทธิ์เฉพาะผู้สร้างบิลนั้นๆ (Bill Creditor) ในกรณีที่ทุกคนยังไม่จ่าย
  • อัปโหลดภาพหลักฐานสลิป: อนุญาตเฉพาะลูกหนี้ผู้ค้างชำระยอดในบิลนั้น (Bill Debtor) ในการยื่นหลักฐาน
  • อนุมัติ/ปฏิเสธสลิปโอนเงิน: อนุญาตสิทธิ์ตรวจอนุมัติด้วยมือเปล่าให้แก่ Bill Creditor ของบิล
  • ส่งข้อความสนทนากลุ่ม: อนุญาตให้เพื่อนทุกคนรวมถึงผู้ดูแลระบบและผู้เยือนส่งคุยแชทในห้องได้อิสระ (ห้าม AI คุยสวมรอยมนุษย์)
  • สั่งทวงสะกิดอัตโนมัติด้วย AI: อนุญาตสิทธิ์ให้ Bill Creditor กดเรียกใช้งาน และส่งบอร์ด AI แบ็คเอนด์เป็นตัวยิงเตือน
  • ตั้งชื่อน้องโมจิ / ฟีดอาหารสัตว์ HP: อนุญาตให้เพื่อนและผู้ดูแลกลุ่มทุกคนร่วมดูแลสัตว์เลี้ยงได้

📝 คำอธิบายบทบาทและขอบเขต

  1. Group Owner (เจ้าของกลุ่ม): ผู้เริ่มกดสร้างห้องกลุ่มสปอยล์ค่าใช้จ่าย มีสิทธิ์ลบห้อง เปลี่ยนชื่อ คัดเพื่อนออกจากห้อง และโอนสิทธิ์เจ้าของกลุ่ม
  2. Group Member (สมาชิกทั่วไป): เพื่อนที่กรอกคีย์เข้าร่วมกลุ่มสำเร็จ มีสิทธิ์หารบิล แชทสนทนากลุ่ม และเลี้ยงสัตว์เลี้ยงกลุ่มร่วมกัน
  3. Bill Creditor (เจ้าหนี้ค่าใช้จ่าย): ผู้จ่ายเงินสำรองก้อนแรกไปก่อน มีสิทธิ์แก้บิลช่วงแรก ตรวจสลิปด้วยตาเปล่า และสั่ง AI มีมช่วยทวงเงินเพื่อน
  4. Bill Debtor (ลูกหนี้ผู้ค้างชำระ): เพื่อนที่มีรายชื่อถูกหารส่วนแบ่ง มีสิทธิ์ดึง QR พร้อมเพย์เปิดแอปโอน และแชะสลิปอัปโหลดส่งสแกน
  5. AI System (ระบบออโต้ปัญญาประดิษฐ์): บอร์ดคิวงานอัตโนมัติเบื้องหลัง มีสิทธิ์แสกนรหัส ตรวจ STATEMENT อัปเดตสเตตัสสัตว์เลี้ยง และยิงมีมทวงเงิน (ห้ามสมัครสมาชิกเอง ห้ามโอนเงินออกธนาคารจริง และห้ามคุยเล่นเลียนมนุษย์)

🇬🇧 English (For AI Agents)

📊 Roles & Permissions Matrix

ActionGroup OwnerGroup MemberBill CreditorBill DebtorGuest (Future)AI System
Edit Group Name/Description🟢 Allow🔴 Deny🔴 Deny🔴 Deny🔴 Deny🔴 Deny
Generate Group Invite Code🟢 Allow🟢 Allow🔴 Deny🔴 Deny🔴 Deny🔴 Deny
Remove Member from Group🟢 Allow🔴 Deny🔴 Deny🔴 Deny🔴 Deny🔴 Deny
Create/Publish Bill🟢 Allow🟢 Allow🔴 Deny🔴 Deny🔴 Deny🔴 Deny
Edit Bill (if unpaid)🔴 Deny🔴 Deny🟢 Allow🔴 Deny🔴 Deny🔴 Deny
Delete Bill (if unpaid)🔴 Deny🔴 Deny🟢 Allow🔴 Deny🔴 Deny🔴 Deny
Upload Slip for Debt🔴 Deny🔴 Deny🔴 Deny🟢 Allow🔴 Deny🔴 Deny
Manually Approve/Reject Slip🔴 Deny🔴 Deny🟢 Allow🔴 Deny🔴 Deny🔴 Deny
Send Chat Message🟢 Allow🟢 Allow🟢 Allow🟢 Allow🟢 Allow🔴 Deny
Trigger Auto AI Reminder🔴 Deny🔴 Deny🟢 Allow🔴 Deny🔴 Deny🟢 Allow
Rename Pet (Mochi)🟢 Allow🟢 Allow🔴 Deny🔴 Deny🔴 Deny🔴 Deny
Feed Pet (restoring HP)🟢 Allow🟢 Allow🟢 Allow🟢 Allow🔴 Deny🔴 Deny

🟢 Allow = Authorized | 🔴 Deny = Unauthorized

📝 Role Scope Descriptions

  1. Group Owner: The user who initially created the group. Holds deletion, renaming, member eviction, and ownership transfer rights.
  2. Group Member: Authenticated user who joined via invite code. Can invite others, create bills, feed pet, and chat.
  3. Bill Creditor (Creator): The member who paid the initial bill. Can edit/delete bills before payment, manually review slip verification failures, and trigger AI reminders.
  4. Bill Debtor: Member assigned a share in a bill. Can generate PromptPay QR, upload slips, and view status.
  5. AI System: Autonomous backend workers. Can scan slips, check duplicates, post system alerts, update pet status, and trigger scheduled reminders. Cannot signup users, trigger payouts, or pretend to chat as a human.