master-zapier-plan-draft/packages/overview/01-system.md
George Lambert a32c91475c
Some checks are pending
offline / test (push) Waiting to run
Add overview repo and verae-nats-process expansion template
High-level system map with diagrams, TOC, and a docs index. Template
worker shows how to add a new verae.* address for search, storage, or
unplanned functions without teaching Zapier NATS.
2026-09-11 13:50:37 -04:00

1.7 KiB

1. System

Verae Time proves a SHA-256 existed at a given time. Zapier lets customers register and look up hashes from the tools they already use. Billing and API keys live on zappier-edge. Timestamping, wait, webhooks, and archive fan-out live behind verae-middleware. Durable messaging is the central Verae NATS.IO 3-server JetStream cluster.

Hard rule

Zapier never connects to NATS, tree nodes, WORM archives, or api.veraetime.net. Those hops are middleware and workers only. If a trace ever shows a Zapier hop on a verae.* subject, do not push the app.

Planes

Plane What Network
Zapier cloud verae-zapier-app, verae-activate HTTPS to zappier-edge
Commercial edge zappier-edge portal, admin, x-api-key, Stripe meter Public HTTPS
Middleware HTTP /zapier/v1/* job id + wait Public HTTPS from edge only
NATS cluster JetStream subjects under verae.* Private; loopback or SSH tunnel
Workers poller, webhook-deliver, aggregator NATS + HTTPS to chain or Zapier hooks
Archives WORM + tree nodes NATS broadcast query; bloom miss = silence
Chain Verae timestamping HTTPS api.veraetime.net or MOCK
Control verae-fleet Operator loopback :3850; SSH to extra machines

Request in one sentence

A Zap step POSTs to zappier-edge; edge meters and forwards to middleware; middleware splits hash vs files, writes the hash (or Merkle root) to the chain, publishes verae.zapier.jobs.watch, and either returns jobId or waits on verae.zapier.jobs.events. Attached metadata and bulk-summary leaves are found later by broadcasting verae.archive.query to every archive/tree node.

See diagrams.