A narrow protocol adapter, not an open proxy

Prepare with GET.
Commit with POST.

Turn public, non-secret URL input into a reviewable intent. Nothing is dispatched until an explicit JSON POST commits that exact digest.

01PrepareGET validates only
02ReviewDigest exact intent
03CommitPOST dispatches once
The latch

Designed to fail closed.

GET

Preparation is inert

The prepare route performs no outbound fetch and never returns a clickable executable link or redirect.

POST

Commit is deliberate

Intent and confirmation travel only in a bounded JSON POST body. HEAD, OPTIONS, and prefetch never dispatch.

443

Destination is fixed

The hosted service allows only its same-project harmless demo target. Arbitrary origins fail closed.

No-JavaScript request builder

Prepare a demo intent

This form issues a GET that validates and returns an exact POST template. It does not dispatch. The body uses unpadded base64url UTF-8 JSON.

Public input only. URLs may appear in browser, CDN, or Vercel logs. Never include secrets, tokens, credentials, personal data, or private URLs.

Decoded body schema: exactly {"message":"1–280 chars","request_id":"same UUID"}.
Honest limits

No magic “exactly once.”

There is no generally safe, public, anonymous, arbitrary side-effecting GET relay. IntentLatch does not expose one.

Hosted v1 does not claim to be a human approval interface. Its JSON is inspectable protocol data, not proof of what a person saw or authorized.

Hosted v1's deterministic digest confirms bytes only; it does not authenticate or authorize the caller. Anyone who obtains the commit envelope can submit it during its validity window.

A real endpoint requires atomic first-prepare binding, an unguessable one-time capability returned only in that first response, expiry/replay state, and conflicting reuse rejection.