Skip to content

Security

Dan Roberts edited this page Jan 16, 2026 · 1 revision

Security Notes

This project is intended for trusted home networks.

Threat model (assumed)

  • You control your LAN/Wi‑Fi.
  • Untrusted devices are not on the same layer-2 segment.
  • You are not exposing these endpoints to the public internet.

If those assumptions don’t hold, harden accordingly.

Key facts

  • No authentication on:
    • setup portal (SoftAP)
    • status page (HTTP :80)
  • Wi‑Fi credentials are stored in ESP32 NVS (Preferences namespace bjbridge).
  • Commands are sent over HTTP to BedJetWebSchedule (no TLS by default).
  • The bridge depends on a string field (status_summary) and does not perform strict JSON schema validation.

Recommended hardening

Network segmentation

  • Put IoT devices on a dedicated VLAN/SSID.
  • Allow only the minimum east-west traffic:
    • Bridge -> BedJetWebSchedule (HTTP)
    • Matter controller/hub -> Bridge (Matter)

Don’t expose ports

  • Do not port-forward the bridge or BedJetWebSchedule.
  • Don’t run them on a guest network that allows inbound from unknown clients.

Consider auth if you extend the UI

If you expand the web endpoints beyond diagnostics:

  • add basic auth (at minimum)
  • or put them behind a reverse proxy that enforces auth

Responsible use

This firmware controls a heater/cooler device. Validate all changes in a safe environment and avoid unattended operation until you’ve verified behavior across your controller ecosystem.

Clone this wiki locally