Somebody pinged you. Nobody knows who.
Whodunit is a small, self-hosted form. A visitor writes a message, your phone buzzes. No emails, accounts, cookies or IP addresses are collected.
CASE 0417
Whodunit Ping · ntfy
now
New anonymous message
Open source
Read every line on GitHub.
Self-hosted
Runs on your own server.
Zero telemetry
Nothing phones home.
No IP logging
Not stored, not forwarded.
Private by design, not by promise.
A visitor writes
Your form takes text and nothing else. No login, no email field, no cookie.
Your server forwards it
The message goes to your ntfy topic. The sender’s address is dropped before anything is written.
Your phone buzzes
You read the message. There is no sender to look up, so there is nothing to leak.
Self-host in minutes.
Run with Docker
docker run -d -p 3000:3000 \ -e NTFY_TOPIC=my-secret-ping-topic \ ghcr.io/beebombshell/whodunit:latest
Or deploy with Cloudflare Workers (npx wrangler deploy) in 60 seconds.
Embed <whodunit-form>
<script type="module" src="https://unpkg.com/@whodunit/widget"></script> <whodunit-form endpoint="https://ping.example.com/ping"></whodunit-form>
Works on Hugo, Astro, Next.js, Ghost, or vanilla HTML.
The usual suspects.
Point at any of them. You can’t, and neither can we.
01
02
03
04