파일을 고른 뒤 네트워크 기록을 지우고 변환을 실행해 새 요청과 전송 내용을 확인하세요. 오프라인에서도 같은 기능이 작동하는지 시험하되, 캐시와 분석 요청 때문에 한 가지 신호만으로 결론 내리지 마세요.
PNG → WebP
브라우저 처리와 로컬 전용 처리를 구분하세요
웹 페이지는 사용자가 선택한 파일을 File API와 FileReader 같은 기능으로 브라우저 안에서 읽을 수 있습니다. 하지만 파일을 로컬에서 읽는 기능이 있다는 사실은 그 파일이 절대 네트워크로 나가지 않는다는 뜻이 아닙니다. 페이지의 스크립트는 읽은 데이터를 별도 요청으로 서버에 전송할 수도 있으므로, 제품 설명과 실제 동작을 함께 확인해야 합니다.
먼저 개인정보 처리방침과 도구 설명에서 로컬 처리, 업로드, 보관 기간, 분석 서비스에 관한 문구를 읽으세요. 설명이 모호하거나 검증할 수 없다면 민감한 원본을 사용하지 않습니다. 이름이나 위치 정보가 없는 작은 테스트 이미지를 만들고, 실제 비밀 자료와 비슷한 형식과 크기로 준비하세요. 검증 과정에서 파일 내용이 노출될 수 있다는 가정으로 안전한 표본만 씁니다.
파일 선택창에서 사용자가 고른 항목만 페이지에 전달되는지 확인하고 폴더 전체 권한이나 클립보드 접근을 불필요하게 허용하지 마세요. 페이지가 요구하는 권한이 변환 목적보다 넓다면 시험을 중단하고 이유를 검토합니다. 브라우저 권한 표시와 주소창의 사이트 정보를 캡처하거나 기록해 두면 나중에 같은 조건으로 재검증하기 쉽습니다.
- 로컬 처리와 서버 처리를 별개로 확인하기
- 개인정보 처리방침과 보관 설명 읽기
- 민감하지 않은 표본만 사용하기
브라우저에서 실행된다는 표현은 실행 위치를 설명할 뿐, 파일 전송이 절대 없다는 기술적 보증은 아닙니다.
네트워크 기록을 깨끗하게 준비하세요
Chrome 개발자 도구의 Network 패널을 열고 기록이 켜졌는지 확인한 다음 기존 항목을 지웁니다. 페이지를 다시 불러올 때 생기는 정적 파일 요청과 실제 변환 중 요청을 구분하려면, 먼저 아무 파일도 고르지 않은 상태에서 정상적인 배경 통신을 관찰하세요. 필요하다면 로그 보존 기능을 켜서 페이지 이동이나 다운로드 뒤에도 기록이 남게 합니다.
그다음 기록을 다시 지우고 테스트 이미지를 선택해 변환을 시작하고 결과를 내려받을 때까지 기다립니다. 시간, 요청 주소, 메서드, 상태, 유형, 전송 크기를 살펴보세요. 이미지 크기와 비슷한 대용량 POST나 PUT 요청, multipart 폼 데이터, 바이너리 요청 본문이 있는지 확인합니다. 요청 이름만으로 판단하지 말고 Headers와 Payload 영역에서 대상과 내용을 검토하세요.
- 파일 선택 직전에 기록 지우기
- 변환부터 다운로드까지 로그 유지하기
- POST·PUT과 요청 본문·전송 크기 확인하기
모든 요청을 파일 업로드로 오해하지 마세요
페이지 분석, 오류 보고, 글꼴, 광고와 업데이트 확인도 네트워크 목록에 나타날 수 있습니다. 요청이 있었다는 사실만으로 이미지가 업로드됐다고 결론 내리면 오판할 수 있습니다. 반대로 전송 크기가 작다고 안전하다고 단정해서도 안 됩니다. 파일이 압축되거나 조각으로 나뉘고, 일부 정보만 별도로 보내질 가능성도 있기 때문입니다.
요청의 도메인, 콘텐츠 유형, 본문과 발생 시점을 함께 보세요. 테스트 파일에만 있는 고유한 파일명을 썼다면 요청 본문이나 쿼리에 그 이름이 등장하는지도 확인할 수 있습니다. 개발자 도구가 보안을 위해 본문을 표시하지 않거나 서비스 워커가 흐름을 바꾸는 경우에는 관찰 한계를 기록하세요. 확인할 수 없는 부분을 추측으로 안전하다고 표시하지 않는 것이 중요합니다.
- 분석 요청과 파일 전송 구분하기
- 도메인·시점·본문을 함께 보기
- 관찰하지 못한 부분은 미확인으로 남기기
네트워크 항목의 존재 여부보다 어떤 데이터가 언제 어디로 갔는지가 핵심입니다.
오프라인 시험으로 결과를 교차 확인하세요
테스트 페이지와 필요한 코드가 모두 로드된 뒤 네트워크를 오프라인으로 전환하고 같은 표본을 변환해 보세요. 변환과 다운로드가 정상적으로 끝난다면 브라우저 안에서 처리될 가능성을 뒷받침합니다. 기능이 멈춘다면 서버 의존성이 있다는 신호일 수 있지만, 필수 코드가 아직 캐시되지 않았거나 라이선스·설정 확인 때문에 멈췄을 수도 있습니다.
반대로 오프라인에서 작동했다고 앞으로 어떤 전송도 없다고 보장할 수는 없습니다. 온라인 복귀 뒤 대기 중인 데이터가 전송되거나 다른 기능이 별도 요청을 만들 수 있습니다. 따라서 온라인 네트워크 기록과 오프라인 동작을 함께 봐야 합니다. 브라우저의 저장소와 서비스 워커 상태가 시험마다 달라지지 않도록 새 프로필이나 비공개 창을 활용하고 조건을 기록하세요.
- 페이지 로드 후 오프라인에서 변환하기
- 온라인 복귀 뒤 지연 요청 확인하기
- 캐시·서비스 워커 조건 기록하기
변환 결과와 운영 습관까지 점검하세요
파일 업로드가 보이지 않더라도 결과 이미지에 민감한 픽셀이나 메타데이터가 남을 수 있습니다. 내려받은 파일을 새로 열어 화면 속 이름, 위치, 알림과 얼굴을 확인하고 메타데이터 검사기로 위치·촬영 시각·기기 정보를 살펴보세요. 형식 변환과 메타데이터 제거는 같은 기능이 아니므로, 필요한 경우 별도의 공유본에서 제거하고 다시 검사합니다.
검증한 사이트와 브라우저 버전, 날짜, 관찰한 요청, 오프라인 결과를 기록하세요. 사이트 코드나 개인정보 정책이 바뀌면 이전 결론이 계속 유효하다고 볼 수 없습니다. 매우 민감한 자료라면 인터넷과 분리된 검증 가능한 데스크톱 도구를 선택하는 편이 나을 수 있습니다. 어떤 경로든 원본은 별도로 보관하고 최종 공유 파일만 승인된 위치로 이동하세요.
조직에서 반복 사용하는 도구라면 허용 도메인과 예상 요청 목록을 정리하고 정기적으로 표본 시험을 반복하세요. 예상하지 못한 새 도메인, 요청 본문 또는 정책 변경이 나타나면 민감 파일 처리를 멈추고 검토합니다. 확장 프로그램도 페이지 트래픽과 파일 접근에 영향을 줄 수 있으므로 통제된 브라우저 프로필에서 재현하세요. 시험 로그에는 파일 자체를 첨부하지 말고 크기, 형식, 시간과 관찰 결과만 남겨 불필요한 복제를 줄이는 편이 좋습니다.
- 결과 픽셀과 메타데이터 다시 확인하기
- 사이트·브라우저 버전과 시험 날짜 기록하기
- 민감도에 맞는 더 보수적인 도구 선택하기
업로드 여부 검증은 개인정보 점검의 한 단계이며, 최종 파일 내용까지 확인해야 공유 준비가 끝납니다.
핵심만 정리했어요
- File API를 쓰는 웹 앱도 별도 요청으로 파일을 서버에 보낼 수 있으므로 구현을 확인해야 합니다.
- 개발자 도구에서 파일 선택 직전부터 다운로드 완료까지 네트워크 요청을 기록하세요.
- 오프라인 시험은 유용하지만 캐시된 앱, 지연 전송과 분석 요청을 함께 고려해야 합니다.
- 민감한 파일은 검증 전 넣지 말고 작은 비밀감 없는 표본으로 먼저 시험하세요.
자주 묻는 질문
FileReader를 쓰면 파일이 서버로 가지 않나요?
FileReader는 사용자가 고른 파일을 브라우저에서 읽게 하지만, 페이지 스크립트가 읽은 데이터를 별도 네트워크 요청으로 보낼 가능성까지 막지는 않습니다.
Network 패널에 요청이 하나라도 있으면 업로드인가요?
아닙니다. 분석이나 정적 자원 요청일 수 있으므로 주소, 메서드, 본문, 크기와 발생 시점을 함께 확인해야 합니다.
오프라인에서 변환되면 완전히 안전한가요?
로컬 처리의 근거는 되지만 지연 전송이나 온라인 기능까지 배제하지는 못합니다. 온라인 기록과 함께 검증하세요.
시험에는 어떤 이미지를 써야 하나요?
개인정보가 없고 삭제해도 되는 작은 표본을 쓰세요. 실제 민감 파일과 같은 형식으로 만들되 진짜 내용을 넣지 않는 편이 안전합니다.
한 번 확인한 도구는 계속 믿어도 되나요?
사이트 코드, 정책과 브라우저가 바뀔 수 있으므로 중요한 작업 전이나 큰 변경 뒤에는 같은 절차로 다시 확인하세요.