보안 선언
최종 업데이트: 2026-09-24
이 선언은 NotionManager가 사용자의 데이터와 자격 증명을 어떻게 보호하는지, 그리고 저희의 경계가 어디에 있는지를 설명합니다. 이 문서는 《개인정보 처리방침》과 서로를 보완합니다. 개인정보 처리방침이 "저희가 무엇을 수집하는가"에 답한다면, 이 선언은 "저희가 어떻게 보호하며 무엇을 약속하지 않는가"에 답합니다. 본문의 모든 기술적 서술은 현재 버전의 구현과 릴리스 절차에서 나온 것입니다.
이 문서는 "누가 데이터를 가져갈 수 있는가"만 다룹니다. 백업에 무엇이 들어 있는지, 어떤 경우에 불완전해지는지, 그리고 그것이 실제로 쓸 수 있는 상태인지 어떻게 확인하는지는 다른 문제이며, 짝을 이루는 《데이터 무결성 안내》에 적혀 있습니다. 두 문서는 각각 한 가지 주제만 다루고 서로 반복하지 않습니다.
보안은 전체의 속성입니다
보안은 특정 기능이 아니라, 시스템 전체를 실제 환경에 놓았을 때 드러나는 성질입니다. 좋은 설계는 모든 것의 출발점이지만, 결과를 결정하는 것은 설계보다 실행 환경인 경우가 많습니다: 이 기기에 누가 로그인하는지, 디스크가 암호화되어 있는지, 백업이 최종적으로 어떤 매체에 놓이는지, 같은 네트워크에 누가 더 있는지, Notion 쪽에서 통합이 어떤 페이지에 공유되어 있는지. 이 대부분은 저희의 통제 범위 밖에 있습니다.
그래서 저희가 할 수 있는 일은 소프트웨어 쪽을 지키는 것입니다. NotionManager는 보안 위험을 드러내지 않고 공격 표면을 넓히지 않기 위해 최대한 노력합니다. 구체적으로는 저희가 책임질 수 없는 경로를 들이지 않고(텔레메트리 없음, 백그라운드 자동 업데이트 없음, 중계 서버 없음), 작업에 필요한 최소 권한만 요청하며(Notion에 대해서는 읽기 전용), 민감한 정보를 사용자의 기기에 남겨 둡니다. 하지 못하는 부분(로컬 네트워크 서비스에 TLS가 없음, 로컬 암호화 키가 프로그램과 함께 배포됨, 설치 파일이 아직 서명되지 않음)은 얼버무리지 않고 그대로 적습니다.
이 문서는 두 부분으로 나누어 읽어 주십시오. 앞의 절들은 저희가 한 일을, 제9절은 저희가 하지 못한 일과 사용자의 협조가 필요한 부분을 다룹니다. 보안은 "가능한 한 작은 소프트웨어"와 "사용자가 이해하고 통제하는 환경"이 함께 있을 때 성립합니다. 어느 한쪽만으로는 성립하지 않습니다.
요약
- NotionManager는 로컬 우선 데스크톱 프로그램입니다. 백업, 인덱싱, 탐색이 모두 사용자의 기기에서 이루어지며, 저희는 Notion 콘텐츠를 수신하거나 열람하거나 저장하는 서버를 운영하지 않습니다.
- Notion에는 읽기 요청만 보냅니다. 통합은 사용자가 명시적으로 공유한 페이지와 데이터베이스에만 접근할 수 있습니다.
- 텔레메트리, 사용 통계, 충돌 보고서를 수집하지 않으며, 분석·광고·행동 추적 SDK를 넣지 않습니다.
- 현재 버전에는 백그라운드 자동 업데이트 채널이 없습니다. 새 버전은 공식 사이트 또는 GitHub Releases에서 직접 내려받아 설치합니다.
- 앱이 외부로 연결하는 대상은 두 곳뿐입니다. Notion API, 그리고 라이선스를 활성화하거나 검증할 때만 사용하는 라이선스 서비스입니다.
- 라이선스는 일회성 구매이며, 토큰은 RSA-PSS로 서명되고 클라이언트가 오프라인에서 검증하며 이 기기에 묶입니다.
- 알려진 경계(제9절을 반드시 읽어 주십시오): 로컬 자격 증명 암호화 키는 프로그램과 함께 배포되므로 디스크 암호화를 대신하지 못합니다. "원격 탐색"은 로컬 네트워크 안의 HTTP 서비스이며 TLS가 없습니다. 설치 파일은 현재 코드 서명과 공증이 되어 있지 않습니다.
1. 데이터가 있는 곳
- 백업 엔진, 데이터베이스 인덱스, 탐색 화면은 모두 사용자의 기기에서 실행됩니다. 백업은 해당 프로필에 지정한 디렉터리에 기록되고, 인덱스와 스냅숏은 리포지토리 안의 로컬 SQLite 파일에 저장됩니다.
- 저희는 중계를 운영하지 않습니다. 계정 체계도, 클라우드 사본도, "먼저 업로드한 뒤 내려받는" 단계도 없습니다. 사용자의 기기에 있는 그 파일들이 전부이며, 저희는 그것을 볼 수 없습니다.
- 어떤 객체가 백업에 들어가는지, 그리고 그 무결성의 경계가 어디인지는 《데이터 무결성 안내》에 적혀 있습니다. 리포지토리 디렉터리는 전적으로 사용자의 통제 아래에 있습니다. 디렉터리를 삭제하면 백업도 삭제됩니다.
2. Notion과의 권한 경계
- 앱은 사용자 자신의 Notion internal integration(Personal Access Token도 동일하게 지원)으로 워크스페이스에 접근합니다. 자격 증명은 사용자가 만들고 사용자가 보관하며, Notion 쪽에서 언제든지 취소할 수 있습니다.
- 앱은 Notion(api.notion.com)에 읽기 전용 요청만 보냅니다. 코드에는 페이지, 블록, 데이터베이스를 생성하거나 수정하거나 삭제하는 호출이 존재하지 않습니다. 사용자가 제공한 토큰에 쓰기 권한이 있더라도 프로그램은 그것을 사용하지 않습니다.
- 통합은 기본적으로 사용자가 명시적으로 공유한 내용만 볼 수 있습니다. 백업이 필요한 루트 페이지만 공유하고, 통합 설정에서는 읽기 전용 권한을 유지하시기를 권합니다.
- 취소 방법: Notion에서 공유를 해제하거나 해당 통합을 삭제합니다. 취소하면 기기에 저장된 토큰은 즉시 무효가 되고, 앱은 더 이상 아무것도 읽을 수 없습니다.
3. 자격 증명을 저장하는 방식
- integration token과 "원격 탐색" 비밀번호는 평문으로 디스크에 기록되지 않습니다. 로컬 메타데이터 데이터베이스의 암호화된 필드에 저장됩니다(AES-256-CBC, 키는 프로그램 내부 상수에서 scrypt로 파생).
- 이 암호화의 목적은 자격 증명이 설정 파일, 로그, 내보낸 아카이브에 나타나지 않게 하는 것입니다. 이미 사용자의 디스크를 읽을 수 있는 사람은 막지 못합니다. 키가 프로그램과 함께 배포되기 때문입니다. 사용자의 실제 경계는 운영체제 계정과 디스크 암호화입니다. BitLocker / FileVault / LUKS를 켜고 계정 비밀번호를 설정하십시오.
- 토큰은 Notion API와 사용자 자신의 로컬 서비스에 접근할 때만 사용되며, 다른 제3자에게 전송되지 않고 내보낸 프로필 아카이브에도 기록되지 않습니다.
- 내보낸 프로필 아카이브에는 메타데이터(이름, 리포지토리 경로, 스케줄, 보존 정책, 항목 목록)와 백업 데이터만 들어 있습니다. 토큰, 라이선스 토큰, 원격 탐색 비밀번호는 들어 있지 않습니다. 새 기기로 가져온 뒤에는 토큰을 다시 입력해야 합니다.
4. 원격 탐색(유료 기능, 기본값 꺼짐)
- 켜면 앱이 기기에서 HTTP 서비스를 시작하고, 백업을 웹 페이지 형태로 같은 네트워크의 다른 기기(휴대폰, 태블릿, 다른 컴퓨터)에 제공합니다. 기본 포트는 8732이며, 바인딩 주소는 기본값이 모든 네트워크 인터페이스입니다. 로컬 네트워크의 기기가 별도 설정 없이 접속할 수 있게 하기 위한 값입니다. 기술에 익숙하지 않은 사용자를 위해 의도적으로 유지하는 기본값입니다.
- 모든 요청에 HTTP Basic 인증을 요구합니다. 자격 증명은 SHA-256 다이제스트로 상수 시간 비교를 하고, 비밀번호는 암호화하여 저장하며, 실패 응답은 "사용자 이름이 틀렸는지"와 "비밀번호가 틀렸는지"를 구분하지 않습니다.
- 원격 인터페이스는 읽기 전용 탐색 인터페이스입니다. 토큰도 리포지토리 경로도 반환하지 않으며, 원격에서는 민감한 필드를 제거한 프로필 목록만 볼 수 있습니다.
- 정적 파일과 첨부 파일의 경로는 정규화되어 리포지토리 디렉터리 안으로 제한되므로, .. 로 빠져나갈 수 없습니다.
- 이 서비스에는 TLS가 없습니다. 비밀번호와 콘텐츠가 같은 네트워크 안에서 평문으로 오갑니다. 따라서 신뢰할 수 있는 네트워크에서만 사용하십시오. 가정이나 회사의 로컬 네트워크, 사용자 자신의 VPN 등입니다. 인터넷에 직접 노출하지 마십시오. 신뢰할 수 없는 네트워크(공용 Wi-Fi, 공유 사무실 네트워크, 게스트 네트워크)에도 두지 마십시오. 외부에서 접근해야 한다면 사용자 자신의 TLS 리버스 프록시나 VPN 뒤에 두십시오.
5. 앱이 연결하는 서비스
앱은 두 종류의 외부 서비스와만 통신합니다.
- Notion API(api.notion.com): 백업 과정에서 워크스페이스 데이터를 읽으며, 통신은 사용자의 기기와 Notion 사이에서 직접 이루어집니다.
- 라이선스 서비스(lic.notionmanager.com): 라이선스를 활성화하거나 검증할 때만 통신하며, 결제 서비스 제공자에게 라이선스를 확인하고 서명된 토큰을 받아오는 데 사용합니다. 이 서비스가 받는 것은 라이선스 키, install_id(제6절 참조), 그리고 결제 서비스 제공자 쪽에 이미 있는 주문 및 이메일 정보입니다. 사용자의 워크스페이스 콘텐츠는 받지 않습니다.
그 밖에:
- 텔레메트리도, 사용 통계도, 자동 충돌 보고도 없습니다. 분석·광고·행동 추적 SDK도 전혀 없습니다.
- 현재 버전은 백그라운드 자동 업데이트 채널을 열지 않습니다. 새 버전은 공식 사이트와 GitHub Releases로 배포되며, 사용자가 직접 내려받아 설치합니다.
- 로컬 로그는 문제 해결에만 쓰이며 기기에 저장됩니다. 로그를 직접 지원팀에 보내는 경우에는 외부로 보내고 싶지 않은 내용이 들어 있지 않은지 먼저 확인하십시오.
6. 라이선스, 서명, 기기 바인딩
- 라이선스는 구독이 아니라 일회성 구매입니다. 라이선스 토큰은 라이선스 서비스가 RSA-PSS/SHA-256으로 서명하고, 클라이언트는 내장 공개 키로 오프라인 검증합니다. 활성화 요청은 RSA-OAEP + AES-256-GCM 봉투로 전송됩니다.
- install_id는 기기 지문(시스템 machine-id, 없을 때는 hostname|platform|arch|CPU 모델로 대체)을 SHA-256으로 계산한 값입니다. 시작할 때마다 다시 계산하며 디스크에 기록하지 않습니다. 이 값의 유일한 용도는 기기를 식별해 라이선스를 검증하고 활성화 수를 세는 것이며, 사용자의 개인정보를 포함하지도, 연결하지도 않습니다. 그래서 토큰은 이 기기에 묶입니다. 다른 기기로 복사해도 무효이고, 다른 사람의 install_id를 키와 함께 보내도 무효입니다.
- 활성화에 성공한 뒤에는 주기적인 재접속이 없으며, 구매한 기능은 오프라인에서도 오래 사용할 수 있습니다.
7. 배포와 설치 파일 검증
- 설치 파일은 GitHub Releases에 배포되며, 각 버전에 SHA-256 체크섬이 함께 제공됩니다. 다운로드 페이지에 검증 명령이 나와 있습니다. 설치 전에 확인하십시오.
- 체크섬이 일치하지 않으면 파일이 변조되었거나 손상된 것입니다. 폐기하고 공식 경로에서 다시 내려받으십시오.
- 현재 설치 파일은 코드 서명과 공증이 되어 있지 않습니다(macOS 빌드는 hardened runtime을 켜지 않았고, Windows는 서명 인증서가 설정되어 있지 않습니다). 그래서 시스템이 "알 수 없는 개발자"라는 경고를 표시할 수 있습니다. 이는 알려진 현황이며, 제9절을 참조하십시오.
8. 웹사이트와 결제
- 공식 사이트는 사전 렌더링된 정적 사이트이며 Vercel에서 호스팅합니다. 폰트는 직접 호스팅하고, 페이지는 제3자 분석·광고·추적 스크립트를 불러오지 않습니다. 언어와 테마 설정은 사용자 브라우저의 localStorage에 저장됩니다.
- 결제는 결제 서비스 제공자가 처리합니다(Paddle이 판매자로 기록되며, Dodo Payments 경로도 있습니다). 카드 번호와 결제 정보는 결제 서비스 제공자에게만 제출되고, 저희는 그것을 접촉하지도 저장하지도 않습니다. 공식 사이트는 사용자의 Notion 토큰을 수집하지 않으며 필요로 하지도 않습니다.
- 저희가 저장하는 것은 사용자가 직접 보낸 내용(지원 메일, 리뷰, 환불 요청)뿐이며, 답변과 게시를 위해서만 사용합니다.
9. 알려진 경계와 명시적으로 약속하지 않는 것
- 로컬 암호화는 로컬 방어가 아닙니다: 제3절을 참조하고, 디스크 암호화와 계정 비밀번호를 함께 사용하십시오.
- 원격 탐색에는 TLS가 없습니다: 제4절을 참조하십시오. 로컬 네트워크나 VPN 안에서 쓰기 위한 편의 기능으로 설계된 것이며, 인터넷 노출을 전제로 하지 않습니다.
- 설치 파일은 서명도 공증도 되어 있지 않습니다: 저희는 시스템 서명 체인으로 바이너리의 출처를 증명할 수 없습니다. GitHub Releases의 SHA-256 체크섬을 기준으로 삼으십시오.
- 백업이 완전한지는 이 문서의 범위가 아닙니다: 백업에 무엇이 들어가는지, 무엇이 나타나지 않는지(Notion API의 권한 범위와 알려진 공백), 그리고 저희가 권하는 3-2-1 사본 보관 방식은 모두 《데이터 무결성 안내》에 적혀 있습니다. 이 문서는 "누가 데이터를 가져갈 수 있는가"만 다루며 그 부분을 반복하지 않습니다.
- 취약점 포상 제도도, SLA도 제공하지 않습니다: 이 제품은 일회성 구매 소프트웨어이며, 보안 대응은 제10절의 약속에 따라 이루어집니다.
10. 보안 문제 신고
- 보안 문제는 security@notionmanager.com으로 보내 주십시오. 일반 문의, 기능 제안, 환불 관련 사항은 support@notionmanager.com으로 보내 주십시오.
- 신고에는 가능한 한 소프트웨어 버전, 운영체제, 재현 절차, 영향 범위, 그리고 사용자의 판단을 포함해 주십시오. 필요한 경우 테스트 워크스페이스에서 재현하고, 실제 워크스페이스 데이터는 첨부하지 마십시오.
- 아직 수정되지 않은 문제를 공개 채널(issue, 포럼, 소셜 미디어)에 공개하지 마십시오.
- 저희의 약속: 영업일 기준 3일 이내에 접수를 확인합니다. 확인 후에는 수정 계획과 일정을 함께 알려 드립니다. 수정본이 배포되면 릴리스 노트에 감사를 표합니다(실명 게재에 동의하신 경우).
