Phương pháp
Khẳng định
Các tệp bạn chọn được xử lý cục bộ trong trình duyệt này và không được FileSlimmer tải lên. Đó là một khẳng định cụ thể và có thể kiểm chứng. Trang này giải thích khẳng định ấy được giữ đúng bằng cách nào, và làm sao bạn xác nhận được mà không cần tin vào chính câu nói đó.
Cách bạn tự kiểm chứng
- Mở công cụ dành cho nhà phát triển của trình duyệt và chuyển sang tab Network.
- Tải một trang công cụ và để nó tải xong. Bạn sẽ thấy các yêu cầu tới HTML, CSS, JavaScript và, với một số công cụ, tới một mô-đun WebAssembly hoặc một mô hình AI. Tất cả đều đến từ tên miền này.
- Xóa nhật ký mạng.
- Chọn một tệp và chạy công cụ.
- Theo dõi nhật ký. Không có yêu cầu nào được gửi đi trong lúc tệp đang được xử lý.
Tắt kết nối mạng sau khi trang đã tải xong là phiên bản thô hơn của cùng phép thử đó: các công cụ vẫn hoạt động.
Quá trình dựng bảo đảm điều đó ra sao
Bốn cơ chế độc lập, mỗi cơ chế đều làm hỏng bản dựng chứ không chỉ đưa ra cảnh báo:
- Quét mã nguồn. Mọi tệp có thể chạm tới các byte của bạn đều được quét để tìm
fetch,XMLHttpRequest,WebSocket,EventSource,WebTransport,sendBeaconvàFormData. Chỉ một lần xuất hiện không kèm chú thích cũng đủ chặn bản dựng. Ngoại lệ duy nhất được phép là việc tải một engine hoặc một mô hình từ cùng nguồn gốc, diễn ra trước khi quá trình xử lý bắt đầu, và mỗi trường hợp đều kèm một lời giải trình bằng văn bản trong mã nguồn. - Kiểm tra việc tự lưu trữ. Toàn bộ cây mã nguồn và kết quả đã dựng đều được quét để tìm máy chủ của bên thứ ba. Không có thư viện, phông chữ, mô hình hay tệp nhị phân WebAssembly nào được tải từ một CDN, nên ngay từ đầu đã không có bên thứ ba nào nằm trên đường đi của yêu cầu.
- Content Security Policy. Tiêu đề
Content-Security-Policyđược triển khai thiết lậpconnect-src 'self'. Ngay cả khi mã cố gửi một yêu cầu ra ngoài, trình duyệt cũng sẽ từ chối. - Khóa lúc chạy. Trong lúc một tác vụ xử lý đang chạy, các hàm mạng cơ bản của chính trang bị chặn lại và từ chối yêu cầu. Đây chính là hành vi mà bài kiểm thử trình duyệt tự động xác nhận.
Những gì chúng tôi cố ý không hứa hẹn
- Chúng tôi không hứa một tệp sẽ đạt đúng một kích thước cụ thể. Mức nén phụ thuộc vào nội dung. Khi không thể đạt mục tiêu mà không vượt quá ngưỡng chất lượng tối thiểu, FileSlimmer sẽ nói rõ điều đó và trả về kết quả tốt nhất mà nó đạt được.
- Chúng tôi không hứa mọi tệp đều xử lý được trên mọi thiết bị. Bộ nhớ trình duyệt là hữu hạn, và một tệp lớn trên điện thoại có thể bị từ chối trước khi nó kịp làm treo tab. Các giới hạn theo thiết bị được áp dụng trước khi tệp của bạn được đọc, chứ không phải sau đó.
- Chúng tôi không hứa hẹn một điểm số hiệu năng nào. Lighthouse và Core Web Vitals phụ thuộc vào thiết bị và mạng.
- Chúng tôi không hứa hẹn bất cứ điều gì về các tiện ích mở rộng, hệ điều hành hay mạng của bạn. Xem tuyên bố quyền riêng tư.
Các thao tác gây mất dữ liệu đều được ghi rõ
Một số thao tác về bản chất là làm mất thông tin. Nén PDF theo kiểu raster hóa sẽ loại bỏ văn bản tìm kiếm được, liên kết, biểu mẫu, chú thích, lớp, cấu trúc hỗ trợ tiếp cận và chữ ký số. Chỉnh sửa một PDF đã ký sẽ làm chữ ký của nó mất hiệu lực. Việc xóa siêu dữ liệu không xóa những thông tin nhìn thấy được trong chính hình ảnh. FileSlimmer cảnh báo trước mỗi thao tác này, chứ không phải sau khi đã thực hiện.
Mã nguồn mở
FileSlimmer được xây dựng trên các thành phần mã nguồn mở. Giấy phép và kho mã nguồn của chúng được liệt kê trên trang thông báo mã nguồn mở, bao gồm cả đề nghị liên kết lại đối với các thành phần LGPL.
Tài liệu này được ZENIT GROUP S.A.S., Cali, Valle del Cauca, Colombia công bố.