Registration¶
Appliances sold through an authorised reseller register themselves once, so the unit can be identified for warranty and offered a curated update feed.
Appliances you build yourself from the image never contact anything. That is not a setting you have to find and switch off; it's the absence of a reseller batch identifier, and it is the default state of a self-built image.
What is sent¶
A reseller unit sends exactly four things, once on first boot and then roughly once a day:
| Field | What it is |
|---|---|
device_uuid | A random identifier the unit generates for itself |
batch_id | Which reseller batch the unit came from |
model | The hardware model string, e.g. Raspberry Pi 5 Model B |
appliance_version | Which appliance image is running |
No printer data. No print history. No user accounts. No credentials. Nothing about what you print, when, or with what.
The registrar records the connecting IP address as a salted hash, never in the clear, and uses it only to notice when one identity appears from many places at once.
It never blocks anything
If the registrar is unreachable, the attempt is logged and retried later. Registration never blocks boot, and the appliance is fully usable whether or not it ever succeeds.
Checking for yourself¶
An empty batch_id means the unit will never contact the registrar:
To turn a reseller unit into a non-registering one, blank that field. You will also lose the curated update feed and the warranty identity that goes with it.
systemctl status bambuddy-register.timer # is it scheduled?
journalctl -u bambuddy-register.service -b # what did it do?
The registration notice¶
Bambuddy on the appliance sits behind a small proxy. When a reseller unit has not registered, that proxy shows a notice on top-level page loads.
| State | What you see |
|---|---|
| Registered, or self-built | Nothing. The proxy is transparent. |
| Reseller unit, first 14 days | Nothing. There's a grace period. |
| Reseller unit, unregistered after 14 days | A notice you can dismiss |
| Unit reported as non-genuine | A notice you cannot dismiss |
Bambuddy is never locked
The notice only ever intercepts top-level page navigations in a browser. The API, websockets, and the camera stream always pass straight through, so Home Assistant, your slicer, and any integration keep working regardless.
Bambuddy is AGPL-3.0 software. The notice belongs to the appliance wrapper, not to Bambuddy, and it never restricts a right the AGPL grants you. You can pull the same container and run it anywhere, including on the appliance itself.
Re-flashing a reseller unit¶
A re-flash creates a new, unregistered unit
A reseller unit's identity — its device_uuid and its token — lives on the SD card. Flashing a generic image over it does not carry that identity across. The appliance comes back as an unregistered unit, its old registration is orphaned, and the notice will eventually appear.
If you need to re-flash a reseller appliance, contact whoever sold it to you first.
Backing up Bambuddy does not help here: the backup covers Bambuddy's data, not the appliance's identity.