"PDF 변환", "HWP 뷰어", "엑셀 온라인 열기"를 검색하면 수많은 무료 사이트가 나옵니다. 편리하지만, 그 사이트들이 내 파일을 어디서 어떻게 처리하는지 생각해 본 적 있으신가요? 회사 계약서나 인사 자료를 무심코 올렸다가 보안 사고로 이어질 수 있습니다. 이 글에서는 웹 뷰어의 두 가지 처리 방식과 안전하게 고르는 법을 설명합니다.
웹 문서 도구의 두 가지 방식
서버 사이드 처리(업로드형)
- 사용자가 파일을 고르면 브라우저가 파일 전체를 사이트의 서버로 전송합니다.
- 서버의 변환 프로그램이 파일을 열어 이미지나 HTML, PDF로 바꿉니다.
- 결과를 다시 사용자에게 내려보냅니다.
이 과정에서 원본 파일은 최소한 잠시라도 타인의 컴퓨터 디스크에 저장됩니다. "1시간 후 자동 삭제"라고 안내하더라도, 백업·로그·캐시에 사본이 남지 않는다는 것을 사용자가 검증할 방법은 없습니다.
클라이언트 사이드 처리(브라우저 렌더링)
- 사용자가 파일을 고르면 브라우저가 내 컴퓨터 메모리에서만 파일을 읽습니다.
- 사이트가 미리 내려보낸 자바스크립트 프로그램이 브라우저 안에서 파일을 해석해 화면에 그립니다.
- 네트워크로 파일을 보내는 과정 자체가 없습니다.
인스턴트 문서 뷰어는 두 번째 방식만 사용합니다. 웹 페이지는 '프로그램을 배달'할 뿐이고, 문서는 사용자의 기기를 떠나지 않습니다.
업로드형 서비스의 구체적인 위험
- 데이터 보관 불확실성: 삭제 정책을 지키는지 외부에서 확인할 수 없습니다.
- 해외 서버 이전: 서버가 해외에 있다면 개인정보가 국외로 이전되는 셈이 되어, 개인정보 보호 관련 사내 규정이나 법령 위반 소지가 생길 수 있습니다.
- 해킹 표적: 수많은 사용자의 문서가 모이는 서버는 공격자에게 매력적인 목표입니다.
- 학습 데이터 활용: 이용약관에 "서비스 개선 목적의 데이터 활용" 조항이 숨어 있는 경우도 있습니다.
클라이언트 렌더링이 가능한 이유
예전에는 브라우저 성능이 약해 복잡한 문서를 해석할 수 없었지만, 지금은 상황이 다릅니다.
- 자바스크립트 엔진 성능 향상: 수 MB 크기의 바이너리 파일도 1초 안팎에 해석할 수 있습니다.
- File API와 ArrayBuffer: 브라우저가 로컬 파일을 바이트 단위로 읽을 수 있습니다.
- Web Worker: PDF 해석 같은 무거운 작업을 별도 스레드에서 처리해 화면이 멈추지 않습니다.
- 오픈소스 파서: docx-preview, SheetJS, PDF.js, hwp.js처럼 공개 검증된 라이브러리가 있습니다.
내가 쓰는 사이트가 업로드를 하는지 직접 확인하는 법
- 크롬에서 F12를 눌러 개발자 도구를 엽니다.
- Network(네트워크) 탭을 선택하고 기록을 비웁니다.
- 파일을 열어 봅니다.
- 파일 크기만큼의 요청(보통 POST 요청)이 서버로 나가는지 확인합니다.
클라이언트 처리 방식이라면 파일을 여는 동안 문서 크기에 해당하는 업로드 요청이 보이지 않습니다. 광고나 통계 스크립트의 작은 요청은 있을 수 있지만, 그 안에 문서 내용이 담기지는 않습니다.
회사에서 지켜야 할 기본 원칙
- 사내 보안 정책이 허용한 도구만 사용하세요.
- 외부 서비스에 붙여넣기 전, 개인정보 마스킹 도구로 주민번호·연락처를 먼저 가리세요.
- 공용 PC에서는 문서를 연 탭을 반드시 닫고, 다운로드 폴더의 사본도 삭제하세요.
편리함과 보안은 반대말이 아닙니다. 처리 방식을 이해하고 고르면 둘 다 얻을 수 있습니다.