ผู้ใช้จะไม่ติดตั้งส่วนขยายหากมีการละเมิดความเป็นส่วนตัวหรือขอสิทธิ์เพิ่มเติม ที่ดูเหมือนจะจำเป็น คำขอสิทธิ์ควรฟังดูสมเหตุสมผลสำหรับผู้ใช้และจำกัดไว้เฉพาะ ข้อมูลที่จำเป็นต่อการใช้งานส่วนขยาย ส่วนขยายที่รวบรวมหรือส่งข้อมูลผู้ใช้ ต้องเป็นไปตามนโยบายความเป็นส่วนตัวของข้อมูลผู้ใช้
ปกป้องและเคารพผู้ใช้ส่วนขยายโดยใส่ข้อควรระวังเหล่านี้เพื่อรักษาตัวตนของผู้ใช้ให้ปลอดภัย ข้อควรจำ: ยิ่งส่วนขยายเข้าถึงข้อมูลได้น้อย ข้อมูลก็อาจรั่วไหลโดยไม่ตั้งใจได้น้อยลง
ลดสิทธิ์ที่จำเป็น
API ที่ส่วนขยายเข้าถึงได้จะระบุไว้ในช่องสิทธิ์ของไฟล์ Manifest ได้รับสิทธิ์มากขึ้น ผู้โจมตียิ่งต้องสกัดกั้นข้อมูลมากขึ้นเท่านั้น เฉพาะ API ส่วนขยายจะขึ้นอยู่กับควรแสดง และควรพิจารณาการรุกล้ำความเป็นส่วนตัวน้อยกว่า ตัวเลือก ยิ่งคำขอของส่วนขยายมีสิทธิ์น้อยลงเท่าใด คำเตือนสิทธิ์จะแสดงต่อ ผู้ใช้ ผู้ใช้มีแนวโน้มที่จะติดตั้งส่วนขยายมากกว่าและมีคำเตือนที่จำกัด
ส่วนขยายไม่ควรเป็น "หลักฐานในอนาคต" เข้าถึงข้อมูลผู้ใช้ได้โดยการขอสิทธิ์ที่ผู้ใช้ ที่จำเป็นในปัจจุบัน แต่อาจนำมาใช้ในอนาคต รวมสิทธิ์ใหม่ๆ พร้อมการอัปเดตส่วนขยายและ ให้พิจารณาทำเป็นไม่บังคับ
activeTab
ส่วนขยายที่ใช้สิทธิ์ของโฮสต์เพื่อแทรกสคริปต์มักจะแทนที่ activeTab
ได้
สิทธิ์ activeTab
จะให้สิทธิ์เข้าถึงชั่วคราวแก่ส่วนขยายไปยังแท็บที่ใช้งานอยู่ในขณะนี้
เฉพาะเมื่อผู้ใช้เรียกใช้ส่วนขยาย การเข้าถึงจะถูกตัดออกเมื่อผู้ใช้ออกห่างจาก หรือ
ปิดแท็บปัจจุบัน ถือเป็นทางเลือกหนึ่งสำหรับการใช้ <all_urls>
หลายอย่าง
{
"name": "Very Secure Extension",
"version": "1.0",
"description": "Example of a Secure Extension",
"permissions": ["activeTab"],
"manifest_version": 2
}
สิทธิ์ ActiveTab จะไม่แสดงข้อความเตือนระหว่างการติดตั้ง
เลือกใช้สิทธิ์เสริม
ให้ผู้ใช้เลือกฟีเจอร์และสิทธิ์ที่ต้องการจากส่วนขยายโดยรวม
สิทธิ์ที่ไม่บังคับ หากฟีเจอร์ใดฟีเจอร์หนึ่งไม่จำเป็นต่อฟังก์ชันหลักของส่วนขยาย
กำหนดให้ไม่บังคับ และย้าย API หรือโดเมนไปไว้ในช่อง optional_permissions
{
"name": "Very Secure Extension",
...
"optional_permissions": [ "tabs", "https://www.google.com/" ],
...
}
การรวมสิทธิ์ที่ไม่บังคับทำให้ส่วนขยายอธิบายได้ว่าทำไมส่วนขยายจึงต้องการสิทธิ์บางอย่าง เมื่อผู้ใช้เปิดใช้ฟีเจอร์ที่เกี่ยวข้อง ส่วนขยายสามารถเสนอตัวเลือกให้ผู้ใช้เปิดใช้ ใหม่ๆ
การคลิกตกลงจะทริกเกอร์เหตุการณ์ต่อไปนี้ในสคริปต์เบื้องหลัง
document.querySelector('#button').addEventListener('click', function(event) {
// Permissions must be requested from inside a user gesture, like a button's
// click handler.
chrome.permissions.request({
permissions: ['tabs'],
origins: ['https://www.google.com/']
}, function(granted) {
// The callback argument will be true if the user granted the permissions.
if (granted) {
// doSomething();
} else {
// doSomethingElse();
}
});
});
ผู้ใช้จะได้รับข้อความแจ้งพร้อมกับคำขอต่อไปนี้
คุณยังใช้สิทธิ์ที่ไม่บังคับในการอัปเดตส่วนขยายได้ด้วย การทำเช่นนี้จะทำให้ แก่ผู้ใช้ได้โดยไม่ต้องปิดใช้ส่วนขยาย เนื่องจากอาจมีการอัปเดตด้วย สิทธิ์ที่จำเป็น
จำกัดและรักษาความปลอดภัยของข้อมูลผู้ใช้
ขอเฉพาะข้อมูลผู้ใช้ขั้นต่ำที่ส่วนขยายต้องการเท่านั้น ยิ่งส่วนขยายขอข้อมูลน้อยเท่าไร จากผู้ใช้หมายความว่ามีจำนวนผู้ที่เห็นน้อยลงหากส่วนขยายถูกบุกรุก
ข้อมูลผู้ใช้ที่ขอทั้งหมดควรได้รับการจัดการด้วยความระมัดระวัง จัดเก็บและเรียกข้อมูลในเซิร์ฟเวอร์ที่ปลอดภัยด้วย โดเมนที่จดทะเบียน ใช้ HTTPS เพื่อเชื่อมต่อเสมอและหลีกเลี่ยงการเก็บข้อมูลที่ละเอียดอ่อนของผู้ใช้ไว้ในไคลเอ็นต์ ของส่วนขยายเนื่องจากพื้นที่เก็บข้อมูลของส่วนขยายไม่ได้เข้ารหัส