All work

Desktop app · encrypted notes

Desktop

Standard Notes (Rust)

An offline-first notes app with end-to-end encryption at rest, rebuilt in Rust. No account, no sync server, no network calls — the vault is a local encrypted database.

Rustegui/eframeArgon2idXChaCha20-Poly1305SQLite

The problem

Most notes apps assume a cloud account. Even the encrypted ones put a server between the user and their writing. The goal here was the opposite: a desktop app where the notes never leave the machine and the encryption is verifiable in the code, not promised in a policy.

Encryption

  • Argon2id key derivation from the user's passphrase.
  • XChaCha20-Poly1305 authenticated encryption for note content and attachments.
  • A SHA-512 hash chain for integrity, with versioned migrations.
  • Only ciphertext is written to disk; plaintext exists in memory while unlocked.
  • Nothing network-related in the codebase — a guard script enforces it.

The editor

One editor handles plain text, markdown, and code. Markdown is rendered live as you type: the syntax is hidden behind styled text while the document keeps the markdown source. Images paste into the note and are stored as encrypted attachments.

Notes support tags, pinning, archiving, trash with restore and purge, saved searches, and a history of recent revisions — all local.

Why it matters

It is a working demonstration of native Rust UI, local-first data, and cryptography that does not depend on a vendor. The hard parts were key handling, migration safety, and keeping the editor fast while every keystroke touches an encrypted vault.

Desktop build for Linux (deb/rpm/AppImage). Source walkthrough available on request.

Need something like this?

Fixed scope, fixed price, and a working product at the end.

Start a project