Device Registration
Hardware intake, identity assignment, and evidence capture.
Overview
When a new device arrives, it must be registered into the Floppy.WTF system before provisioning. Registration creates a verifiable identity record backed by content-addressed evidence (photos).
Device ID Format
Pattern: FLOPPY-{TYPE}-{SEQ}
| Type Code | Hardware Class |
|---|---|
| DEL | Dell |
| LEN | Lenovo |
| HPE | HP/HPE |
| RPI | Raspberry Pi |
| VRT | Virtual Machine |
| GEN | Generic/Other |
Sequence: zero-padded 5-digit counter per type.
Examples:
FLOPPY-DEL-00001— First DellFLOPPY-RPI-00003— Third Raspberry PiFLOPPY-VRT-00001— First VM
Device Identity Schema
{
"deviceId": "FLOPPY-DEL-00001",
"model": "Dell Inspiron 15 3535",
"serial": "ABC1234XYZ",
"hostname": "dell-dev-01",
"hardware": {
"cpu": "Intel i5-8250U",
"ramGB": 8,
"disk": { "type": "SSD", "sizeGB": 256 },
"gpu": "Intel UHD 620",
"macAddress": "aa:bb:cc:dd:ee:ff"
},
"role": "dev",
"status": "received",
"evidence": [],
"registeredAt": "2025-01-15T10:30:00Z"
}CLI Commands
floppy device register
Register a new device.
floppy device register \
--model "Dell Inspiron 15 3535" \
--serial "ABC1234XYZ" \
--role dev \
--cpu "Intel i5-8250U" \
--ram 8 \
--disk "SSD:256" \
--notes "Received from surplus, good condition"Behavior:
- Validate all required fields
- Generate next device ID for hardware type
- Set status to
received - Create
registry/devices/{deviceId}.json - Print device ID and summary
floppy device attach-photo
Attach photographic evidence to a device.
floppy device attach-photo FLOPPY-DEL-00001 ./front.jpg --label "chassis-front"Behavior:
- Validate device ID exists
- Read photo file
- Strip EXIF metadata (privacy + hash stability)
- Compute SHA256 of stripped image
- Copy to
registry/evidence/{hash}.jpg - Update device record with evidence entry
- Print hash confirmation
floppy device list
floppy device list
floppy device list --role dev
floppy device list --status provisionedfloppy device verify
Verify evidence integrity.
floppy device verify FLOPPY-DEL-00001Recomputes SHA256 for each evidence artifact and compares against the recorded hash.
floppy device update-status
Transition device lifecycle state.
floppy device update-status FLOPPY-DEL-00001 --status verifiedLifecycle States
received ──► verified ──► provisioning ──► provisioned ──► active
│
▼
retired| State | Meaning |
|---|---|
received | Hardware intake complete, not yet inspected |
verified | Physical inspection passed, ready to provision |
provisioning | NixOS flash in progress |
provisioned | OS installed, not yet deployed |
active | In service |
retired | Decommissioned |
Evidence Handling
EXIF Stripping
Before hashing, all EXIF/metadata is stripped from photos:
- GPS coordinates removed
- Camera info removed
- Timestamps removed
- Orientation preserved (applied to pixel data)
This ensures:
- Privacy protection — no location data leaks
- Hash stability — same photo from different transfers produces same hash
Content-Addressing
Evidence files stored by hash, not filename:
registry/evidence/
├── a1b2c3d4...jpg # SHA256 of normalized image
├── e5f6g7h8...jpg
└── ...Benefits:
- Deduplication — same photo = same hash = stored once
- Tamper detection — content change = hash change
- Filename-independent — renaming doesn’t affect integrity
Last updated on