Go.AI
License Manager

Internal licensing back office. Sign in with your company account (go.ai) to continue. Every pane stays locked until you do.

No one has signed in yet: the first company sign-in from this machine becomes the licensing admin.

Waiting for the Microsoft sign-in in your browser…
Single-tenant Microsoft Entra sign-in · no password ever touches this app
Go.AI License Manager
  1. Dashboard
  2. Licenses
  3. Generate
  4. Requests
  5. Tickets
  6. Verify
  7. Backfill import
  8. Notices
  9. Audit log
  10. Settings
Vendor back office for Go.OS license keys.
Never ships on the appliance.

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).

Export CSV

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.

Download support bundle (JSON)

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.

Export filtered CSV

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.

Email (SMTP, optional)

Decide request

Revoke license

The appliance validates keys offline by design, so it cannot see this ledger state. Revoking records the decision here and makes Verify report it; collect or replace the key with the customer directly.

Renew license