For game mastersworking name

Vault Herald

An Obsidian plugin and a command-line tool for Obsidian and Foundry VTT. Open source.

Publish your Obsidian world to Foundry VTT and a player wiki, minus the GM secrets.

Anything marked GM-only stays out of what the players see.

vault-herald check

Vault Herald check: ~/vault-edge
  43 notes: 23 public, 5 players, 2 gm, 13 private

Needs attention (8): these notes look meant to publish but were kept private
  Classify/Empty Audience.md  empty-audience: audience is empty
  Classify/Unknown Table.md  unknown-table: table "kraken" is not defined in the config
  ...

SPOILER TRIPWIRE: 1 critical hit. Nothing may be published.
  Spoilers/Ungated Reveal.md:5  "the tidecaller"  [public, players]
      everyone knows the old tales of the tidecaller's fleet.

  To fix: wrap the text in %%gm%% ... %%/gm%%, change the note's audience, or, if the mention is
  safe, add spoiler_ok: [the term] to that note's frontmatter.
Real output from Vault Herald's edge-case test vault, trimmed to fit. Every note, table and secret in it is invented.

Vault Herald turns an Obsidian vault into a Foundry VTT module with player and GM compendiums, plus a player wiki for each table (ready for Quartz), all from the same notes. It fails closed: nothing publishes until a note says who may read it, GM-only text can hide inside a note, and a spoiler tripwire stops the build if a listed phrase would reach players.

Why I made this

I share world notes with my players, and one careless link would spoil something. That's why I made Vault Herald.

What it does

  • Nothing publishes by accident. A note has to say who's allowed to read it. Forget to close a hidden section and it hides the rest of the note instead of leaking it, and a link to a hidden note never shows its title.
  • Right inside Obsidian. A publish report that opens each problem at its line, a status bar that says who can read the note you are on, and one command to set a note's audience.
  • Hide part of a note. Wrap GM-only or players-only text, and the same rules apply to every output.
  • A spoiler tripwire. List the phrases that would spoil the game. If one would reach players, nothing gets published, and the output names the file, the line and the phrase. It checks the built files a second time, too.
  • One vault, every output. A Foundry VTT module with player and GM compendiums, plus a Quartz-ready player wiki for each tier and each table.
  • Just files. It reads your files, writes plain files, and that's about it.

What it doesn't do

  • It isn't access control or encryption.
  • It doesn't password-protect a wiki.
  • The spoiler tripwire only catches phrases on the list.
  • It doesn't check what's drawn inside an image.
  • No two-way sync, and no pushing into a live Foundry world.

Who it's for

Game masters who keep their world in Obsidian and want to share parts of it with players without hand-copying notes or risking a spoiler.

What it keeps, and where

Vault Herald reads your files and writes plain files. It never touches the network.

The full Vault Herald privacy section

Runs on, and what it'll cost

Runs on
Obsidian (the plugin). Command line (Node.js 22.12 or newer).
Cost
Free and open source under the MIT license. Every safety feature stays free forever. An optional supporter license for conveniences may come later, never for safety.
License
MIT, so the code is open source.

Obsidian and Foundry Virtual Tabletop are trademarks of their respective owners, and Quartz is an independent open source project. Vault Herald is not affiliated with or endorsed by any of them.