When it breaks at 3am, you find out

Send an alert by email or one API call and it reaches a person. Built after watching our own monitoring detect a real outage correctly and deliver it into a channel nobody was reading.

$12 a month at launch. Email and API alerts are live now and in early access, so nobody is being charged yet; SMS is in beta pending carrier registration.

Two ways in

Email in live

Point any tool that already sends email — cron, a monitor, a backup script — at your alerting address. Subject becomes the alert, body becomes the detail. Nothing to integrate.

API in live

One POST. Useful when the thing raising the alarm is your own code and you want the message shaped deliberately.

curl -X POST https://tunnelnet.io/v1/alerts \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"to":"+15551234567","body":"db replica is 40min behind"}'

The controls are not optional extras

They were built into the first version rather than added after an incident, because every one of them exists to stop a specific way this product can hurt you or us.

Verified senders onlyA destination is confirmed by a voice call before anything can be sent to it. You cannot point our sender at a stranger's phone.
A hard spend capA daily ceiling that refuses, not an alert that informs. A runaway loop costs you the cap and then stops.
Rate limitsPer sender and per destination. The failure this prevents is a flapping check paging someone two hundred times.
A length ceilingAn over-long alert is refused rather than truncated. A cut message reads as complete and is missing the half that says what broke.
STOP is permanentSomeone who opts out is never messaged again, and the attempt is recorded as a refusal instead of silently dropped.
Every refusal is written downBlocked, capped, rate-limited or opted out — each one is a row you can read. A refusal nobody can see is indistinguishable from a message that vanished.

Pricing

Alerting $12 / month
  • Unlimited email and API alerts
  • 150 SMS a month included, once SMS is live
  • 3¢ per SMS beyond that
  • Your own daily spend cap
  • Delivery and refusal recorded per alert

SMS is in beta, and here is the actual reason

US carriers require every business that sends application-to-person text messages to register a 10DLC campaign, and ours is still in review. Until it is approved, an SMS alert is accepted, queued and held rather than dropped — and the moment the campaign clears, held alerts send. We are not billing the SMS allowance for a service that cannot yet deliver, so the included 150 starts when SMS does.

Why we built it

On the 10th of September our control plane went down twice. The monitoring caught both, correctly, and sent fifty-nine messages — one of them at a priority that would actually interrupt someone. The alarm worked and was drowned by its own noise.

That is the problem this product is aimed at: not detecting the fault, which is the easy half, but making the one message that matters arrive somewhere a human is. Everything on this page follows from that — the caps, the length ceiling, the refusal log, the insistence on a verified destination.