Sign means a human did this.
We make that provable.
A WebAuthn-backed signature, a server-signed proof, and a public URL anyone can verify - wired into your contracts, wires, and admin flows in three lines of JavaScript.
Sign this action.
Touch ID / Windows Hello when available, simulator otherwise · no sign-up required
Three lines of code.
Drop the SDK, declare the action, await the proof. Works inside DocuSign, your wire-approval modal, your Slack admin tool, your CI gate - anywhere a human decision needs to be provable later.
Read the docs →// Drop in once <script src="sdk/manav-sdk.js"></script> // In your wire-approval flow const proof = await Manav.sign({ apiKey: "mnav_live_...", actionType: "wire_transfer", actionTitle: "Approve $42,000 wire to GreenLeaf Designs", payload: { amountUsd: 42000, beneficiary: "GreenLeaf" } }); // proof.url is a public verifiable URL - ship it with the artifact // proof.status === "verified" → release the wire
A signature you can verify without us.
Real WebAuthn, no shortcuts.
ES256 platform passkey on the device. CBOR + COSE→PEM parsed server-side. Origin and rpIdHash verified on every assertion. No SMS, no email, no shared secret.
A server proof that travels.
Canonical JSON of the action + signer + timestamp, signed with HMAC-SHA256 by Manav. Anyone can recompute the signature with one openssl command. The proof outlives the session.
A URL you can paste anywhere.
Every signature gets a manav.id/proof/... URL - no login, no tenant - that auditors, counter-parties, and your own legal team can hit on their phone in court.
Stop wondering whether a human approved that.
Wire Manav into one high-risk flow this week. The proof URL on every artifact is the deliverable.