Exit Paths & Broker Portability

Your devices, your data — always.

Short version: jettyd firmware is MIT-licensed and speaks standard MQTT 3.1.1 / 5.0. Your devices keep working when pointed at any broker — no firmware changes required. You can export all your data at any time via the dashboard or API.

Exporting your data

From the dashboard

Open the Settings → Account tab and click Download Export (JSON) or Download Export (CSV).

Via the API

The export endpoint requires a full-access token (not a resource-scoped OAuth token). Resource-scoped tokens are intentionally rejected to prevent partial-access tokens from exfiltrating the entire tenant's dataset.

# JSON export (default)
curl -H "Authorization: Bearer <your-api-key>" \
  https://api.jettyd.com/v1/export

# CSV/ZIP export
curl -H "Authorization: Bearer <your-api-key>" \
  "https://api.jettyd.com/v1/export?format=csv" \
  --output jettyd-export.zip

Optional query parameters:

Exports are unthrottled and available for the full lifetime of your account — including until the last day of any service wind-down.

Broker portability

jettyd firmware speaks standard MQTT 3.1.1 and MQTT 5.0. The broker address is a runtime configuration value stored in device NVS — it is not compiled into the firmware binary.

To point your devices at a different broker after leaving jettyd:

Option 1 — OTA config update (recommended)

While your devices are still connected to jettyd, send a configuration command that updates the MQTT broker URL in NVS. The device will reconnect to the new broker on next boot. No reflash required.

Option 2 — USB reflash

Update device.yaml in your firmware project to point at the new broker, rebuild, and flash via USB (idf.py flash). The MIT-licensed firmware source is at github.com/jettydiot/jettyd-firmware.

Option 3 — Self-host jettyd

Run the full jettyd stack yourself using the Docker Compose configuration in the open-source monorepo. The stack includes Postgres + TimescaleDB, EMQX (MQTT broker), the platform API, and the dashboard. A production-ready self-host guide is on the 2026 roadmap.

Any standard MQTT broker works: Mosquitto, EMQX, HiveMQ, AWS IoT Core, Azure IoT Hub, or a self-hosted instance. No proprietary broker extensions are required.

Shutdown & migration commitment

If jettyd ever shuts down or is acquired, we commit to:

These commitments are also documented on the Trust & Policies page.

Self-hosting

The Docker Compose stack in the monorepo lets you run the full jettyd platform locally or on any VPS. It mirrors the production topology and uses the same open-source migrations.

git clone https://github.com/jettydiot/jettyd
cd jettyd/infra/compose
cp .env.example .env
# Fill in .env with your secrets
docker compose up -d

A production-ready self-host guide with TLS, backups, and monitoring is on the roadmap for 2026. Until then, the Compose stack and open-source migrations give you a working platform you can run yourself.