Skip to Content
DocumentationDevice Registration

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 CodeHardware Class
DELDell
LENLenovo
HPEHP/HPE
RPIRaspberry Pi
VRTVirtual Machine
GENGeneric/Other

Sequence: zero-padded 5-digit counter per type.

Examples:

  • FLOPPY-DEL-00001 — First Dell
  • FLOPPY-RPI-00003 — Third Raspberry Pi
  • FLOPPY-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:

  1. Validate all required fields
  2. Generate next device ID for hardware type
  3. Set status to received
  4. Create registry/devices/{deviceId}.json
  5. 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:

  1. Validate device ID exists
  2. Read photo file
  3. Strip EXIF metadata (privacy + hash stability)
  4. Compute SHA256 of stripped image
  5. Copy to registry/evidence/{hash}.jpg
  6. Update device record with evidence entry
  7. Print hash confirmation

floppy device list

floppy device list floppy device list --role dev floppy device list --status provisioned

floppy device verify

Verify evidence integrity.

floppy device verify FLOPPY-DEL-00001

Recomputes 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 verified

Lifecycle States

received ──► verified ──► provisioning ──► provisioned ──► active retired
StateMeaning
receivedHardware intake complete, not yet inspected
verifiedPhysical inspection passed, ready to provision
provisioningNixOS flash in progress
provisionedOS installed, not yet deployed
activeIn service
retiredDecommissioned

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:

  1. Privacy protection — no location data leaks
  2. 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