Chính sách quyền riêng tư của Markleaf
Cập nhật lần cuối: 26/05/2026 · Áp dụng cho Markleaf Android v2.x
Nguyên tắc cốt lõi
Markleaf là ứng dụng ghi chú Markdown ưu tiên lưu trữ cục bộ. Ứng dụng không vận hành máy chủ riêng và không bao giờ tải ghi chú, thẻ, tệp đính kèm hay siêu dữ liệu lên bất kỳ máy chủ bên ngoài nào. Các bản build phân phối qua F-Droid và Google Play hoàn toàn không khai báo quyền android.permission.INTERNET; bản sideload trên GitHub Releases chỉ khai báo quyền này cho một mục đích duy nhất, được mô tả trong phần Mạng.
Thông tin Markleaf không thu thập
- Tên, email, danh bạ, vị trí
- Thông tin tài khoản hoặc đăng nhập
- Nội dung, tiêu đề, thẻ, hình ảnh đính kèm, tên tệp, siêu dữ liệu của ghi chú
- Thống kê sử dụng, dữ liệu đo từ xa, sự kiện phân tích, mã định danh quảng cáo
- Báo cáo sự cố hoặc mã định danh thiết bị
Ứng dụng cũng không chứa SDK phân tích, quảng cáo, theo dõi, cấu hình từ xa, Firebase hay SDK báo cáo sự cố mã nguồn đóng.
Mạng
Điều này phụ thuộc vào nơi bạn tải ứng dụng. Trong cả hai trường hợp, không dữ liệu ghi chú nào của bạn bị gửi đi.
- F-Droid và Google Play — không có
android.permission.INTERNETvà hoàn toàn không có hoạt động mạng nào. - GitHub Releases (sideload) — khai báo hai quyền: một quyền cho việc kiểm tra cập nhật, và một quyền để có thể cài bản cập nhật bạn chọn tải về. Cả hai đều không hoạt động trừ khi bạn bật tính năng kiểm tra.
F-Droid / Google Play INTERNET: không có · REQUEST_INSTALL_PACKAGES: không có GitHub Releases INTERNET: kiểm tra cập nhật · REQUEST_INSTALL_PACKAGES: cài đặt, sau khi xác minh SHA-256
Kiểm tra cập nhật trong bản sideload
- Tắt theo mặc định. Không có gì xảy ra cho đến khi bạn bật nó trong Cài đặt.
- Mỗi ngày một lần, ứng dụng gửi một yêu cầu GET duy nhất để lấy một tệp JSON tĩnh mô tả bản phát hành mới nhất. Nếu kiểm tra thất bại, lỗi sẽ được bỏ qua một cách lặng lẽ.
- Chạm Tải xuống và cài đặt trong hộp thoại cập nhật sẽ tạo yêu cầu mạng duy nhất còn lại của ứng dụng: một yêu cầu GET để lấy chính tệp cập nhật. Cũng như việc kiểm tra, điều này chỉ xảy ra vì bạn yêu cầu.
- Khi tệp đã tải xong, ứng dụng so sánh nó với giá trị SHA-256 trong tệp JSON đó. Nếu không khớp, tệp sẽ bị xóa và quá trình cài đặt không bao giờ bắt đầu.
- Chỉ tệp đã được xác minh mới được chuyển cho
PackageInstallercủa chính Android. Màn hình xác nhận hiện ra sau đó do Android hiển thị, không phải Markleaf. Bước này cần quyềnREQUEST_INSTALL_PACKAGES; nếu quyền chưa được cấp, ứng dụng sẽ đưa bạn đến Cài đặt trước. - Nếu việc tải về hoặc xác minh thất bại, bạn có thể thử lại, hoặc mở trong trình duyệt — đúng cách chuyển giao mà tính năng này dùng trước đây.
- Yêu cầu chỉ mang theo URL đó và các header HTTP tiêu chuẩn. Không có chuỗi truy vấn, không cookie, không tài khoản.
- Không có nội dung, tiêu đề, thẻ, tệp đính kèm, tên tệp, siêu dữ liệu của ghi chú, mã định danh thiết bị hay dữ liệu sử dụng nào bị gửi đi. Điều này đúng với mọi bản build và mọi yêu cầu kể trên, không có ngoại lệ.
- Các bản build cho kho ứng dụng không chứa quyền này cũng như đoạn mã tương ứng — không phải bị vô hiệu hóa, mà đơn giản là không được đưa vào.
Nơi lưu trữ dữ liệu
- Nội dung, tiêu đề ghi chú và chỉ mục thẻ được lưu trong cơ sở dữ liệu Room nội bộ của ứng dụng.
- Cài đặt người dùng được lưu trong DataStore.
- Hình ảnh đính kèm được sao chép vào bộ nhớ trong của ứng dụng, và siêu dữ liệu EXIF nhạy cảm được loại bỏ khi lưu.
Chính sách sao lưu hệ thống Android
Markleaf đặt android:allowBackup="false" để loại dữ liệu ứng dụng khỏi Tự động sao lưu của Android và việc chuyển dữ liệu giữa các thiết bị. Nếu cần chuyển sang thiết bị mới hoặc dùng nhiều thiết bị, bạn tự chọn xuất Markdown, chia sẻ hoặc phản chiếu thư mục SAF.
Di chuyển dữ liệu do người dùng thực hiện
Các thao tác sau chỉ xảy ra khi chính bạn thực hiện, thông qua hộp thoại cấp quyền rõ ràng của Android hoặc lựa chọn trên giao diện do bạn đưa ra.
- Xuất một ghi chú hoặc tất cả ghi chú dưới dạng Markdown (
.md) - Chia sẻ văn bản hoặc tệp ghi chú qua bảng chia sẻ của hệ thống Android
- Chạm vào liên kết ngoài trong nội dung để giao cho hệ điều hành / trình duyệt mặc định
- Sao chép vào bộ nhớ tạm
- Phản chiếu tệp Markdown vào thư mục SAF do bạn chọn
Việc thư mục SAF có được đồng bộ bởi ứng dụng đồng bộ bên ngoài như Drive, Dropbox, OneDrive, Syncthing hay ổ NAS được gắn hay không là trách nhiệm của ứng dụng bên ngoài đó. Bản thân Markleaf không thực hiện việc đồng bộ này.
Quyền
Quyền duy nhất thuộc dạng quyền khi chạy mà Markleaf khai báo là android.permission.VIBRATE để phản hồi xúc giác. Không bản build nào khai báo quyền vị trí, micrô, máy ảnh, danh bạ, thông báo, đọc bộ nhớ ngoài hay đọc phương tiện. Cả android.permission.INTERNET lẫn android.permission.REQUEST_INSTALL_PACKAGES đều không có trong bản build F-Droid và Google Play. Hai quyền này chỉ có trong bản sideload, dành cho việc kiểm tra cập nhật và cài đặt tùy chọn được mô tả trong phần Mạng.
Liên hệ
Nếu có câu hỏi hoặc muốn báo cáo vấn đề bảo mật/quyền riêng tư, vui lòng liên hệ qua GitHub Issues.