처리 방식
우리가 하는 주장
선택한 파일은 이 브라우저 안에서 로컬로 처리되며, FileSlimmer가 업로드하지 않습니다. 이는 구체적이고 검증할 수 있는 하나의 주장입니다. 이 페이지는 그 주장이 어떻게 유지되는지, 그리고 그 문장 자체를 믿지 않고도 어떻게 확인할 수 있는지 설명합니다.
직접 확인하는 방법
- 브라우저의 개발자 도구를 열고 네트워크 탭으로 이동합니다.
- 도구 페이지를 열고 로딩이 끝날 때까지 기다립니다. HTML, CSS, JavaScript에 대한 요청이 보이고, 일부 도구에서는 WebAssembly 모듈이나 AI 모델에 대한 요청도 보입니다. 모두 이 도메인에서 옵니다.
- 네트워크 로그를 지웁니다.
- 파일을 선택하고 도구를 실행합니다.
- 로그를 지켜봅니다. 파일이 처리되는 동안에는 어떤 요청도 발생하지 않습니다.
페이지가 로드된 뒤 네트워크 연결을 끄는 것은 같은 시험을 더 거칠게 하는 방법입니다. 도구는 그대로 작동합니다.
빌드가 이를 강제하는 방식
각각 경고에 그치지 않고 빌드를 실패시키는 네 가지 독립적인 장치가 있습니다:
- 소스 검사. 사용자의 바이트에 닿을 수 있는 모든 파일에서 다음 항목을 검사합니다:
fetch,XMLHttpRequest,WebSocket,EventSource,WebTransport,sendBeacon및FormData. 주석으로 사유가 명시되지 않은 사용이 한 건이라도 있으면 빌드가 중단됩니다. 허용되는 유일한 예외는 처리가 시작되기 전에 이루어지는 동일 출처 엔진 또는 모델 다운로드이며, 각 예외에는 소스 코드에 서면 사유가 기재되어 있습니다. - 자체 호스팅 감사. 소스 트리 전체와 빌드 결과물에서 서드파티 호스트를 검사합니다. 라이브러리, 글꼴, 모델, WebAssembly 바이너리 가운데 어느 것도 CDN에서 로드하지 않으므로, 애초에 요청 경로에 제3자가 존재하지 않습니다.
- 콘텐츠 보안 정책(Content Security Policy). 배포된
Content-Security-Policy헤더는 다음을 설정합니다:connect-src 'self'. 코드가 외부로 요청을 시도하더라도 브라우저가 이를 거부합니다. - 런타임 잠금. 처리 작업이 진행되는 동안에는 페이지 자체의 네트워크 기능이 가로채여 거부됩니다. 자동화된 브라우저 테스트가 검증하는 동작이 바로 이것입니다.
우리가 의도적으로 약속하지 않는 것
- 파일이 정확한 크기에 도달한다고 약속하지 않습니다. 압축 결과는 내용에 따라 달라집니다. 품질 하한선을 넘지 않고는 목표에 도달할 수 없을 때, FileSlimmer는 그 사실을 알리고 도달한 최선의 결과를 돌려줍니다.
- 모든 파일이 모든 기기에서 처리된다고 약속하지 않습니다. 브라우저 메모리는 유한하며, 휴대전화에서 큰 파일은 탭을 멈추게 하기 전에 거부될 수 있습니다. 기기 한도는 파일을 읽은 뒤가 아니라 읽기 전에 적용됩니다.
- 성능 점수를 약속하지 않습니다. Lighthouse와 Core Web Vitals는 기기와 네트워크에 따라 달라집니다.
- 사용자의 확장 프로그램, 운영체제, 네트워크에 관해서는 어떤 것도 약속하지 않습니다. 다음 문서를 참조하십시오: 개인정보 처리방침.
정보를 지우는 작업에는 표시가 붙습니다
일부 작업은 본질적으로 정보를 잃습니다. 래스터화 방식의 PDF 압축은 검색 가능한 텍스트, 링크, 양식, 주석, 레이어, 접근성 구조, 전자서명을 제거합니다. 서명된 PDF를 편집하면 서명이 무효가 됩니다. 메타데이터를 제거해도 이미지 자체에 보이는 정보까지 사라지지는 않습니다. FileSlimmer는 이러한 작업마다 실행한 뒤가 아니라 실행하기 전에 경고합니다.
오픈소스
FileSlimmer는 오픈소스 구성 요소를 바탕으로 만들어졌습니다. 각 구성 요소의 라이선스와 소스 저장소는 다음 문서에 정리되어 있습니다: 오픈소스 고지 페이지. 여기에는 LGPL 구성 요소에 대한 재링크 제공 안내도 포함되어 있습니다.
이 문서는 콜롬비아 발레델카우카주 칼리 소재 ZENIT GROUP S.A.S.가 발행합니다.