นโยบายคุกกี้

framewerk.org Cookie & Browser Storage Policy

framewerk.org ใช้นโยบายนี้เพื่ออธิบาย Cookie และ Browser Storage ในมุมที่สามารถ ตรวจสอบจากระบบจริงได้

เป้าหมายไม่ใช่เพียงบอกว่า “เว็บไซต์ใช้ Cookie” แต่ต้องสามารถแยกได้ว่า Cookie หรือ Storage ใดมาจากไหน มีวัตถุประสงค์อะไร อยู่ได้นานเท่าไร และทำงานก่อนหรือหลัง Consent

เราไม่ควรระบุชื่อ Cookie, Analytics Platform, Advertising Pixel, Security Tool หรือ Consent Platform จากการคาดเดา หากยังไม่ได้ตรวจ Script, Network Request และ Storage ของเว็บไซต์จริง

สิ่งที่ควรตรวจเมื่อพูดถึง Cookie หนึ่งตัว

Cookie ที่นำมาเผยแพร่ใน Inventory ควรมีข้อมูลอย่างน้อย

Name — ชื่อที่ Browser แสดง
Domain — Domain ที่ผูกกับ Cookie
Provider — ระบบหรือองค์กรที่เกี่ยวข้อง
Purpose — ใช้ทำอะไร
Category — Necessary, Preference, Analytics หรือประเภทอื่น
Expiry — หมดอายุเมื่อใด
Party — First-party หรือ Third-party
Consent — ต้องได้รับการเลือกจากผู้ใช้หรือไม่

หากข้อมูลใดยังยืนยันไม่ได้ ควรระบุว่าอยู่ระหว่างตรวจ ไม่ควรเติมจากการคาดเดา

Browser ได้ Cookie มาอย่างไร

การสร้าง Cookie อาจเกิดจาก

  • HTTP Response Header
  • Server-side Application
  • JavaScript
  • Third-party Script
  • Embedded Content
  • Security Service
  • Consent Tool

ดังนั้น การตรวจ Cookie ควรดูทั้ง Storage และ Network ไม่ใช่ดูหน้าเว็บไซต์ด้วยสายตาเพียงอย่างเดียว

Set-Cookie

Server อาจใช้ Set-Cookie ใน Response เพื่อให้ Browser บันทึกข้อมูล

องค์ประกอบที่อาจพบ ได้แก่

  • Name
  • Value
  • Domain
  • Path
  • Max-Age
  • Expires
  • Secure
  • HttpOnly
  • SameSite

การตรวจ Attribute มีประโยชน์ต่อการเข้าใจพฤติกรรมและความเสี่ยงของ Cookie

Browser ส่ง Cookie เมื่อใด

Cookie อาจถูกแนบไปกับ Request หากเงื่อนไขตรงกับการตั้งค่า เช่น

  • Domain
  • Path
  • อายุ
  • Secure
  • SameSite

Cookie ที่ผู้ใช้เห็นใน Storage ไม่ได้หมายความว่าจะถูกส่งกับ Request ทุกครั้ง

Secure

Secure ช่วยจำกัดการส่ง Cookie ให้เกิดผ่านการเชื่อมต่อ HTTPS ตามเงื่อนไขของ Browser

แต่ Secure ไม่ได้ทำให้ Cookie ปลอดภัยจากทุกความเสี่ยง

HttpOnly

HttpOnly ช่วยจำกัดการเข้าถึง Cookie จาก JavaScript ในบริบทที่เกี่ยวข้อง

มีประโยชน์ต่อการลดความเสี่ยงบางรูปแบบ แต่ไม่ควรใช้เป็นเหตุผลรับรองว่าระบบไม่มีช่องโหว่

SameSite

SameSite ช่วยควบคุมการส่ง Cookie ในบริบทระหว่างเว็บไซต์

ค่าที่อาจพบขึ้นอยู่กับระบบและ Browser

framewerk.org จะไม่ระบุค่าของ Cookie ใดจนกว่าจะตรวจจากระบบจริง

Cookie ไม่ใช่ Storage รูปแบบเดียว

เมื่อประเมินเว็บไซต์ ควรตรวจเพิ่มจาก Cookie ด้วย

Local Storage

ข้อมูลคงอยู่ใน Browser จนถูกลบตามการทำงานของเว็บไซต์หรือผู้ใช้

Session Storage

มักเชื่อมกับบริบทของ Tab หรือ Session

IndexedDB

ฐานข้อมูลใน Browser ที่ Web Application บางประเภทใช้

Cache Storage

อาจใช้ร่วมกับ Service Worker หรือ Web Application

Memory Storage

ข้อมูลบางประเภทอาจอยู่ในหน่วยความจำชั่วคราวโดยไม่ถูกเขียนลง Storage แบบถาวร

ข้อมูลลับไม่ควรถูกเก็บอย่างไม่เหมาะสม

ข้อมูลอย่าง Password หรือ OTP ไม่ควรถูกเก็บใน Browser Storage อย่างเปิดเผย

Token หรือ Session Identifier ที่เกี่ยวข้องกับการเข้าสู่ระบบควรได้รับการจัดการตามความเสี่ยงและสถาปัตยกรรมของระบบ

Cookie Policy ไม่ควรกล่าวว่าระบบจัดเก็บอย่างปลอดภัยหากยังไม่มีข้อมูลด้านเทคนิคยืนยัน

Session Cookie

Session Cookie มักถูกใช้กับสถานะการใช้งานในช่วงหนึ่ง

อย่างไรก็ตาม คำว่า Session Cookie ไม่ได้แปลว่าจะถูกลบทันทีเมื่อปิด Tab เสมอไป

ควรตรวจ

  • Expires
  • Max-Age
  • Browser Behavior
  • Server Session
  • Logout Behavior

ก่อนอธิบายอายุของ Cookie

Persistent Cookie

Persistent Cookie มีอายุที่กำหนดไว้และอาจอยู่หลัง Browser ถูกปิด

ควรตรวจว่าอายุสัมพันธ์กับ Purpose หรือไม่

ตัวอย่างเช่น Cookie สำหรับ Consent อาจต้องมีอายุต่างจาก Cookie สำหรับ Session

First-party Cookie

เชื่อมกับ Domain ที่ผู้ใช้เปิดตามบริบทของ Browser

แต่ First-party ไม่ได้หมายความว่าไม่มีข้อมูลพฤติกรรมหรือไม่มีผลด้าน Privacy

ต้องดู Purpose และ Value จริง

Third-party Cookie

อาจเกิดจาก Domain ภายนอกที่โหลดเข้ามาบนหน้า

แหล่งที่อาจสร้างได้ เช่น

  • Analytics
  • Ads
  • Chat
  • Video
  • Social Embed
  • Security
  • CAPTCHA
  • External Widgets

Third-party Cookie ควรถูกตรวจพร้อม Network Request และ Script ที่สร้างมัน

Third-party Script สำคัญอย่างไร

Script ภายนอกอาจสร้าง Cookie หรือ Storage โดยที่ผู้ดูแลเว็บไซต์ไม่ได้เขียน Cookie นั้นเอง

เมื่อเพิ่ม Script ใหม่ จึงควรตรวจ

  1. Domain ที่ถูกเรียก
  2. Request ที่เกิด
  3. Cookie ใหม่
  4. Local Storage
  5. Payload
  6. Consent Timing

การอัปเดตเว็บไซต์โดยไม่ตรวจ Script ใหม่อาจทำให้ Cookie Policy ล้าสมัยได้

Analytics

หากพบ Analytics ต้องตรวจให้ชัดว่า

  • Provider คือใคร
  • Script โหลดเมื่อใด
  • Cookie อะไรถูกสร้าง
  • Event อะไรถูกส่ง
  • IP ถูกประมวลผลอย่างไร
  • Consent เกี่ยวข้องหรือไม่
  • Retention เท่าไร

framewerk.org จะไม่ใส่ชื่อ Analytics Tool หากยังไม่ยืนยันจากระบบจริง

Marketing Technology

หากมี Advertising Pixel หรือ Marketing Tool ต้องพิจารณาแยกจาก Analytics

ควรตรวจ

  • Tracking Domain
  • Identifier
  • Event
  • Cross-site Behavior
  • Consent
  • Provider Policy

ไม่ควรรวม Marketing Cookie ไว้ในหมวด Necessary เพื่อหลีกเลี่ยงการอธิบาย Consent

Cookie Consent

Consent ไม่ใช่เพียงข้อความบน Banner

ต้องตรวจว่าการทำงานจริงสัมพันธ์กับตัวเลือกของผู้ใช้

ก่อน Consent

Cookie หรือ Script ที่ไม่จำเป็นไม่ควรทำงานหากระบบและฐานการใช้งานกำหนดให้ต้องรอความยินยอม

หลัง Accept

Script ที่ได้รับอนุญาตอาจโหลดตามประเภทที่ผู้ใช้เลือก

หลัง Reject

ควรตรวจว่าระบบที่ถูกปฏิเสธยังส่ง Request หรือสร้าง Storage อยู่หรือไม่

หลังเปลี่ยนใจ

หากมี Preference Center ผู้ใช้ควรสามารถกลับไปแก้ตัวเลือกได้

วิธีทดสอบ Consent

การตรวจเชิงเทคนิคอาจทำได้โดย

  • เปิด Browser Session ใหม่
  • ล้าง Site Data
  • เปิด Network
  • เปิด Application/Storage
  • โหลดหน้าโดยยังไม่ตอบ Banner
  • ตรวจ Cookie และ Request
  • กด Reject
  • ตรวจอีกครั้ง
  • กด Accept ใน Session ใหม่
  • เปรียบเทียบผล

ข้อมูลที่พบควรถูกนำไปปรับ Cookie Inventory และ Policy

Cookie Inventory

เมื่อระบบได้รับการตรวจแล้ว อาจจัดทำ Inventory ที่ประกอบด้วย

  • Cookie Name
  • Provider
  • Domain
  • Category
  • Purpose
  • Expiry
  • Party
  • Security Attribute
  • Consent Requirement

Inventory ควรได้รับการตรวจใหม่เมื่อเว็บไซต์เปลี่ยน

Cookie กับ Cache ต่างกันอย่างไร

Cache ช่วยเก็บ Resource เช่น CSS, JS, Image และ Font

Cookie ใช้ข้อมูลสถานะหรือ Identifier

Browser อาจมีระบบ Cache หลายประเภท และการล้าง Cache ไม่ได้ล้าง Cookie เสมอไป

Cookie กับ History

History คือรายการหน้าที่เคยเข้า

การลบ History ไม่รับประกันว่า

  • Cookie
  • Local Storage
  • IndexedDB
  • Session
  • Cache

จะถูกลบทั้งหมด

ผู้ใช้ควรเลือก Site Data ตามสิ่งที่ต้องการลบจริง

Browser Controls

ผู้ใช้สามารถใช้การตั้งค่าของ Browser เพื่อ

  • Block Cookies
  • Block Third-party Cookies
  • Clear Site Data
  • Delete Per-domain Data
  • Clear on Exit
  • Manage Exceptions

การปิด Cookie บางประเภทอาจกระทบการทำงานของหน้า

ผลเมื่อบล็อก Necessary Cookie

อาจเกิดปัญหา เช่น

  • Login ไม่ต่อเนื่อง
  • Session หาย
  • แบบฟอร์มผิดพลาด
  • Consent จำค่าไม่ได้
  • ระบบความปลอดภัยทำงานบางส่วนไม่ได้

ผลเมื่อบล็อก Analytics Cookie

หาก Analytics แยกจาก Necessary อย่างถูกต้อง ฟังก์ชันหลักของเว็บไซต์ควรยังสามารถทำงานได้

แต่ข้อมูลการวิเคราะห์อาจลดลง

Private Browsing

Private Mode ลดข้อมูลบางประเภทที่เก็บใน Browser Profile หลังปิด Session

ไม่ได้ซ่อนผู้ใช้จาก

  • Website
  • Network
  • ISP
  • Employer
  • External Services

จึงไม่ใช่เครื่องมือ Anonymous โดยสมบูรณ์

Session Security

หาก Cookie หรือ Token ใช้ยืนยัน Session ผู้ใช้ไม่ควรแชร์

  • Cookie Value
  • Session ID
  • Bearer Token
  • Access Token
  • Authentication Header
  • Local Storage Token

ฝ่ายสนับสนุนทั่วไปไม่ควรขอให้คัดลอกค่าเหล่านี้ผ่านแชต

ตรวจ Extension ด้วย

Browser Extension บางประเภทอาจได้รับสิทธิอ่านข้อมูลหน้าเว็บหรือเปลี่ยน Request

ผู้ใช้ควรตรวจ

  • Permissions
  • Publisher
  • Source
  • Update
  • ความจำเป็นในการใช้งาน

Extension ที่ไม่จำเป็นควรถูกลบหากสร้างความเสี่ยง

Cookie และ Privacy

Cookie อาจเชื่อมโยงกับ

  • Session
  • Device
  • Consent
  • Page View
  • Event
  • Referrer
  • Identifier
  • Approximate Location

จึงควรอ่าน Cookie Policy ร่วมกับ Privacy Policy

Retention

Retention ของ Cookie ขึ้นกับ Expiry และระบบ

Retention ของข้อมูลฝั่ง Server อาจไม่เท่ากับอายุ Cookie

การลบ Cookie จาก Browser จึงไม่ได้แปลว่าข้อมูล Log หรือ Server-side Record ถูกลบด้วย

การแจ้งข้อมูลผิด

หากตรวจพบ Cookie หรือ Storage ที่ไม่ตรงกับนโยบาย สามารถส่ง

  • Name
  • Domain
  • Page
  • Browser
  • Date
  • Screenshot
  • Storage Type

ไปยัง ช่องทางติดต่อ framewerk.org

อย่าส่ง Value ของ Cookie หรือ Token

ผู้ดูแลนโยบาย

เนื้อหานี้ดูแลโดย สุภาพร ไชยกาล

หน้าที่ครอบคลุมการปรับข้อความให้สัมพันธ์กับ Cookie Inventory, Privacy Policy และผลจากการตรวจระบบ

ผู้เขียนไม่ได้หมายถึงผู้ดูแล Server หรือ Script ทั้งหมดโดยตรง

สรุปหลักของ framewerk.org

Cookie Policy ที่ดีไม่ควรเริ่มจากการเดาว่าเว็บไซต์ “น่าจะใช้” เครื่องมือใด แต่ควรเริ่มจากการตรวจ

Browser Storage + Network + Script + Domain + Consent

จากนั้นจึงอธิบายให้ผู้อ่านทราบว่า Cookie ใดจำเป็น Cookie ใดเลือกได้ ใครเป็น Provider และผู้ใช้ควบคุมได้อย่างไร

จนกว่าจะตรวจข้อมูลเฉพาะได้ framewerk.org จะไม่แต่งชื่อ Cookie, Expiry, Analytics Tool หรือ Security Attribute ขึ้นเอง