기술 노트
보안 모델
reader.me가 무엇을 보호하고 무엇을 보호하지 않는지. 보안 검토자를 위해 작성 — 마케팅 없음.
위협 모델
reader.me는 브라우저 안에서 실행되는 SPA입니다.
방어 대상
- 업로드를 통한 문서 유출 (구조적으로 불가능).
- 제3자 JS를 통한 유출 (CSP).
- 악성 PDF (PDF.js 하드닝).
- Protect 브루트포스 (AES-128).
- 파일명을 통한 XSS.
방어하지 않는 대상
- 악성 브라우저 확장.
- OS 수준 침해.
- 협조 CA를 가진 MitM.
- CPU 사이드 채널.
Content Security Policy
public/_headers의 CSP:default-src 'self'- Astro 하이드레이션을 위한
'unsafe-inline'트레이드오프. - 문서 엔드포인트 없는
connect-src.
의존성 정책 & CVE 대응
세 가지 중요한 엔진: PDF.js, pdf-lib, Tesseract.js.
- 심각한 CVE 패치 SLA: 72시간.
- Tesseract 자체 호스팅.
- 검증 — 30초 레시피.
CI의 품질 게이트
- 엔진 순수성 검사.
- Vitest 97% 라인.
- Playwright E2E.
- axe-core a11y.
- Lighthouse CI.
취약점 보고
공개 보고로 사용자가 위험에 처하지 않도록 이메일로 책임감 있게 공개하세요:
[email protected] — 설명과 최소 재현 단계 포함.
48시간 내 확인, 심각한 패치 72시간 내. 익명을 원하지 않는 한 changelog에 크레딧.
관련
- 작동 원리 → — 아키텍처 워크스루.
- 개인정보 → — 평이한 언어로 된 정책 버전.
- vs iLovePDF / Smallpdf → — 나란히 보는 아키텍처 비교.
reader.me는 다음에 의한 아이디어입니다: David Carrero, Color Vivo Internet S.L.에서 제작.