Docs · FAQ

FAQ.

The questions developers ask in their first hour. For commercial questions, pricing, SLAs, sovereign deployments, apply to be a design partner.

Docs vs Spec. Docs explain how to use the SDKs to ship Handshake into your stack. The Spec is the protocol itself, the wire format, the algorithms, what every implementer must agree on. You read Docs once. You cite the Spec.
What's the install path?
The public verifier ships on npm as @handshake-ai/handshake, Apache-2.0, browser via WASM and Node via NAPI-RS. Install it like any other package and verify your first receipt from a laptop in five minutes, no infrastructure to stand up first. Emit-side SDKs (Python, Go, Rust, JVM, .NET) are in private beta with design partners, see /partners for access. The full Quickstart is at /docs.
Can I self-host the Registry?
Yes. The Registry image is OSS at the OSS tier (single-node, MIT) and ships as a clustered SKU in Enterprise Sovereign with source escrow, FedRAMP, and HSM-backed identity. The hosted Registry is the convenient default; the protocol does not require it, receipts verify offline against the issuing service’s public key.
How do receipts verify offline?
A receipt is a JCS-canonicalized JSON object with an Ed25519 signature from the service’s key. Anyone holding the service’s DID document, published at a well-known URL or cached from the Registry, can recompute the canonical bytes and verify the signature with no network call. That’s the whole point: tamper-evidence travels with the artifact.
What's the difference between Spec and Docs?
The Spec is the protocol, wire format, algorithms, MUST/SHOULD/MAY language, conformance levels. It’s what every implementer must agree on. Docs are about using the reference SDKs to ship Handshake into your stack. You read Docs once. You cite the Spec.
Does Handshake replace MCP, A2A, or OAuth 2.1?
No. Handshake wraps them. MCP and A2A explicitly defer the audit layer to “a future layer”, Handshake is that layer. The HandshakeRequest is an MCP request-level extension, an A2A negotiation envelope, and an AP2 attestation; OAuth 2.1 still does the user-facing authorization grant. We compose, we don’t replace.
Where do I store the deployer private key?
Treat it like any signing key: KMS, HSM, or a secrets manager scoped to your CI / control plane, never on agent process memory and never in the repo. The Implementation Guide (available to design partners under NDA) covers production patterns including key rotation, multi-region replication, and break-glass.
Which languages are supported?
Today: TypeScript / Node + Browser for verification, public on npm as @handshake-ai/handshake. Python, Go, and Rust (emit + verify) are in private beta with design partners. JVM (Java / Kotlin) and .NET are on the roadmap. See the SDK reference for the per-language status, and tell us what you ship if your binding isn’t there yet.
Is the protocol stable?
v0.x is a working draft. We freeze v1.0 ahead of IETF submission in 2027. Production deployments on v0.2.x should subscribe to spec@handshake.ai for deprecation and migration notes; the on-wire format and algorithms are conservative and don’t change between patch releases.