WitsonX

MarkLock

WitsonX

MarkLock is a local-first encrypted Markdown editor built on Tauri 2 and Rust with AES-256-GCM and Argon2id. Entire libraries encrypt into a single .mdlb file with even filenames encrypted, password changes skip re-encryption, and keys never leave the device.

canary
Published at
3d ago
2
Stars
33
Download
Synced at
3d ago
rust

Latest release

canaryOct 16, 2026, 02:09 AMPre-release
Downloads slow? Switch the source anytime above

README

Project Overview

MarkLock is a Markdown tool that lives on your own computer: it reads and writes md like any editor, but everything hits the disk as ciphertext. Notes, accounts and plans you would rather keep private can encrypt into a single portable library file, while everyday notes stay plain md.

All key operations run on the Rust side, never leaving the device, never entering JS, never uploading. There are no accounts, no cloud and no network requests in the crypto path. The frontend is Vue 3 with CodeMirror 6 on a Tauri 2 shell, and the default Windows installer is only 3.5MB.

Item Value
Platform Windows 10/11, macOS
Crypto AES-256-GCM + Argon2id
Stack Tauri 2 + Vue 3 + Rust
License Apache-2.0

A Markdown editor that encrypts on save, an entire library travels as one file with even filenames encrypted.

Key Features

  • Encrypted library .mdlb: the whole directory tree (filenames and folder names included) encrypts into one file you can drop into cloud drives or portable disks
  • Encrypted file .mdl: a single Markdown file with its own password, perfect for hiding just one document
  • Password change without re-encryption: the master password only wraps the data key, so changing it is instant even for million-word libraries
  • Lock wipes memory: idle timeout, sleep and screen lock clear in-memory keys, and locked tabs only show the library file label
  • Editing experience: CodeMirror 6 source editing, syntax highlighting, edit/split/preview modes, full-text search, outline jumps and favorites
  • Portable sticky note: pin an md or mdl file to a screen corner or the tray, summoned via hot corners, saving encrypted on every keystroke
  • Plain to encrypted: plain md converts to encrypted files in one click, with batch encryption of whole directories
  • External change watch: rewrites from other programs reload promptly, unsaved edits keep an orange badge instead of being clobbered

Target Audience

  • Individuals with private notes and sensitive documents
  • Writers syncing whole encrypted libraries to cloud drives
  • Users who audit crypto by reading source code
  • Heavy Markdown users who like sticky-note style capture

Quick Start

  1. Download the installer for your platform from Releases (Gitee mirrors available in China)
  2. Create an encrypted library and set a master password, a hint is recommended
  3. Create or import Markdown files inside and edit normally
  4. Copy or sync the single .mdlb file when taking it on the road
  5. For self-building, set up Rust and frontend tooling per the TECHNICAL doc

Core Advantages

  • Extremely light: the 3.5MB Windows build uses the system WebView, not a bundled browser
  • Keys stay local: all crypto runs in Rust, no accounts, no cloud, no network calls
  • Even names encrypted: inside .mdlb the directory structure and filenames are ciphertext too
  • Auditable: Apache-2.0 with unit tests covering the entire crypto core

System Requirements

Item Requirement
Windows Win10/11, default build needs WebView2 (usually present on Win11)
macOS native arm64/x64 packages
Self-building Rust and Node, Xcode CLT on macOS, VS Build Tools on Windows

Notes

  • Unsigned and unnotarized: Windows needs a SmartScreen allow, and macOS reporting a damaged app is fixed by removing the quarantine attribute with xattr
  • Default build needs network: the 3.5MB default installer downloads WebView2 online, use the roughly 209MB offline build when no network is available
  • Careful with plaintext export: exporting plaintext is a dangerous, double-confirmed action, make sure the environment is safe first

Release history

Sort