피드로 돌아가기
I Built a Browser-Based PDF Converter to Stop Uploading Sensitive Files to Random Sites Tags: #showdev #webdev #javascript #privacy
Dev.toDev.to
Frontend

Client-side JS 기반의 서버리스 PDF 컨버터 구현을 통한 데이터 프라이버시 보장

I Built a Browser-Based PDF Converter to Stop Uploading Sensitive Files to Random Sites Tags: #showdev #webdev #javascript #privacy

bunnyconvert2026년 5월 8일1intermediate

Context

외부 PDF 변환 사이트 이용 시 발생하는 민감 데이터 유출 위험과 서버 전송 기반 아키텍처의 보안 취약점 인식. 파일 업로드 없는 로컬 처리 환경 구축을 통한 완전한 Privacy First 아키텍처 지향.

Technical Solution

  • Vanilla JS 기반 프론트엔드 설계를 통한 런타임 오버헤드 최소화 및 로딩 속도 개선
  • pdf-lib와 pdf.js 라이브러리 조합으로 브라우저 내 PDF 생성 및 렌더링 로직 구현
  • heic2any 라이브러리 도입을 통한 HEIC 포맷의 클라이언트 사이드 디코딩 처리
  • Custom TTF 임베딩 방식을 통한 pdf-lib StandardFonts의 다국어(Turkish) 지원 제약 해결
  • Touch 및 Mouse 이벤트를 통합 제어하는 드래그 앤 드롭 로직으로 서명 배치 기능 구현
  • Capacitor 래퍼를 활용한 단일 코드베이스의 Android 앱 확장 및 배포

1. 민감 데이터 처리 시 서버 전송을 배제한 Client-side Processing 가능 여부 검토

2. 외부 라이브러리의 폰트 지원 범위를 확인하고 필요 시 Custom TTF 임베딩 전략 수립

3. 복잡한 프레임워크 없이 Vanilla JS만으로 구현 가능한 가벼운 유틸리티 도구의 효율성 분석

원문 읽기