Marketing and documentation site for White Noise, built with SvelteKit.
bun install
bun run devbun run test
bun run lint:write
bun run format
bun run checkThe /canary page fetches signed White Noise canary attestations from Nostr.
Current setup:
- custom immutable event kind:
303 - author pubkey:
75d737c3472471029c44876b330d2284288a42779b591a2ed4daa1c6c07efaf7 - relays:
wss://relay.primal.netwss://relay.damus.iowss://nos.lolwss://relay.ditto.pub
Recommended event shape for published canary events:
kind: 303content: the human-readable canary statement- tags:
titlet=canaryt=attestationr=https://www.whitenoise.chat/canary- one
relaystag containing all publication relays
Example tag set:
["title", "White Noise Canary — March 30, 2026"]
["t", "canary"]
["t", "attestation"]
["r", "https://www.whitenoise.chat/canary"]
["relays", "wss://relay.primal.net", "wss://relay.damus.io", "wss://nos.lol", "wss://relay.ditto.pub"]
Use the helper script in this repo:
NOSTR_SECRET_KEY=<white-noise-nsec> bun run canary:publishYou can optionally override the generated title:
NOSTR_SECRET_KEY=<white-noise-nsec> bun run canary:publish -- "White Noise Canary — March 2026"The script generates the standard canary text automatically using the current date, publishes a kind 303 event to all configured relays, adds a single relays tag listing those relays, and includes the canonical /canary page in the r tag.
To inspect the exact unsigned event JSON before signing or publishing:
./scripts/publish-canary.sh --dry-runYou can also provide a custom title:
./scripts/publish-canary.sh --dry-run "White Noise Canary — March 2026"This prints the event through jq, including:
kindcontent- the full
tagsarray