Skip to content
/ beebuzz Public

lucor/beebuzz

BeeBuzz logo

Minimalist, privacy-first push notifications.

BeeBuzz sends notifications from your tools to your devices.

No app stores, no native apps: just the Hive PWA in your browser.

Use end-to-end encryption when possible, or trusted delivery when needed.

Your tools. Your notifications. Your keys.

Quickstart Demo

Hosted beta flow, showing setup in BeeBuzz and delivery in Hive side by side.

Quickstart demo

Sign in, create a pairing code, pair Hive, create a token, and deliver the first notification.

Built for tools that need to reach you

For developers, homelabbers, and small teams sending notifications from systems they control. Not chat, not a team inbox, not a general messaging platform.

  • Servers & homelabs — notifications from servers, routers, backups, and cron jobs. Use the CLI or Go SDK.
  • Scripts & CI/CD — notifications from scripts, deployments, and pipelines. Use webhooks, cURL, or the HTTP API.
  • Home Assistant — connect automations and alerts to BeeBuzz with a dedicated integration.

How delivery works

Two delivery modes, chosen by one question: can the sender encrypt before it talks to BeeBuzz?

End-to-end encrypted BeeBuzz delivery flow Server-trusted BeeBuzz delivery flow

End-to-end encrypted delivery (recommended). The sender encrypts locally. BeeBuzz stores ciphertext only and never sees the content. BeeBuzz can't read the message.

Trusted delivery (when needed). The sender sends plaintext. BeeBuzz reads to route, then delivers to your devices. BeeBuzz can read the message to prepare delivery.

In both modes, Web Push transport is encrypted in transit between BeeBuzz and the receiving browser.

BeeBuzz.app

BeeBuzz.app is the hosted BeeBuzz SaaS.

Hosted access is currently a beta for approved users and 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.

Try It

Use trusted mode when the sender cannot encrypt before sending:

curl https://push.beebuzz.app \
  -H "Authorization: Bearer $TOKEN" \
  -F title="Hello from BeeBuzz" \
  -F body="Trusted mode test"

Install the CLI from the latest release or with Go:

go install go.beebuzz.app/cli@latest

Then 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 sends ciphertext as application/octet-stream. Hive fetches and decrypts the notification on the receiving device.

What's in this repo

  • 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.

Companion projects

  • beebuzz-go — public Go SDK for the BeeBuzz HTTP API.
  • clibeebuzz CLI for sending end-to-end encrypted notifications from terminals, scripts, and automation.
  • home-assistant — HACS integration for Home Assistant.

Documentation

Project Status

BeeBuzz is currently optimized for two workflows:

  1. get approved for the hosted beta and send your first notification quickly
  2. run the stack locally with a fast development loop

Detailed production self-hosting docs will come later.

License

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.