본문으로 건너뛰기
ezyPDF

보안

최종 개정일: 2026-07-23

보안은 문구가 아니라 설계로 증명되어야 합니다. 이 문서는 실제로 적용한 방식과 아직 적용하지 않은 부분을 함께 적었습니다.

1. 가장 강력한 보호는 전송하지 않는 것

파일이 네트워크를 건너지 않으면 전송 중 도청, 서버 저장소 유출, 백업 매체 분실 같은 위험이 아예 발생하지 않습니다. 현재 제공하는 모든 도구를 브라우저 처리 방식으로 만든 이유가 여기에 있습니다.

2. 파일 검증

선택한 파일은 처리 전에 다음 항목을 확인합니다. 확장자만 믿지 않고 파일 앞부분의 실제 시그니처(매직 바이트)까지 검사해, 확장자만 바꾼 파일을 걸러냅니다.

  • 확장자가 도구에서 허용한 목록에 있는지
  • 파일 앞부분의 시그니처가 확장자와 일치하는지 (예: PDF는 %PDF- 로 시작)
  • 빈 파일이 아닌지
  • 파일당·전체 용량 상한과 개수 상한을 넘지 않는지

3. 화면 표시 관련

  • 파일명은 화면에 표시할 때 자동으로 이스케이프되며, 다운로드 파일명을 만들 때는 제어문자와 경로 구분자를 제거합니다.
  • 외부 스크립트는 최소한으로만 사용합니다. 현재는 광고를 켠 경우에만 외부 스크립트가 로드됩니다.
  • 처리 결과를 담은 임시 주소(Object URL)는 사용 후 해제해 메모리에 불필요하게 남지 않도록 합니다.

4. 제공하지 않는 기능과 그 이유

기능제공하지 않는 이유
PDF 암호 설정브라우저용 PDF 라이브러리에 표준 암호화 구현이 없습니다. 검증되지 않은 방식으로 흉내 내면 실제로는 보호되지 않으면서 안전하다고 오해하게 만들어 더 위험합니다.
PDF 암호 해제원본 구조를 유지한 채 복호화해 재저장할 안정적인 방법이 없습니다. 이미지로 다시 그리는 우회 방식은 텍스트를 잃기 때문에 '해제'라고 부를 수 없습니다.
비밀번호 추측·크래킹정책상 어떤 형태로도 구현하지 않습니다. 기술적 난이도의 문제가 아닙니다.
본문 비식별화(먹칠)검은 사각형을 덮는 방식은 아래에 원문이 그대로 남아 복사할 수 있습니다. 실제로 데이터를 제거하는 방식이 검증되기 전까지는 제공하지 않습니다.

5. 서버 처리를 도입한다면 적용할 원칙

  • 모든 통신 HTTPS 강제
  • 저장 파일명은 무작위 식별자로 생성하고 원본 파일명을 경로에 쓰지 않음
  • 처리 완료 즉시 삭제, 미완료 작업도 짧은 시간 내 자동 삭제
  • 결과 다운로드 주소를 추측할 수 없게 생성하고 유효 기간 설정
  • 업로드 용량·형식·요청 빈도 제한
  • 파일 내용·파일명을 로그에 남기지 않고 작업 식별자만 기록
  • 비밀번호를 입력받는 경우 메모리에서만 사용하고 즉시 폐기, 로그 금지

6. 아직 하지 않은 것

투명성을 위해 현재 적용하지 않은 항목도 적어 둡니다. 배포 환경에서 CSP(Content Security Policy) 헤더와 HSTS 등 보안 헤더를 설정하는 작업은 호스팅 구성에 따라 달라지므로, 배포 문서에 설정 예시를 제공하고 실제 도메인 운영 시 적용할 예정입니다. 또한 외부 보안 감사는 받은 적이 없습니다.

7. 취약점 신고

보안 문제를 발견하셨다면 support@ezypdf.example으로 알려 주세요. 재현 방법과 영향 범위를 함께 적어 주시면 확인에 큰 도움이 됩니다. 확인 전 공개는 자제해 주시길 부탁드립니다.

8. 이용자가 함께 지켜 주실 것

  • 공용 컴퓨터에서 작업했다면 내려받은 파일을 정리하고 브라우저를 닫아 주세요.
  • 민감한 문서를 다룰 때는 신뢰할 수 있는 확장 프로그램만 켜 두세요.
  • 워터마크는 접근을 막는 기술적 보호가 아니라 표식입니다. 이 차이는 워터마크 도구 페이지에도 적어 두었습니다.