IMAGE TOOLS · PRIVACY POLICY
นโยบายความเป็นส่วนตัวของ Image Tools
นโยบายนี้ครอบคลุมหน้า /image และเครื่องมือที่ทำงานตรงใต้ route นี้ รูปจาก Clipboard หรือไฟล์ที่เลือกถูกอ่าน แปลง หรือใช้ถอดข้อความ QR Code ใน browser โดยไม่มี API รับรูปหรือ cloud copy ของแอป การส่ง PNG ไปยัง Photos, Gallery หรือแอปอื่นเกิดเมื่อผู้ใช้กดเปิดเมนูแชร์และเลือกปลายทางเองเท่านั้น
มีผลและอัปเดตล่าสุด:
1. ขอบเขตและหลักการ
ausada Image Tools ช่วยรับและแปลงรูปบนอุปกรณ์ของผู้ใช้ หน้าเว็บและ metadata อาจถูกสร้างล่วงหน้าบนเซิร์ฟเวอร์ แต่รูป ชื่อไฟล์ Blob และ pixel ไม่อยู่ใน React Server Component request หรือ response
การ์ดบางรายการบน /image เป็นทางเข้า workflow รูปภาพของ PDF Toolbox ที่มีอยู่แล้ว เมื่อเปิด route ใต้ /pdfจะอยู่ภายใต้นโยบาย PDF Toolbox ที่ลิงก์จากหน้าเหล่านั้นโดยตรง
2. ข้อมูลที่จัดการและวัตถุประสงค์
- รูปจาก Clipboard
- Paste event อ่านเฉพาะรายการชนิด PNG, JPG หรือ WebP ที่ผู้ใช้คัดลอก เพื่อแสดง preview, resize/แปลงเป็น PNG หรือค้นหา QR Code ตามเครื่องมือที่เปิด โดย PNG ที่มิติเกินเพดาน Canvas จะถูกดาวน์โหลดเป็น bytes ต้นฉบับทันที หลังผู้ใช้วาง เลือก หรือลากไฟล์ โดยไม่สร้าง preview
- ไฟล์รูปจากอุปกรณ์
- ตัวเลือกไฟล์สำรองอ่าน File object หลังผู้ใช้เลือกหรือลากวางเท่านั้น ชื่อ ขนาด และมิติใช้แสดงสถานะ ส่วนเครื่องมือ Clipboard เป็น PNG สร้างชื่อดาวน์โหลดจากเวลาท้องถิ่นในรูปแบบ
yyyy-mm-ddTHHMMSS.png - ข้อความจาก QR Code
- ตัวอ่าน QR เก็บข้อความ เวอร์ชัน และระดับแก้ข้อผิดพลาดที่ถอดได้ใน React state ของหน้า เรียงหลายผลตามตำแหน่งในภาพ และเขียนข้อความลง Clipboard เฉพาะเมื่อผู้ใช้กดคัดลอก โดยไม่เปิด URL ให้อัตโนมัติ
- มิติ PNG ที่กำหนด
- ค่าความกว้าง ความสูง และสถานะล็อกสัดส่วนอยู่ใน React state ของหน้า เพื่อวาด Canvas ตามขนาดที่ผู้ใช้ยืนยัน ไม่ถูกบันทึกหรือส่งออกจาก browser
- PNG ผลลัพธ์
- Canvas วาดรูปใหม่ตามมิติที่กำหนดและสร้าง PNG เป็น Blob/Object URL ใน memory แล้ว browser บันทึกลงพื้นที่ดาวน์โหลด หรือส่ง File ไปยังเมนูแชร์ของระบบ เมื่อผู้ใช้กด “บันทึกลงแกลเลอรี” ส่วน PNG ต้นฉบับที่ใหญ่เกินเพดาน Canvas จะข้ามการวาดและดาวน์โหลดอัตโนมัติหลังผู้ใช้วาง เลือก หรือลากไฟล์
- คำค้นหน้าเครื่องมือ
- คำค้นและตัวกรองบน
/imageอยู่ใน React state จนออกจากหน้า ไม่ถูกบันทึกหรือส่งไปค้นหาที่ server - ข้อมูลคำขอเว็บไซต์
- โครงสร้างพื้นฐานอาจเห็น IP, user-agent และเวลาตาม HTTPS ปกติ แต่ application ไม่แนบรูป ชื่อไฟล์, clipboard content หรือข้อความ QR ที่ถอดได้ไปกับ request
3. วิธีประมวลผลและ network
เครื่องมือ Clipboard เป็น PNG ใช้ Clipboard/Paste API, createImageBitmap หรือ image decode, Canvas 2D พร้อม image smoothing สำหรับ resize, Blob และ Object URL ของ browser โดยอ่าน PNG signature/IHDR ก่อน decode เพื่อส่ง PNG ที่ใหญ่เกินเพดาน Canvas ไป local download โดยตรงโดยไม่สร้าง preview ส่วนตัวอ่าน QR ใช้ Canvas/ImageData และ @nuintun/qrcode ที่ bundle มากับแอป เพื่อค้นหาและถอด QR หลายอันในเครื่อง ไม่มี Server Action, route handler, remote image service หรือ analytics SDK ปุ่มบันทึกลงแกลเลอรีใช้ Web Share API ของ browser/ระบบปฏิบัติการ และ fallback เป็น local download เมื่อแชร์ไฟล์ไม่ได้
Network ระหว่างใช้งานมีไว้โหลด HTML, JavaScript, CSS, font และ static artwork จาก application origin เท่านั้น หากผู้ใช้เลือกแอปหรือ cloud service จากเมนูแชร์ ปลายทางนั้นอาจส่งหรือเก็บไฟล์ตามนโยบายของตน
4. Clipboard, เมนูแชร์ และบุคคลภายนอก
- การกด Ctrl/⌘ + V ใช้ paste event ที่ผู้ใช้เริ่มเอง ส่วนปุ่มอ่าน Clipboard ใช้ Async Clipboard API และอาจขอหรือถูกปฏิเสธสิทธิ์โดย browser
- เบราว์เซอร์และระบบปฏิบัติการเป็นผู้จัดการ Clipboard, memory, file picker, การคัดลอกข้อความ, download, native share sheet และรายชื่อแอปปลายทางตามการตั้งค่าของผู้ใช้
- เมื่อ PNG ที่ผู้ใช้วาง เลือก หรือลากมีมิติเกินเพดาน Canvas หน้าเว็บจะเริ่ม local download ของ bytes ต้นฉบับอัตโนมัติหนึ่งไฟล์โดยไม่เปิด preview และไม่ส่งผ่าน Web Share
- เมื่อกด “บันทึกลงแกลเลอรี” Image Tools ส่งเฉพาะ PNG ผลลัพธ์ไปยัง Web Share API แล้วผู้ใช้เลือก “บันทึกรูปภาพ”, Photos, Gallery หรือแอปอื่นเอง หากเลือกบริการภายนอก การเก็บและการส่งต่ออยู่ภายใต้นโยบายของบริการนั้น
- Image Tools ไม่ขายหรือส่งรูป/ข้อความ QR โดยอัตโนมัติให้ผู้พัฒนา ผู้ลงโฆษณา data broker หรือบริการแปลงรูปภายนอก
5. ระยะเวลาเก็บและวิธีลบ
- รูปต้นฉบับ, PNG ผลลัพธ์ และข้อความ QR ที่ถอดได้อยู่ใน memory จนวางรูปใหม่ กดเริ่มใหม่/อ่านรูปใหม่ ออกจากหน้า ปิดแท็บ หรือ browser คืนทรัพยากร ส่วน PNG ใหญ่แบบ pass-through ไม่ถูกเก็บเป็น source/preview state หลังเริ่มดาวน์โหลด
- Object URL ถูก revoke เมื่อผลลัพธ์เปลี่ยนหรือ component unmount ส่วน URL ชั่วคราวของ download ถูก revoke หลังเริ่มดาวน์โหลด และไม่มีการเขียนรูปลง localStorage หรือ IndexedDB
- ไฟล์ที่ดาวน์โหลดหรือแชร์แล้วอยู่ภายใต้การควบคุมของผู้ใช้และปลายทางที่เลือก จึงต้องลบจากระบบจัดการไฟล์, Photos/Gallery หรือแอปปลายทางนั้น
6. ความปลอดภัยและข้อจำกัด
หน้าเครื่องมือจำกัดไฟล์ต้นฉบับที่ 60 MB และงาน decode/Canvas ที่ 40 ล้านพิกเซล ส่วน PNG เป้าหมายต้องไม่เกิน 16,384 พิกเซลต่อด้านหรือ 40 ล้านพิกเซล เพื่อลดความเสี่ยง memory spike; PNG ภายในเพดานไฟล์แต่เกินเพดาน Canvas จะดาวน์โหลดต้นฉบับอัตโนมัติโดยไม่ decode การอ่านด้วยปุ่ม Clipboard ต้องใช้ HTTPS หรือ localhost และขึ้นกับ browser/permission แต่ keyboard paste ยังเป็นทางหลัก
เมนูแชร์ไฟล์และตัวเลือก “บันทึกรูปภาพ” ขึ้นกับ browser, ระบบปฏิบัติการ และแอปที่ติดตั้ง จึงรับประกันการเขียนเข้า Gallery โดยตรงไม่ได้ ถ้า browser ไม่รองรับหรือเปิดเมนูแชร์ไม่สำเร็จ ระบบดาวน์โหลด PNG แทน แต่การยกเลิกเมนูแชร์โดยผู้ใช้จะไม่เริ่มดาวน์โหลด
ความสำเร็จของการอ่าน QR ขึ้นกับความคมชัด ขนาด มุมมอง แสง และการมีขอบว่าง รอบโค้ด ผลลัพธ์แสดงเป็นข้อความเท่านั้นและไม่เปิดลิงก์อัตโนมัติ
การประมวลผลในเครื่องลดการส่งข้อมูล แต่ยังขึ้นกับความปลอดภัยของอุปกรณ์ browser profile, extension และตำแหน่งที่ผู้ใช้เก็บไฟล์ดาวน์โหลด
7. การเปลี่ยนแปลงนโยบายและการติดต่อ
หากเพิ่ม upload, cloud save, remote image processing, analytics หรือ persistence ของรูป หน้านี้และข้อความในผลิตภัณฑ์จะถูกอัปเดตพร้อมการเปลี่ยนแปลง
ผู้ดูแล: Ausada · ติดต่อสอบถามได้ทาง Messenger และไม่ควรแนบรูปหรือข้อมูลลับไปในข้อความแรก
