Emanate - One Pager

Emanate

Local-first thought versioning for Obsidian.

Every snapshot becomes a cryptographically signed event in a private local relay, with optional publication to the Nostr network for durable authorship and recovery.


What it does

Emanate turns your Obsidian notes into a signed, append-only history of thought. Draft locally, inspect every revision, and publish selected snapshots to Nostr relays — without giving up control of your vault.

Architecture

Four layers, from local to global:

Layer Role
Vault Markdown files, attachments, wikilinks, embeds — Obsidian as the editing surface
Identity Cryptographic signatures, authorship, provenance — every event tied to a Nostr keypair
Ledger Immutable revision events in local SQLite — append-only, chain-linked history
Distribution Selective sync to Nostr relays — publish chosen snapshots for durable authorship and recovery

How it works

  1. Auto-snapshot — Every edit is debounced and saved as a signed Nostr event in a local SQLite database. No cloud required.
  2. Chain linking — Each snapshot tags the previous version’s event ID, creating a verifiable revision chain per note.
  3. Time-travel UI — A sidebar panel lets you scrub through history, preview any revision, diff against current or previous versions, and restore.
  4. Publish when ready — Select any snapshot and broadcast it to your configured Nostr relays. Published snapshots are marked with a broadcast badge.
  5. Disaster recovery — If you lose your vault, reconstruct it from any relay using your public key.

Event kinds

  • Kind 1 — Short notes. Default. Every snapshot is a distinct immutable event — relays preserve the full revision chain.
  • Kind 30023 — NIP-23 long-form articles with title, summary, slug, and published_at. Parameterized replaceable — relays keep only the latest version per slug. Use when you want “canonical article” behavior instead of append-only history.

Resolved by: command override → frontmatter nostr.kind → plugin default (Kind 1).

Key properties

  • Offline-first — Works entirely without network. Publishing is opt-in.
  • Vault-sovereign — Your files stay in Obsidian. Nothing is required to leave your machine.
  • Cryptographic proof — Every snapshot is signed. You can prove when you had an idea.
  • Standard format — Events are valid Nostr JSON. Any compliant client can read them.
  • Fork detection — Concurrent edits on multiple devices produce visible chain forks you can inspect and resolve.

Status

Implemented: auto-snapshot, chain linking, history view, diffing, restore, publish to relays, fork detection

Not yet: wikilink-to-event tagging, image/media handling (Blossom/BUD), vault reconstruction from relay, event pruning.


Emanate is an Obsidian plugin. MIT license.

No comments yet.