How is this different from Healthchecks or Cronitor?
Those tools are excellent dead-man's switches for cron. Nightshift is built for the same silence problem, plus the failure mode that showed up with agents: a loop that keeps succeeding and quietly spends tokens, runs, or dollars. Each ping can carry tokens and cost, and Pro plans alert when that spend leaves its baseline or crosses a hard limit.
What counts as a missed ping?
You set an interval or a 5-field cron expression, plus a grace period. After a successful ping, the next deadline is the following slot plus grace. If that moment passes with no success ping, the monitor is marked down and we alert. A later success ping marks it recovered and alerts again.
How fast can a silence be detected?
The checker is designed to run every minute. Detection is the grace period plus up to one minute. On Vercel, a per-minute cron requires a plan that allows minute schedules. The Hobby plan only runs cron once a day, which is too coarse — use Vercel Pro or point any external minutely scheduler at /api/cron/check.
Do you store my Slack webhook or Telegram bot token in plain text?
No. Webhook URLs and bot tokens are encrypted with AES-256-GCM before they are written to Postgres. The encryption key lives in ENCRYPTION_KEY, not in the database. Ping URLs are stored as a hash for lookup, with the recoverable token encrypted beside it.
What happens if I send too many pings?
Each monitor accepts 60 pings a minute and each IP address accepts 240, by default. Excess calls get HTTP 429. That is enough for a healthy agent loop and tight enough that a leaked URL cannot fill the database unchecked.