Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Sealmark

Yitebeier AikebaierYitebeier Aikebaier120 downloads

Private proof of existence for your notes. Hash locally, anchor to Bitcoin via OpenTimestamps, verify offline. Your content never leaves your machine; only a hash is published.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates3

Private proof of existence for your Obsidian notes.

Sealmark hashes a note locally, anchors the hash to the Bitcoin blockchain via OpenTimestamps, and lets anyone verify, with standard open-source tools, that the note existed at a given time and has not changed since.

Your content never leaves your machine. Only a hash is ever published. That is the whole point: you can prove you wrote something first without publishing it (unlike a preprint, which makes priority public by making the content public).

Status

v0, validated end-to-end inside Obsidian: the bundled opentimestamps library loads in the renderer and the seal → upgrade → verify flow works on a real vault. The cryptographic core is additionally covered by Node spikes and unit tests. See ARCHITECTURE.md for the architecture and trust model.

How it works

  1. Seal: Sealmark reads the note's raw bytes, computes a SHA-256 digest, and submits only that digest to several public OpenTimestamps calendars. You get a pending proof in seconds, stored as a .ots sidecar next to your note.
  2. Upgrade: Bitcoin confirmation takes hours. Sealmark re-fetches the completed proof on startup (and on demand), flipping the note to sealed with a block height.
  3. Verify: the .ots is a standard OpenTimestamps proof. Anyone can verify it with Sealmark, with the ots CLI, or against a Bitcoin node. No trust in Sealmark or any server is required (a full node is fully offline and trustless; a block explorer is a convenience fallback).

A note whose content changes after sealing shows as Drifted: the old proof stays valid for the bytes it sealed, it just no longer matches the current file.

Commands

  • Seal current note
  • Upgrade pending seals
  • Verify current note seal

Install (manual, for testing)

npm install
npm run build

Then copy main.js and manifest.json into your vault at <vault>/.obsidian/plugins/sealmark/, reload Obsidian, and enable Sealmark in Settings → Community plugins.

Privacy and trust

  • Content is hashed locally; only the digest is sent to calendars.
  • The default backend is free public OpenTimestamps calendars. An optional hosted backend may be added later, off by default; the plugin is fully functional without it.

Architecture

See ARCHITECTURE.md. The trust core (src/core) is pure TypeScript with no Obsidian dependency; the Obsidian shell (src/obsidian, src/main.ts) is a thin layer over it. All contact with the opentimestamps library is confined to one file (src/core/anchor/public-calendar.ts).

Author

Built by Yitebeier Aikebaier, who also works on Nexum, a Bitcoin-anchored ledger.

License

MIT.

HealthExcellent
ReviewSatisfactory
About
Seal notes locally by hashing their raw bytes and anchor the digest to Bitcoin via OpenTimestamps to prove existence without publishing content. Store proofs as .ots sidecars, upgrade pending proofs into confirmed seals, and verify seals offline or with standard ots/Bitcoin tools to detect drift when files change.
FilesIntegrations
Details
Current version
0.0.3
Last updated
3 months ago
Created
4 months ago
Updates
3 releases
Downloads
120
Compatible with
Obsidian 1.4.0+
Platforms
Desktop only
License
MIT
Report bugRequest featureReport plugin
Author
Yitebeier AikebaierYitebeier Aikebaierjdh847
GitHubjdh847
  1. Community
  2. Plugins
  3. Files
  4. Sealmark

Related plugins

Local REST API with MCP

Unlock your automation needs by interacting with your notes over a secure REST API.

Google Drive Sync

Syncs a vault into Google Drive for cross-platform use (works for iOS).

Nutstore Sync

Sync your vault with Nutstore (坚果云) using WebDAV protocol.

Claude Code IDE

Connect your vault to Claude Code and share editor context with the CLI.

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

BRAT

Easily install a beta version of a plugin for testing.

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

LanguageTool Integration

Advanced grammar and spell checking, powered by LanguageTool.

Self-hosted LiveSync

Sync vaults securely to self-hosted servers or WEBRTC.

Advanced URI

Control everything with URI.