Backups Validation - Progress and Firmware Fingerprint
Date: 2026-07-14
Status: approved
Scope
This validation closes the Backups Stage 1 UX revision and the Backups Stage 2 package/fingerprint base that were implemented before Restore or Import. It covers read-only operations only.
Not included:
- Restore backup package
- Import firmware from connected ESP32
- OTA
- Provisioning
- Fleet Management
- Edge OS
Device
- Chip: ESP32-D0WD revision 1
- MAC: "2c:bc:bb:75:f2:74"
- Flash ID: "16405e"
- Flash size: 4 MB / "4,194,304" bytes
- Connection: Web Serial over HTTPS
- Baudrate: "115200"
Complete Flash Read
Result: passed.
- Operation: local complete device backup download
- Size: "4,194,304" bytes
- SHA-256: "a9ea663ba7afc32f90e73bf25d4e535aeeb182e9285ec5e7c974e4cc67d58600"
- UI global progress: monotonic from start to completion
- UI partial progress: reset by block with block labels
- Final state: "Completed"
The SHA-256 differs from the existing server backup SHA-256 "ca965603a5c02668e63721b34c05fba0dc2494e3050edcb36b1c621bcafe785a". This is expected when mutable NVS/device state changes between captures. The firmware fingerprint exists to compare reusable firmware regions independently from device-specific state.
Partition Read
Result: passed.
- Partition: "app0"
- Offset: "0x10000"
- Size: "1,310,720" bytes / "0x140000"
- SHA-256: "d79d4b3db73b490429122d64e076dedecf3c3a198497374ce3a8fa4b575fd948"
- Matches persisted backup region SHA-256: yes
Firmware Fingerprint
Result: passed.
Current persisted backup values:
- Device Backup SHA-256: "ca965603a5c02668e63721b34c05fba0dc2494e3050edcb36b1c621bcafe785a"
- Firmware Fingerprint SHA-256: "4ee0ccd14c1d85ed814cfe8067e6834bec7081a1bf5005768a087cd2e8e6283f"
- Firmware Fingerprint size: "4,096,000" bytes
- Repository matches: "1"
Included in the firmware fingerprint:
- bootloader
- partition table
- app partitions
- reusable filesystem partitions
Excluded by default:
- NVS
- OTA data
- coredump
- device-state regions
- diagnostic regions
- sensitive regions
Metadata JSON
Result: passed.
Local single-file capture metadata now exposes top-level:
- "sha256"
- "sizeBytes"
The existing "files[]" array remains present for detailed file-level metadata.
Device Integrity
Result: passed.
Manual physical validation confirmed:
- ESP32 resets correctly.
- Firmware boots normally.
- Complete flash read did not modify flash contents.
- Partition read/download did not modify flash contents.
Decision
Backups Stage 1 read-only operations and Backups Stage 2 package/fingerprint base remain approved. The project may proceed to planning Compare with repository and Import firmware from connected ESP32. Restore backup package is still explicitly out of scope.