Structured handoff card
Never make anyone retype what you send them.
Paste anything — logins, DNS records, an invoice, a screenshot — or generate a card straight from a URL. Get one link where every value has its own copy button and nothing gets lost in the thread.
Three ways to make a card
Build it however the moment needs.
From clipboard
Drop in text, a .env file, JSON, a table or a screenshot — or type values manually. Edit the detected fields and share a tracked link.
Open the editor →From a template
Pick one of 20 real handoffs — DNS, invoices, Wi-Fi, cluster access — and tweak it.
Browse examples →From a link
For scripts and docs — most people paste. Put values in a URL parameter; the card renders instantly, with nothing stored.
Create via URL →Live example
Recipient card · integration setup
ws_7f21c9ab
Paste into the integration settings screen.
pk_live_8f3c9a2d4b71
Public key — safe to store in the client config.
npx handoff init --workspace ws_7f21c9ab
Run once in the project root.
This is what your recipient sees. Build yours →
How it works
Three steps, no account
Drop in whatever you already have
Text, a .env file, JSON, a table — even a screenshot. We read it and turn it into labelled fields grouped into sections. Fix anything that came out wrong.
Send one link
You get a private page for yourself and a share link for the other side. The link expires when you want it to and can be revoked at any moment.
See what they actually took
Each value is copied with one click and marked as done. Both of you see the same progress, so nobody has to ask “did you get it?”.
Power-user shortcut
Already have values in a ticket or runbook? Skip the editor.
Encode values in a URL and the card renders instantly — nothing stored. It's a quick preview, not the full product: a card saved from the editor adds sharing, per-field tracking, expiry and revocation.
/new?v=Ticket%3A%20REQ-2026-0417%0ACustomer%3A%20ACME-4471%0APlan%3A%20Pro%0ARenewal%20date%3A%202026-10-14%0AAdmin%20panel%3A%20https%3A%2F%2Fadmin.acme.io%2F4471&title=Support%20handoff%20%E2%80%94%20ACME-4471&purpose=Generated%20from%20the%20ticket%20system.- v — “Label: value” lines
- title — optional
- purpose — optional
- expires — 1–90 days, saved cards only
Agent-first
Machine-readable by design
Every card is a plain structure of typed fields, so an agent can read the values and report state without human clicking.
{ "card": "hc-8f3c", "items": [ { "label": "API KEY", "value": "pk_live_8f3c9a2d4b71", "state": "copied" }, { "label": "SETUP COMMAND", "value": "npx handoff init --workspace ws_7f21c9ab", "state": "pending" } ], "progress": "1/3" }
Stop retyping values out of chat threads.
Send your first card today. No account, no "can you send that again?".
Create a card