본문으로 건너뛰기

부상 이후 개발된 로컬 암호화 기반의 제로 클라우드 통증 추적 시스템

Zero-cloud pain tracker with local encryption, built after injury

작성자
HackerNews
발행일
2026년 02월 16일

핵심 요약

  • 1 사용자의 민감한 건강 데이터를 보호하기 위해 서버에 데이터를 저장하지 않는 제로 클라우드(Zero-cloud) 아키텍처와 로컬 암호화 기술을 도입하였습니다.
  • 2 Web Crypto API와 AES-GCM 알고리즘을 활용하여 브라우저 내에서 데이터를 직접 암호화함으로써 개발자조차 데이터에 접근할 수 없는 강력한 보안 체계를 구축했습니다.
  • 3 개발자 본인의 부상 경험을 바탕으로 환자가 주도적으로 데이터를 관리하고 의료진과 안전하게 공유할 수 있는 사용자 중심의 데이터 소유권을 실현했습니다.

도입

본 문서는 개발자가 심각한 부상을 입은 후 자신의 통증 기록을 관리하기 위해 직접 개발한 'Pain Tracker' 프로젝트의 기술적 배경과 철학을 다룹니다. 기존의 클라우드 기반 서비스들이 개인의 민감한 의료 데이터를 서버에 저장하며 발생시키는 보안 및 프라이버시 문제를 해결하기 위해, 본 프로젝트는 데이터의 완전한 로컬 소유권을 보장하는 '제로 클라우드' 모델을 제안합니다. 이는 사용자의 데이터가 외부 서버로 전송되지 않고 오직 사용자의 기기 내에서만 암호화되어 관리되는 혁신적인 접근 방식입니다.

1. 제로 클라우드(Zero-cloud) 아키텍처의 설계 원칙

전통적인 웹 애플리케이션은 데이터를 중앙 서버에 저장하고 관리하지만, Pain Tracker는 이를 완전히 뒤집은 ‘제로 클라우드’ 방식을 채택했습니다. 이 아키텍처의 핵심 요소는 다음과 같습니다.

  • 데이터 저장의 로컬화: 모든 통증 기록, 약물 복용 이력, 개인 메모는 사용자의 브라우저 내 IndexedDB에만 저장됩니다. 서버는 데이터베이스를 보유하지 않으며, 사용자의 데이터를 수집하거나 분석할 수 없습니다.
  • 서버의 역할 최소화: 중앙 서버는 오직 애플리케이션을 구동하기 위한 정적 자산(HTML, JavaScript, CSS)을 제공하는 역할만 수행합니다. 이는 서버 침해 사고가 발생하더라도 사용자 데이터는 안전함을 의미합니다.
  • 오프라인 우선(Offline-first): PWA(Progressive Web App) 기술을 적용하여 인터넷 연결이 불안정한 환경에서도 데이터 입력 및 조회가 가능하며, 모든 처리는 클라이언트 측에서 즉각적으로 이루어집니다.

2. 강력한 클라이언트 측 암호화 메커니즘

데이터의 보안성을 극대화하기 위해 브라우저 수준에서 구현된 최신 보안 기술을 활용합니다.

  • Web Crypto API 활용: 외부 라이브러리에 의존하지 않고 브라우저 표준 API를 사용하여 암호화 작업을 수행함으로써 공급망 공격의 위험을 줄였습니다.
  • AES-GCM 256비트 암호화: 데이터의 기밀성뿐만 아니라 무결성까지 보장하는 AES-GCM 알고리즘을 사용합니다. 모든 데이터는 디스크에 저장되기 직전에 암호화되며, 메모리 상에서만 일시적으로 복호화됩니다.
  • 비밀번호 기반 키 유도(PBKDF2): 사용자가 설정한 비밀번호는 서버로 전송되지 않습니다. 대신 PBKDF2 알고리즘을 통해 브라우저 내에서 암호화 키를 생성하며, 이 키는 브라우저 세션이 종료되면 안전하게 파기됩니다.

3. 데이터 소유권과 사용자 경험의 조화

기술적 제약 속에서도 사용자에게 최적의 경험을 제공하기 위한 기능들이 포함되어 있습니다.

  • 데이터 시각화 및 분석: 로컬에 저장된 데이터를 바탕으로 통증의 양상을 그래프와 차트로 시각화합니다. 서버의 도움 없이 브라우저의 연산 능력만으로 복잡한 데이터 분석을 수행합니다.
  • 안전한 데이터 내보내기: 사용자는 자신의 데이터를 JSON 형식으로 내보내어 백업하거나 다른 기기로 이전할 수 있습니다. 이 과정에서도 데이터는 암호화된 상태를 유지하거나 사용자의 명시적 선택에 의해서만 복호화됩니다.
  • 의료진과의 협업: 진료 시 사용자는 자신의 기기를 직접 보여주거나, 로컬에서 생성된 암호화되지 않은 PDF 리포트를 일시적으로 생성하여 의료진에게 전달할 수 있습니다. 이는 데이터 유출 경로를 최소화하는 전략입니다.

4. 개발 동기와 철학적 배경

이 프로젝트는 개발자가 직접 겪은 신체적 고통과 그 과정에서 느낀 데이터 프라이버시에 대한 불안감에서 시작되었습니다. 대다수의 건강 관리 앱이 비즈니스 모델을 위해 사용자 데이터를 상업적으로 이용하는 현실에서, ‘나를 위한 도구’를 직접 만듦으로써 기술이 어떻게 개인의 권리를 보호할 수 있는지 증명하고자 했습니다. 이는 오픈 소스 정신과 결합되어 누구나 자신의 프라이버시를 지키며 건강을 관리할 수 있는 기반을 마련했습니다.

결론

Pain Tracker는 기술적 편리함보다 사용자의 데이터 주권을 최우선으로 고려하는 개발 철학의 결과물입니다. 로컬 암호화와 제로 클라우드 방식은 의료 데이터와 같이 극도로 민감한 정보를 다루는 현대 웹 애플리케이션이 나아가야 할 새로운 보안 표준을 제시합니다. 이러한 접근은 단순한 도구 개발을 넘어, 사용자가 자신의 디지털 삶에 대한 완전한 통제권을 회복하도록 돕는 기술적 선언이며, 향후 프라이버시 중심의 앱 개발에 중요한 시사점을 제공합니다.

댓글 0

댓글 작성

댓글 삭제 시 비밀번호가 필요합니다.

이미 계정이 있으신가요? 로그인 후 댓글을 작성하세요.

0/1000
정중하고 건설적인 댓글을 작성해 주세요.