Send alerts from servers, scripts, apps, and webhooks without turning notification delivery into a chat system.
BeeBuzz is a focused Web Push delivery system for machine-to-person alerts. It supports two delivery modes:
- Server-trusted notifications for fast HTTP, webhook, and third-party service integrations.
- End-to-end encrypted notifications for senders you control, where the CLI encrypts locally and BeeBuzz stores only ciphertext.
BeeBuzz is built around paired personal devices, short-lived delivery state, and a small auditable stack: Go, SQLite, SvelteKit, Web Push, and Hive, its PWA receiver.
Hosted beta flow, shown on the real stack with Site and Hive side by side.
quickstart-demo.mp4
Sign in, create a pairing code, pair Hive, create a token, and deliver the first notification.
BeeBuzz.app is the hosted BeeBuzz SaaS.
Hosted access is currently a beta for approved users. During the beta you can:
- sign in after approval
- pair a device with Hive
- create API tokens scoped to topics
- send trusted-mode notifications over HTTP
- create webhook URLs for external services
- install the CLI and send end-to-end encrypted notifications
Hosted access is free during beta. After beta, the hosted service is expected to move to a single paid plan so the project can stay sustainable. Self-hosting remains free, open source, and available under the AGPL license.
Start here: BeeBuzz quickstart.
BeeBuzz has two delivery modes because not every sender can encrypt before calling the server.
|
|
|
In both modes, Web Push transport is encrypted in transit between BeeBuzz and the receiving browser. The difference is what the BeeBuzz server can read: trusted mode gives BeeBuzz plaintext notification content; E2E mode gives BeeBuzz only ciphertext plus routing and delivery metadata. In trusted mode, BeeBuzz validates the payload, handles short-lived attachment data when present, and dispatches the notification to paired devices.
Use trusted mode when the sender can trust BeeBuzz with the notification content:
curl https://push.beebuzz.app \
-H "Authorization: Bearer $TOKEN" \
-F title="Hello from BeeBuzz" \
-F body="Trusted mode test"Install the CLI from a GitHub release or with Go:
go install lucor.dev/beebuzz/cmd/beebuzz@latestThen connect the CLI and send an encrypted notification:
beebuzz connect
beebuzz send "Hello from BeeBuzz"In E2E mode, the CLI fetches paired device public keys, encrypts the payload
locally with age, and uploads ciphertext as
application/octet-stream. Hive fetches and decrypts the notification on the
receiving device.
- Server: Go + SQLite API for accounts, topics, API tokens, devices, attachments, and Web Push dispatch.
- Site: SvelteKit web app for sign-in, device pairing, API tokens, webhook setup, and administration.
- Hive: PWA receiver that handles Web Push, stores pairing state locally, and decrypts E2E notifications on-device.
- CLI: sender for end-to-end encrypted notifications from terminals, scripts, and automation.
- Quickstart
- Browser support
- Local development
- Webhooks
- E2E encryption model
- Threat model
- OpenAPI contract
- Development posts
BeeBuzz is currently optimized for two workflows:
- get approved for the hosted beta and send your first notification quickly
- run the stack locally with a fast development loop
Detailed production self-hosting docs will come later.
BeeBuzz is licensed under the GNU Affero General Public License v3.0 only. See LICENSE.
Third-party dependencies are tracked in the Go and frontend dependency manifests.