Markleaf Privacy Policy
Last updated: May 26, 2026 · Applies to Markleaf Android v2.x
핵심 원칙
Markleaf는 로컬 우선 Markdown 노트 앱입니다. 자체 서버를 운영하지 않으며, 노트/태그/첨부/메타데이터를 외부 서버에 업로드하지 않습니다. F-Droid와 Google Play로 배포되는 빌드에는 android.permission.INTERNET 권한이 아예 없고, GitHub Releases의 사이드로드 빌드는 아래 네트워크 절에 설명된 용도 하나만을 위해 그 권한을 선언합니다.
Markleaf가 수집하지 않는 정보
- 이름, 이메일, 연락처, 위치
- 계정 또는 로그인 정보
- 노트 본문, 제목, 태그, 첨부 이미지, 파일명, 메타데이터
- 사용 통계, 텔레메트리, 분석 이벤트, 광고 식별자
- 크래시 리포트 또는 기기 식별자
분석, 광고, 추적, 원격 설정, Firebase, 폐쇄형 크래시 리포팅 SDK도 포함하지 않습니다.
네트워크
앱을 어디에서 받았는지에 따라 다릅니다. 어느 쪽이든 노트 데이터는 전송되지 않습니다.
- F-Droid, Google Play —
android.permission.INTERNET권한이 없고, 네트워크 동작도 전혀 없습니다. - GitHub Releases (사이드로드) — 권한을 두 개 선언합니다. 하나는 업데이트 확인용이고, 하나는 사용자가 내려받기로 고른 업데이트를 설치하기 위한 것입니다. 확인을 켜지 않으면 둘 다 동작하지 않습니다.
F-Droid / Google Play INTERNET: 없음 · REQUEST_INSTALL_PACKAGES: 없음 GitHub Releases INTERNET: 업데이트 확인 · REQUEST_INSTALL_PACKAGES: SHA-256 검증 후 설치
사이드로드 빌드의 업데이트 확인
- 기본값은 꺼짐입니다. 설정에서 직접 켜기 전까지 아무 일도 일어나지 않습니다.
- 켜면 하루에 한 번, 최신 릴리스 정보가 담긴 정적 JSON 파일 하나를 GET 합니다. 확인에 실패하면 조용히 넘어갑니다.
- 업데이트 모달에서 다운로드 및 설치를 탭하면, 앱이 하는 또 다른 유일한 네트워크 요청이 일어납니다 — 업데이트 파일 자체에 대한 GET입니다. 확인과 마찬가지로 사용자가 요청했을 때만 일어납니다.
- 파일을 다 받으면 그 JSON에 실린 SHA-256과 대조합니다. 일치하지 않으면 파일을 지우고 설치를 시작하지 않습니다.
- 검증을 통과한 파일만 Android 자체의
PackageInstaller에 넘깁니다. 그 뒤 나오는 설치 확인 화면은 Markleaf가 아니라 Android가 그립니다. 이 단계에는REQUEST_INSTALL_PACKAGES권한이 필요하며, 아직 없다면 앱이 먼저 설정 화면으로 안내합니다. - 다운로드나 검증이 실패하면 다시 시도하거나, 이전과 같이 브라우저에서 대신 열 수 있습니다.
- 요청에 붙는 것은 그 URL과 표준 HTTP 헤더뿐입니다. 쿼리스트링도 쿠키도 계정도 없습니다.
- 노트 본문·제목·태그·첨부·파일명·메타데이터·기기 식별자·사용 기록은 전송되지 않습니다. 이것은 어느 빌드에서도, 이 요청들 중 어느 하나에도 예외가 없습니다.
- 스토어 배포본에는 이 기능의 권한도 코드도 들어 있지 않습니다. 꺼져 있는 것이 아니라 빌드에 포함되지 않습니다.
데이터 저장 위치
- 노트 본문, 제목, 태그 인덱스는 앱 내부 Room 데이터베이스에 저장됩니다.
- 사용자 설정은 DataStore에 저장됩니다.
- 첨부 이미지는 앱 내부 저장소에 복사되어 보관되며, 저장 시 민감한 EXIF 메타데이터를 제거합니다.
Android 시스템 백업 정책
Markleaf는 android:allowBackup="false"를 설정해 Android Auto Backup 및 기기 간 전송에서 앱 데이터를 제외합니다. 기기 이전 또는 다중 기기 사용이 필요하다면 사용자가 직접 Markdown 내보내기, 공유, 또는 SAF 폴더 미러를 선택해야 합니다.
사용자 주도 데이터 이동
다음 동작은 사용자가 직접 실행한 경우에만 일어나며, Android의 명시적 권한 다이얼로그 또는 사용자 UI 선택을 거칩니다.
- 단일 노트 또는 전체 노트를 Markdown(
.md)으로 내보내기 - Android 시스템 공유 시트로 노트 텍스트 또는 파일 공유
- 본문 안의 외부 링크를 탭해 OS/기본 브라우저에 위임
- 클립보드로 복사
- 사용자가 선택한 SAF 폴더로 Markdown 파일 미러링
SAF 폴더가 Drive, Dropbox, OneDrive, Syncthing, NAS 마운트 같은 외부 동기화 클라이언트에 의해 동기화될지는 해당 외부 앱의 책임입니다. Markleaf는 그 동기화 자체를 수행하지 않습니다.
권한 목록
Markleaf가 선언하는 런타임 성격의 권한은 햅틱 피드백을 위한 android.permission.VIBRATE뿐입니다. 위치, 마이크, 카메라, 연락처, 알림, 외부 저장소 읽기, 미디어 읽기 권한은 어느 빌드에도 없습니다. android.permission.INTERNET과 android.permission.REQUEST_INSTALL_PACKAGES 둘 다 F-Droid·Google Play 빌드에는 없고 사이드로드 빌드에만 있으며, 용도는 위 네트워크 절의 업데이트 확인과 옵트인 설치입니다.
Contact
질문이나 보안/개인정보 관련 제보는 GitHub Issues를 통해 남겨주세요.