What's new in 0.2.0

A native Mac editor. A local workspace.

Qmacs Editor

Start with a blank Markdown document. Keep everyday files and private vault notes in their own collections, with everything on your Mac.

macOS 14+ · Apple Silicon · No account required

Qmacs Editor 0.2.0 with three Markdown documents in the Files sidebar and the Vault locked separately
Qmacs Editor 0.2.0 · Actual app interface

Version 0.2.0

A fresh start. More control over your documents.

This update brings a simpler first launch, clearer file organization, and improved saving for local documents and encrypted notes.

Your documents, from the first launch

Begin with an empty Untitled.md. Open or create documents in Files, and keep encrypted notes in the separate Vault. There is no fixed document count limit.

Choose where new files go

Set a default Save As folder in Settings. It starts at Documents and is independent of the vault folder. Preferences stay local in ~/.qmacs/config.json.

Edit with more confidence

Each document has its own Undo and Redo history. Saving preserves supported text encodings and checks for external file changes. Close and Quit prompt you about unsaved edits.

Updated encrypted vault handling

Vault format v2 authenticates security metadata. Saving retains the preceding encrypted vault as a backup; password changes preserve existing encrypted snapshot data.

Built for local trust

Everyday files. A separate encrypted vault.

Files are ordinary plaintext documents on disk. Vault notes are saved inside encrypted vault.qmacs. Choose a vault folder and unlock it with your master password when you need protected notes; local file editing remains available while the vault is locked.

The Rust core uses Argon2id key derivation and XChaCha20-Poly1305 authenticated encryption. Master passwords are not saved in configuration; the unlocked app holds the password in memory for encrypted saves. Changing the password re-encrypts the vault and its existing encrypted snapshot data.

Vault creation and password rotation enforce password-strength checks. Optional TOTP or static-code verification adds a supplemental local unlock check. It does not provide an independent cryptographic factor against someone who has the vault file and master password.

Vault v2 authenticates security metadata alongside document contents. An existing vault's preceding encrypted file is retained as vault.qmacs.backup before replacement. A backup retained during password rotation still needs the previous password.

The app operates locally without an account or server. ML-KEM, ML-DSA, and network sync remain roadmap items. Read the vault and backup guidance →

XChaCha20-Poly1305 Authenticated local encryption for vault payloads.
Argon2id Memory-hard password derivation in the Rust core.
Vault format v2 Security metadata is verified against an authenticated encrypted copy.
Offline by default No account or server dependency in the current macOS build.
Encrypted backup The preceding vault file is retained before an existing vault is replaced.
Password rewrap Re-encrypt the vault and existing encrypted snapshots under a new password.
Supplemental unlock check Optional local TOTP or static-code verification; hardware FIDO2 authentication is not implemented.

RQmod syntax

Post-quantum risk models as editable text.

Qmacs Editor includes an RQmod text mode and an MVP validator for `.rqmod` audit declarations. Describe targets, Transit / Use / Rest layers, scoring windows, backend settings, and requested outputs. These declarations do not execute a quantum backend or generate CBOM or QASM evidence.

.rqmod buffers QARS-NI CBOM QASM2 ResilQ IR
audit "qmacs-vault-migration" {
  targets = ["vault.local", "sync-relay.internal"]

  layers {
    transit { tls, ssh, certs }
    use     { openssl, jwt, runtime }
    rest    { vault, backups, kms }
  }

  score qars_ni {
    mosca { t_protect="24mo"; t_data="10y" }
  }

  backend quantum { emit = qasm2; max_width = 3 }
  output { formats = [json, cbom, qasm] }
}

Editor appearance

Theme support for encrypted editing.

Qmacs Editor supports themes across the editor, inspector, and syntax preview. It includes Light, Dark, and Qmacs palettes, plus a local JSON theme importer for custom editor colors. Syntax mode can stay automatic or be pinned to Plain Text, Markdown, Lisp, or RQmod.

Light Dark Qmacs Custom JSON Syntax picker
Qmacs
audit "vault" {
  score qars_ni {
    mosca { t_quantum="96mo" }
  }
  theme = "custom-json"
}

Inside version 0.2.0

A quiet workspace, ready for your first line.

Desktop workflows

Write, organize, and query locally.

Encrypted vaults

Create a master-password vault, select its local folder, and unlock protected notes when needed.

Password rotation

Change the master password by writing a new encrypted verifier and re-encrypting vault.qmacs.

Supplemental unlock checks

Add a local TOTP or static-code check to normal app unlock. Vault encryption remains protected by the master password.

Markdown and local files

Edit and preview Markdown, organize documents in the sidebar, and use native Open, Save As, and Rename dialogs.

Embedded Lisp

Run small local queries for titles, tags, word counts, and status checks.

RQmod syntax

Check `.rqmod` declarations and inspect detected sections, requested output names, and warnings.

Theme import

Themes are supported: switch Light, Dark, or Qmacs palettes and paste custom theme JSON locally.

Mac-native chrome

A native sidebar, inspector, settings, keyboard commands, and document-specific Undo and Redo.

Release information

Version 0.2.0, submitted for App Review.

Version 0.2.0 (build 3) was submitted to Apple on . The submission was recorded as Waiting for Review. Public availability of this update depends on Apple approval.

Designed for macOS 14 or later. The submitted build targets Apple Silicon.

Version 0.2.0 · Build 3
  • Blank Markdown document at launch
  • Separate Files and Vault collections
  • Selectable default file-save folder
  • Document-specific Undo and Redo
  • Encoding and external-change checks
  • Vault v2 and encrypted backup
Get help with Qmacs