v0.2.0
tokenleader v0.2.0 — multi-device
One handle, many machines.
Added
- Multi-device support: a new
user_devicestable (one row per machine, sha256 of that machine's TOFU secret);/ingestauthenticates against any active device. - Link codes:
tokenleader link(or adminPOST /admin/link) mints a one-time, 10-minute, single-use code. A new machine installs with--link=CODEand redeems it on first ingest (X-Tokenleader-Link). - Device management:
tokenleader devices/tokenleader revoke,GET /devices,POST /devices/revoke, and a per-device fleet view. TOKENLEADER_COMPANY_ALIASES: operator-defined rewrites for self-reported company headers at ingest.- README wired to the published Railway deploy template.
Security
- Server-side handle charset validation (
/^[a-z0-9._-]{1,64}$/) invalidateEvent, closing a metacharacter-in-handle vector. - Durable revocation: a revoked device's secret is barred from auto-reclaim, so a kicked daemon can't resurrect.
- Rollback-drift reconciliation on auth-success and at boot.
Fixed
- The binary installs as
anara-leaderboardbut the CLI is invoked astokenleader(command not found). The installer now drops a guardedtokenleader->anara-leaderboardsymlink, and the daemon self-heals one on boot — so auto-updated machines get it without reinstalling; the uninstaller removes it.