Prufy notes
A visual guide · about 235 minutes

How Prufy proves
you own a domain

Anyone can type apple.com into a form. Prufy gives you a unique code to publish in your domain's DNS, checks from several places that it's really there, keeps checking, and tells you when something changes. Nobody signs up. These notes show how, with diagrams you can step through and playgrounds that run the actual code from packages/core.

Start with the big pictureJump to the playground
Latest change · Nov 9, 2026
The headings are Inter, and the shine plays every time
The landing page's two big headings moved from Instrument Serif to Inter, medium and tracked tight like react.email's. The headline's shine now plays on every load.
Step 1
Gathers evidence
packages/dns
Asks every server what it sees, and draws no conclusions.
Step 2
Judges it
packages/core
Pure functions. Evidence in, verdict out, no network needed.
Step 3
Remembers
packages/db
Stores the result so that no illegal state can ever be saved.

If you only remember one thing: dns gathers, core judges, db remembers.

Short on time?

These four chapters carry most of the understanding.

Orientation

DNS

The domain

Types and data

The app

The interface

Make it stick

As we build

Where things stand

Core logic, DNS, database, API and UIBuilt, 864 tests
Renamed from Relay to PrufyDone, with a migration
Sessions without sign-upBuilt, one device
Alerts by email and pushBuilt, not yet received for real
Setup links for a helper or an agentBuilt
Landing page, claim page, setup pageBuilt
The globeWebGPU, with a still fallback
Installable, with pushBuilt, not tried on a phone
This workPR #13, open, not merged
GitHub ActionsPassed on PR #13
Deploys from GitHubOn merge, with previews
Running on real NodeDone, on Vercel
A real domain reaching verifiedDone before the rename
Concurrency on real PostgresTested with real locks
Signing in on a second deviceNot built
Rate limits in a shared storeNot built
One-click apply at a providerNeeds onboarding
The CLI in the heroMarked Soon