Khám phá tác nhân người dùng

Nếu nhà xuất bản hoặc người dùng yêu cầu tăng cường các biện pháp bảo vệ quyền riêng tư, thì Google có thể giảm lượng thông tin được cung cấp trong các trường tác nhân người dùng. Khi thông tin giảm xuống, các đại diện của tác nhân người dùng này sẽ được coi là đã khái quát hoá.

Các bản trình bày tác nhân người dùng phổ biến giúp tăng cường bảo vệ quyền riêng tư bằng cách giới hạn thông tin có thể phân biệt một trình duyệt hoặc thiết bị nhất định với các trình duyệt hoặc thiết bị khác.

Tổng quan

Yêu cầu giá thầu chứa hai cách thể hiện thông tin Tác nhân người dùng: chuỗi User-Agent và đối tượng UserAgent (giao thức GoogleOpenRTB). Cả hai trường đều chứa thông tin do tiêu đề HTTP của tác nhân người dùng của yêu cầu cung cấp.

Các tác nhân người dùng không phổ biến có thể chứa các phiên bản trình duyệt và hệ điều hành chi tiết, cũng như các dữ liệu chi tiết khác ở dạng khái quát của tác nhân người dùng.

Quá trình tổng quát hoá có khả năng tương thích ngược để phát hiện loại thiết bị và trình duyệt. Yêu cầu giá thầu cho biết liệu các trường Tác nhân người dùng đã được khái quát hoá trong các trường PrivacyTreatments hay chưa (Giao thức Google, OpenRTB).

Đối tượng tác nhân người dùng tổng quát

Trong UserAgent chung, các trường version từ tất cả các mục browser và từ platform sẽ được giảm xuống để chỉ chứa phiên bản lớn bằng cách thay thế mọi thành phần phiên bản chi tiết hơn bằng số 0. Không có thông tin nào khác trong đối tượng UserAgent bị xoá.

Ví dụ sau đây so sánh nội dung gốc của UserAgent.browser với dạng tổng quát:

Gốc brand: "Chrome" version: ["96", "0", "4664", "92"]

Chung brand: "Chrome" version: ["96", "0", "0", "0"]

Không phải lúc nào Google cũng khái quát hoá các phiên bản trình duyệt và nền tảng, cụ thể là khi trình duyệt đóng băng phiên bản đầy đủ. Ví dụ: giá trị sau đây của UserAgent.browser sẽ không được sửa đổi: brand: "AppleWebKit" version: ["537", "36"].

Khi đối tượng UserAgent được khái quát hoá, yêu cầu giá thầu cũng chứa trường user_agent_data trong đối tượng PrivacyTreatments:

Giao thức của Google BidRequest.privacy_treatments: { user_agent_data: USER_AGENT_DATA_COARSENED }

Giao thức OpenRTB BidRequest.ext.privacy_treatments: { user_agent_data: USER_AGENT_DATA_COARSENED }

Chuỗi User-Agent khái quát hoá

Trong chuỗi User-Agent chung, các giá trị nhận dạng trình duyệt và nền tảng chỉ được giảm xuống còn các phiên bản lớn. Ví dụ: "Chrome/96.0.4664.92" trở thành "​​Chrome/96.0.0.0". Các thành phần phiên bản cố định, chẳng hạn như "AppleWebKit/537.36", được giữ nguyên. Những thay đổi này tương đương với những thay đổi chúng tôi đã mô tả cho đối tượng UserAgent.

Riêng đối với chuỗi user-Agent, một số thông tin chi tiết hoặc phần tử không chuẩn cũng có thể bị loại bỏ, chẳng hạn như phiên bản bản dựng hoặc phiên bản chương trình cơ sở của thiết bị, hoặc một số dữ liệu cụ thể dành riêng cho ứng dụng thường được thêm vào cuối chuỗi.

Ví dụ sau đây so sánh nội dung gốc của chuỗi User-Agent với dạng tổng quát:

Gốc Mozilla/5.0 (Linux; Android 11; M2007J20CG Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.4664.92 Mobile Safari/537.36 [MyApp:CustomSignals:ABC123]

Chung Mozilla/5.0 (Linux; Android 11; M2007J20CG; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/96.0.0.0 Mobile Safari/537.36

Khi chuỗi User-Agent được khái quát hoá, yêu cầu giá thầu sẽ chứa tín hiệu user_agent trong đối tượng PrivacyTreatments:

Giao thức của Google BidRequest.privacy_treatments: { user_agent: USER_AGENT_COARSENED }

Giao thức OpenRTB BidRequest.ext.privacy_treatments: { user_agent: USER_AGENT_COARSENED }

Google sử dụng các phương pháp tương tự để tổng quát hoá chuỗi User-Agent và đối tượng UserAgent. Do đó, chuỗi User-Agent tổng quát và đối tượng UserAgent đã tổng quát hoá cũng mang một lượng thông tin tương tự.