- Android đã thay đổi để tự động xóa siêu dữ liệu vị trí EXIF khi tải ảnh lên, khiến tính năng ánh xạ vị trí của các dịch vụ web bị ngừng hoạt động
- Google cho biết biện pháp này nhằm tăng cường bảo vệ quyền riêng tư, với mục đích giảm nguy cơ bị theo dõi hoặc trộm cắp
- Trong hầu hết các phương thức chia sẻ như Bluetooth, QuickShare, gửi email, thông tin vị trí cũng bị xóa; chỉ còn ngoại lệ là sao chép trực tiếp qua USB
- Các nhà phát triển chỉ trích việc chức năng bị chặn mà không có thông báo trước, và cho rằng không có giải pháp thay thế trên web nên buộc phải phát triển ứng dụng native
- Người dùng chia thành nhiều ý kiến giữa tăng cường bảo mật và hạn chế quyền lựa chọn, trong khi các thảo luận về cách lách kỹ thuật hoặc cải thiện tiêu chuẩn để giữ lại thông tin EXIF vẫn đang tiếp diễn
Android chặn chia sẻ thông tin vị trí của ảnh
- OpenBenches là một trang web cho phép người dùng chia sẻ ảnh và vị trí của các băng ghế tưởng niệm, đồng thời hiển thị bản đồ bằng siêu dữ liệu vị trí EXIF của ảnh
- Tuy nhiên, khi Android thay đổi để xóa thông tin vị trí lúc tải ảnh lên, việc ánh xạ vị trí tự động qua web trở nên bất khả thi
- Cách dùng HTML
<input type="file" accept="image/jpeg"> trước đây cho phép tải lên ảnh có chứa thông tin vị trí từ bộ chọn ảnh, nhưng Google đã cố ý chặn điều này
- Sau đó, bộ chọn tệp thông thường được khuyến nghị (
<input type="file">) vẫn giữ được thông tin EXIF, nhưng tiếp tục bị chặn trong bản cập nhật sau
- Với các phương thức chia sẻ khác như Bluetooth, QuickShare, gửi email, thông tin vị trí cũng tự động bị xóa, nên sao chép trực tiếp qua cáp USB là ngoại lệ duy nhất còn lại
Lý do thay đổi và quan điểm của Google
- Google cho biết biện pháp này nhằm mục đích quyền riêng tư (Privacy)
- Nếu người dùng vô tình chia sẻ ảnh có chứa thông tin vị trí, có thể phát sinh nguy cơ như bị theo dõi hoặc trộm cắp
- Phần lớn các dịch vụ mạng xã hội (Facebook, Mastodon, BlueSky, WhatsApp, v.v.) mặc định đều xóa thông tin vị trí, và chỉ cho phép người dùng thêm thủ công nếu muốn
- Có vẻ Google đã chặn thông tin vị trí ở cấp hệ thống để ngăn ngừa “rủi ro do lộ vị trí người dùng”
Phản ứng của cộng đồng và vấn đề phát sinh
- Không có thông báo hay trao đổi trước về thay đổi này, khiến nhà phát triển và người dùng rơi vào tình trạng bối rối
- Các đơn vị vận hành dịch vụ như OpenBenches đang nhận được phàn nàn từ người dùng rằng “chức năng bị hỏng”, đồng thời xuất hiện chỉ trích rằng Google không lắng nghe ý kiến cộng đồng
- Ngay cả với ứng dụng web (PWA), việc truy cập thông tin vị trí cũng không thể thực hiện, nên ngoài việc phát triển ứng dụng Android native thì không còn giải pháp thay thế
- Ứng dụng Android cung cấp quyền riêng (permission) để truy cập thông tin vị trí của ảnh
Đề xuất và yêu cầu
- Một giải pháp thay thế được nêu ra là thêm hộp thoại lựa chọn khi tải ảnh lên, chẳng hạn: “Trang web này muốn xem thông tin vị trí của ảnh. Có/Không/Luôn luôn/Không bao giờ”
- Tuy nhiên, cách này được đánh giá là khó hiệu quả do gây mệt mỏi cho người dùng và câu chữ có thể mơ hồ
- Tác giả kêu gọi các nhà phát triển biết cách tải ảnh lên trong trình duyệt web Android mà vẫn giữ được thông tin vị trí EXIF chia sẻ ý kiến
- Đồng thời cũng khuyến khích tham gia +1 phản hồi cho vấn đề trong đặc tả WHATWG HTML để cùng tham gia thảo luận về tiêu chuẩn HTML
Tóm tắt ý kiến người dùng
- Một số người dùng đánh giá tích cực, cho rằng biện pháp của Google là tính năng bảo vệ quyền riêng tư cần thiết
- Những người khác chỉ trích rằng quyền lựa chọn của người dùng đã biến mất, và cho rằng “người trưởng thành cần có tự do quyết định sẽ làm gì trên chính thiết bị của mình”
- Một số ví dụ về cách lách kỹ thuật cũng được chia sẻ, như gửi thông tin EXIF kèm trong tệp ZIP
- Nhìn chung, cuộc tranh luận về cân bằng giữa bảo mật và tiện lợi vẫn đang tiếp diễn
2 bình luận
Có vẻ sẽ tốt hơn nếu thêm nó thành một tùy chọn trong picker như iOS, nên việc chặn hoàn toàn thì thật đáng tiếc.
Ý kiến trên Hacker News
Việc dùng geolocation từ ảnh được tải lên trên trình duyệt di động là trường hợp cực kỳ hiếm
Phần lớn người dùng không biết rằng khi chụp ảnh, họ đang gửi tọa độ GPS theo thời gian thực lên website
Sẽ tốt hơn nếu thẻ input có một thuộc tính như
includeLocationđể hiện pop-up hỏi xác nhận từ người dùngĐây là dự án yêu cầu người dân báo vị trí nếu phát hiện ổ rùa, nhưng do chỉ dùng biểu mẫu nhập liệu đơn giản nên dữ liệu rác đổ về rất nhiều
Vì vậy tôi đề xuất nhận ảnh rồi trích xuất dữ liệu EXIF, nhưng bị từ chối vì nói rằng nếu yêu cầu vị trí thì mọi người sẽ rời đi ngay
Cuối cùng tôi nhận ra rằng người dùng cực kỳ ngại cung cấp vị trí cho các trang web của chính phủ
Nhiều người tải lên thậm chí không biết ảnh của mình đang bị hiển thị công khai, và có lẽ chúng đã được liên kết tự động qua thông tin EXIF
Chỉ khi sao chép trực tiếp bằng cáp USB rồi tải lên từ trình duyệt desktop thì vị trí mới được giữ lại
Tôi vẫn muốn thông tin vị trí được giữ nguyên khi sao lưu lên đám mây
Nó giống như việc tự động chèn địa chỉ nhà tôi vào metadata của tài liệu Word vậy
Tôi nghĩ Google đã làm đúng khi đưa ra thay đổi này
Đa số mọi người không biết metadata ảnh chứa nhiều thông tin đến mức nào, và việc loại bỏ nó phù hợp với kỳ vọng của người dùng
Hiện giờ muốn cấp vị trí cho Maps thì cũng phải cấp quyền vị trí cho Google Search
Giống như tranh cãi về sideloading trên Android, các tính năng vốn tồn tại cho một nhóm power user nhỏ rồi dần bị xóa bỏ, và cuối cùng chỉ còn lại những “thiết bị ngu ngốc”
Giờ chỉ còn cách lấy dữ liệu ra bằng cáp USB
Trước đây có máy ảnh ghi lại “thời gian đã trôi qua kể từ khi thiết bị khởi động”, và từ đó có thể lần ra một người dùng cụ thể
Đây là vấn đề cũ đến mức phim truyền hình thập niên 90 cũng từng đề cập
Thay đổi lần này là để tăng cường quyền riêng tư, nhưng đồng thời cũng đi ngược lại nhu cầu xác minh sự thật
Trong thời đại tràn ngập ảnh do AI tạo ra, cần có hệ thống để theo dõi nguồn gốc và bối cảnh tạo ra của hình ảnh
Việc bộ chọn ảnh mặc định trên Android xóa tên tệp cũng là một vấn đề
Vì vậy người dùng hiểu lầm rằng ứng dụng đã đổi tên tệp
Google Issue Tracker nói đây là “hành vi có chủ đích” và sẽ không sửa
Nếu muốn tên tệp thì phải yêu cầu quyền truy cập thư mục
Phần lớn người dùng chỉ chụp ảnh bằng ứng dụng camera mặc định rồi tải lên ngay
Nếu vị trí hay tên tệp là vấn đề, thì chỉ cần điều chỉnh metadata trong ứng dụng camera là được
Cách tiếp cận “bảo vệ quyền riêng tư” điển hình của các tổ chức như Google là chặn người dùng truy cập dữ liệu của chính họ trong khi bản thân họ vẫn giữ nguyên quyền truy cập
Một số ứng dụng nhắn tin cũng chặn chụp màn hình, lấy lý do “bảo vệ người dùng” để hạn chế tính năng
Trên Android 10 trở lên, ứng dụng phải khai báo và yêu cầu quyền ACCESS_MEDIA_LOCATION thì mới đọc được vị trí EXIF
Xem tài liệu chính thức của Android
Nhưng vì chỉ cần lấy thiết bị khác chụp lại màn hình là xong nên đây thực chất chỉ là làm màu bảo mật
Với doanh nghiệp thì có thể yên tâm, nhưng trải nghiệm người dùng thì rất tệ
Nền tảng báo cáo làn đường xe đạp do tình nguyện viên vận hành đã bị phá hỏng hoàn toàn vì thay đổi này
Vigilo.city vốn có cấu trúc mở, cho phép báo cáo không cần tài khoản, nhưng khi GPS trong EXIF biến mất thì rào cản sử dụng tăng vọt
Thật đáng tiếc vì đáng ra không khó để thiết kế một luồng thông báo rõ ràng cho người dùng về việc chia sẻ vị trí
Việc Android 11 đột ngột không còn cho phép dùng ký tự đặc biệt (:<>?|\*) trong tên tệp cũng là một ví dụ tương tự
Họ viện lý do tương thích với Windows, nhưng tôi chỉ dùng Linux nên đây là hạn chế không cần thiết
Vấn đề liên quan
Thảo luận trước đó cũng nói đúng chuyện này
Nhờ vậy giảm được các vấn đề đồng bộ hóa
Có cảm giác ứng dụng Google Photos đang muốn độc quyền quản lý tệp ảnh
Ngay cả khi muốn thêm vị trí cho ảnh đã chỉnh sửa hoặc ảnh chụp màn hình thì nó cũng nói rằng “chỉ hiển thị trong Photos”
Khi xuất ra thành tệp thì dữ liệu đó không được lưu vào EXIF
Cả Android lẫn iOS đều đối xử với JPEG/PNG không phải như tệp thông thường mà như đối tượng đặc biệt, còn metadata chỉ được lưu trong DB nội bộ của ứng dụng
Kết quả là khả năng tương tác biến mất và cấu trúc trở nên phụ thuộc vào ứng dụng Photos
Thay vì xóa hẳn vị trí, giá như họ làm mờ tọa độ (fuzzing) thì tốt hơn
Ví dụ chỉ công khai tới một chữ số thập phân của vĩ độ và kinh độ thì vẫn có thể phân biệt ở mức khoảng 10 km
Trước đây tôi từng làm nhiều nhật ký du lịch và dự án trực quan hóa dữ liệu dựa trên vị trí, nhưng giờ gần như không thể nữa
Trớ trêu là Google vẫn tiếp tục thu thập vị trí chính xác cho mục đích quảng cáo
Nếu xung quanh chỉ có một ngôi nhà thì có thể bị xác định ngay lập tức
Thay vào đó, nên có một thuộc tính như
includeExiftrong bộ chọn tệp và yêu cầu người dùng xác nhận rõ ràng thì tốt hơnĐây là bước đi đúng hướng
Như đã được thảo luận trong vấn đề WHATWG, tốt hơn là trình duyệt nên được bổ sung tính năng xử lý thông tin vị trí một cách minh bạch
Tuy nhiên, việc xóa tính năng mà không có phương án thay thế vẫn là vấn đề
Trước tiên cần tạo UI opt-in/out rồi sau đó mới thay đổi giá trị mặc định
Còn bây giờ thì bản thân công việc đó đã không thể thực hiện được nữa