deadman.switch

How it works

Everything about deadman.switch on one page.

What is a dead man's switch?

Something that acts when you stop. Trains have one: the driver holds a pedal, and if they let go, the train stops itself. Here, you check in now and then. If you stop, because something happened to you, we send what you left to the people you chose.

The passphrase

You seal your bundle with a passphrase, in your browser or the CLI. It never reaches us. Give it to the people who should open it: in your will, on paper in the safe, or in person. Leave yourself a hint they will understand ("the name of our first dog, then the year we met"); the hint is the one thing we show them in the clear.

If they lose the passphrase, nobody can open the bundle, us included. That is the point.

Check-ins and reminders

What they get

Each person gets an email with their own link. The page shows your hint and asks for the passphrase; the bundle opens in their browser. Your note and any files you added (photos of a seed card, a PDF, a key file) are theirs to read and download. You get an email saying it was sent.

What to put in it

API, CLI and MCP

Make an API key on your page. Then:

export DEADMAN_KEY=ds_…
bunx @profullstack/deadman status                 # your switches and when each is due
bunx @profullstack/deadman checkin                # check in on all of them
bunx @profullstack/deadman seal <switch> note.md  # seal a file locally and upload it
bunx @profullstack/deadman open <release link>    # open what someone left you
bunx @profullstack/deadman mcp                    # MCP server on stdio
curl -X POST https://deadman.switch.pit.world/api/v1/checkin -H "authorization: Bearer $DEADMAN_KEY"
curl https://deadman.switch.pit.world/api/v1/switches -H "authorization: Bearer $DEADMAN_KEY"

Endpoints: GET /api/v1/me, GET|POST /api/v1/switches, GET|PATCH|DELETE /api/v1/switches/:id, PUT /api/v1/switches/:id/bundle, POST /api/v1/switches/:id/(pause|resume|recipients), DELETE /api/v1/switches/:id/recipients/:rid, POST /api/v1/checkin, GET /api/v1/releases/:token.

A warning: an agent or cron job that checks in for you means the switch never fires. Check in yourself, or make sure whatever checks in for you would stop if you did.

Who runs this

Profullstack, Inc. Source: github.com/moshcoder/deadman.switch. Questions: switch@pit.world.