Người dùng sẽ không cài đặt một tiện ích nếu tiện ích đó xâm phạm quyền riêng tư của họ hoặc yêu cầu cấp thêm quyền mà có vẻ như cần thiết. Yêu cầu cấp quyền phải hợp lý với người dùng và chỉ giới hạn ở các thông tin cần thiết để triển khai tiện ích. Các tiện ích thu thập hoặc truyền bất kỳ dữ liệu người dùng nào phải tuân thủ chính sách quyền riêng tư đối với dữ liệu người dùng .
Bảo vệ và tôn trọng người dùng tiện ích bằng cách thêm các biện pháp phòng ngừa này để giữ an toàn cho danh tính của họ. Hãy nhớ rằng: càng ít dữ liệu tiện ích có thể truy cập, thì tiện ích đó càng có thể vô tình rò rỉ ít dữ liệu hơn.
Giảm số lượng quyền cần thiết
Các API mà tiện ích có thể truy cập được chỉ định trong trường quyền của tệp kê khai. Chiến lược phát hành đĩa đơn càng được cấp nhiều quyền thì kẻ tấn công càng có nhiều cách can thiệp vào thông tin hơn. Chỉ API nên liệt kê phần mở rộng phụ thuộc vào và nên cân nhắc về phần mở rộng ít xâm phạm . Tiện ích yêu cầu càng ít quyền thì càng ít cảnh báo về quyền hiển thị cho người dùng. Người dùng thường sẽ cài đặt một tiện ích có cảnh báo hạn chế.
Tiện ích không được "phù hợp cho tương lai" truy cập vào dữ liệu người dùng bằng cách yêu cầu các quyền mà họ không hiện tại, nhưng có thể triển khai trong tương lai. Đưa các quyền mới vào bằng việc cập nhật tiện ích và hãy cân nhắc việc đặt chúng ở chế độ không bắt buộc.
activeTab
Các tiện ích sử dụng quyền của máy chủ để chèn tập lệnh thường có thể thay thế activeTab
.
Quyền activeTab
sẽ cấp cho tiện ích quyền truy cập tạm thời vào thẻ hiện đang hoạt động,
chỉ khi người dùng gọi tiện ích. Quyền truy cập bị cắt khi người dùng di chuyển khỏi hoặc
đóng thẻ hiện tại. Thay thế cho nhiều trường hợp sử dụng <all_urls>
.
{
"name": "Very Secure Extension",
"version": "1.0",
"description": "Example of a Secure Extension",
"permissions": ["activeTab"],
"manifest_version": 2
}
Quyền ActiveTab sẽ không hiển thị thông báo cảnh báo trong quá trình cài đặt.
Chọn các quyền không bắt buộc
Cho phép người dùng chọn các tính năng và quyền mà họ cần trên một tiện ích bằng cách cung cấp
quyền không bắt buộc. Nếu một tính năng không cần thiết đối với chức năng cốt lõi của tiện ích,
thiết lập thành tuỳ chọn và di chuyển API hoặc miền vào trường optional_permissions
.
{
"name": "Very Secure Extension",
...
"optional_permissions": [ "tabs", "https://www.google.com/" ],
...
}
Việc thêm các quyền không bắt buộc cho phép tiện ích giải thích lý do tiện ích cần một quyền cụ thể khi người dùng bật tính năng có liên quan. Tiện ích này có thể cung cấp cho người dùng tùy chọn bật các tính năng AI mới.
Nhấp vào Ok! sẽ kích hoạt sự kiện sau đây trong tập lệnh nền.
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();
}
});
});
Sau đó, người dùng sẽ thấy yêu cầu sau.
Bạn cũng có thể triển khai các quyền không bắt buộc trong bản cập nhật tiện ích. Làm như vậy sẽ khiến tính năng có sẵn cho người dùng mà không cần tắt tiện ích, như có thể xảy ra nếu việc cập nhật bằng tiện ích các quyền cần thiết.
Giới hạn và bảo mật thông tin người dùng
Chỉ yêu cầu dữ liệu người dùng tối thiểu mà tiện ích cần. Tiện ích yêu cầu càng ít thông tin từ người dùng đồng nghĩa với việc hiển thị quảng cáo sẽ ít hơn nếu tiện ích bị xâm phạm.
Bạn phải xử lý cẩn thận tất cả dữ liệu người dùng được yêu cầu. Lưu trữ và truy xuất dữ liệu trong máy chủ bảo mật bằng miền đã đăng ký. Luôn sử dụng HTTPS để kết nối và tránh lưu giữ dữ liệu nhạy cảm của người dùng trong máy khách của tiện ích vì bộ nhớ tiện ích không được mã hoá.