Dashboard
The licensing picture right now - live queries against the ledger, nothing cached, nothing padded.
Expiring within 30 days
Pending requests
Recent audit activity
Licenses
Every key issued through this app, plus backfilled records. Keys expiring within 30 days are flagged. Search covers every field including deployment facts (device serial, hostname, installed Go.OS version).
Generate a license
Mints a signed v2 key with the configured signing key and records it in the ledger in the same step. No mint without a record.
Requests
Tickets
Support requests delivered by Go1 appliances to this
server's intake (/api/intake/support). Each ticket
arrived with the appliance's license key id and is tied to that
ledger record; unknown identities are refused and audited.
Intake listens on this server's bind address - loopback by
default, so appliances reach it only where the operator
deliberately publishes it.
Verify a key
Validates any pasted key with the same offline verifier the appliance uses, and says honestly whether it is in this ledger.
Backfill import
Record a key that was minted before this app existed. The claims are decoded from the key itself; the record is marked backfilled.
Expiration notices
One notice per license per window: expiring at T-30 (the appliance's own expiring_soon window) and expired (the appliance honors a 30-day grace after expiry). Swept on every start and daily via launchd; acknowledgments are audited.
Audit log
Hash-chained and append-only: every mint, renewal, backfill, verify lookup, edit, acknowledgment, export and config change, with actor and before/after. Tampering with any row breaks the chain at that sequence.
Settings
Admin only: policies, accounts, email. Every change here is audited with before/after. The signing key itself stays in operator custody; this app only reads the configured path.
Request policies
What agents may request. Decisions cite these by name, allow and refuse alike.
Accounts
Everyone signs in with the company Microsoft account; there are no passwords here to manage. Pre-provision a teammate by company email to set their role before their first sign-in - otherwise they arrive as an agent.
Active sessions
Who is signed in right now. Force sign-out ends a session server-side; the next request asks that person to sign in again. Session tokens never leave the server.