Architecture · Verified Human Presence

The verification substrate.

VHP isn’t a surface you interact with. It’s the layer beneath iPAS: the set of rules a backend enforces on every receipt before it commits. iPAS is what the user does. VHP is what the receipt has to satisfy.

What the substrate enforces

Before a backend commits an action, the receipt must pass all of these. Any failure refuses the commit.

  1. 01

    INATE-signed

    The receipt must carry a valid Ed25519 signature from INATE. Anything else is rejected.

  2. 02

    In-window

    The receipt timing must fall inside the upstream verification window. Stale receipts are rejected.

  3. 03

    Payload-matched

    The receipt’s payload hash must equal the action being committed. Mismatches are rejected.

  4. 04

    Single-use

    A receipt authorizes exactly one commit. A reused receipt is rejected.

  5. 05

    Present

    A missing receipt is rejected. No receipt, no commit.

Where it sits

INATE Powered™  →  iPAS (the Hearts sequence)  →  signed receipt  →  VHP checks  →  commit

The signature is verified against INATE’s public key at /api/v1/public-key, so a backend can enforce the whole substrate offline, with no round-trip. The verifiable receipt format and the enforcing calls are in the API docs.

No valid receipt, no commit.