From c614768704330fd06f36e3d456c89a638e6c673b Mon Sep 17 00:00:00 2001 From: jhodgkin Date: Sun, 12 Jul 2026 23:41:24 -0600 Subject: [PATCH] docs: update CLAUDE.md for Fingerbank integration Co-Authored-By: Claude Sonnet 5 --- CLAUDE.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 24b5ab1..bf9fce4 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -56,13 +56,18 @@ One login instead of logging into Proxmox, Zabbix, OMV, and every service separa (real ARP entries live in the host's network namespace, not Docker's bridge network). API reads the resulting JSON each poll cycle. Sortable by every column in the UI (click a header, click again to reverse). Full reasoning in `docs/device-discovery.md`. -- **Identifying unknown devices** (done): four layers — MAC OUI vendor lookup (`mac-oui-lookup`, +- **Identifying unknown devices** (done): five layers — MAC OUI vendor lookup (`mac-oui-lookup`, computed on read), mDNS hostname (added to the discovery sweep), manual labels (new `device_labels` - table keyed by MAC, inline-editable in the dashboard, takes priority), and an admin-triggered + table keyed by MAC, inline-editable in the dashboard, takes priority), an admin-triggered **on-demand deep check** per unknown device (mDNS + targeted SSDP/UPnP + curated port scan + HTTP title grab, runs on the CT122 host via a *parameterized* SSH forced-command reading - `$SSH_ORIGINAL_COMMAND`, strictly validated). Full writeup in `docs/device-discovery.md`. Already - resolved ~59/71 devices including "Ring LLC" and multiple "Amazon Technologies Inc." entries. + `$SSH_ORIGINAL_COMMAND`, strictly validated), and optional **Fingerbank** enrichment folded into that + same button (MAC + SSDP SERVER header, gated behind `FINGERBANK_API_KEY`, runs directly from the API + container — no host-level access needed, unlike the other deep-check steps). Full writeup in + `docs/device-discovery.md`. Already resolved ~59/71 devices including "Ring LLC" and multiple "Amazon + Technologies Inc." entries. Fingerbank's honest ceiling without DHCP fingerprint data (which we don't + have — not the DHCP server) is manufacturer-level confidence, same as free OUI — documented plainly, + not oversold; UI shows the confidence band so a low-confidence guess isn't mistaken for a confirmed ID. Two real bugs hit while building this: `mac-oui-lookup`'s named export crashed the whole process at startup under Node ESM/CJS interop (works fine under `require()`, fails under `import { x } from`, confirmed by running the built output with `node`, not just `tsc`); and SQLite's `ALTER TABLE ADD