Proxima Gateway
Admin

Managing licenses

View, regenerate, revoke, and reinstate customer licenses

The license key is the bearer token a customer's proxy sends on each heartbeat. As an admin you can inspect it, regenerate it, or revoke it to gate service.

Where to find it

Admin → Users → Edit on a customer. The License card sits below the account form when the user is a Customer with an owned server.

You'll see:

FieldNotes
License keyMasked (pk_•••••…•Ab3f); click the eye icon to reveal
Status badgeACTIVE, GRACE, or EXPIRED
Installed versionReported by the most recent heartbeat
Last heartbeatTimestamp of last successful heartbeat
Grace expiresOnly shown when status is GRACE

Reveal + copy

Click the eye to unmask, then the clipboard icon to copy. Use this only when supporting the customer (e.g. validating their config.json). Don't share the key over insecure channels — anyone with the plaintext can impersonate the proxy on your dashboard.

Regenerate

Regenerate issues a fresh 256-bit key. Effects:

  • The new key is written to the DB immediately
  • The old key starts returning 401 on the next heartbeat
  • The customer's proxy will SIGTERM itself, restart, fail again — until they re-run Install from their dashboard
  • Audit log entry: server.license.regenerate

When to use:

  • A leaked key (committed to git, shared in a screenshot, etc.)
  • Routine rotation policy
  • A customer's box was compromised and you want to invalidate the old install

Revoke (start grace)

Revoke flips the license status to GRACE with a 5-day grace window. Effects:

  • The proxy keeps running normally during the grace window
  • The customer sees a License in grace period banner with the expiration date
  • After grace expires, next heartbeat returns EXPIRED and the proxy shuts itself down
  • Audit log entry: server.license.revoke with grace days metadata

When to use:

  • Non-payment with a deadline
  • Account winding down at the end of a contract
  • Suspending service while a billing question is resolved

The grace window is currently fixed at 5 days. Override per-revoke by hand-editing graceExpiresAt in the DB if you need a different duration.

Reinstate

While in GRACE or EXPIRED, click Reinstate to flip back to ACTIVE. Effects:

  • licenseStatus = ACTIVE, graceExpiresAt = NULL
  • Next heartbeat (within 60 s) returns ACTIVE
  • An EXPIRED proxy in its restart loop will pick this up and stop shutting itself down — service resumes within a minute
  • Audit log entry: server.license.reinstate

Audit trail

Every license action writes a row to the audit log with:

  • action — one of server.license.regenerate / revoke / reinstate
  • target — server ID
  • userId / username — admin who performed the action
  • metadata — grace days for revokes, etc.
  • ip — admin's request IP

View at Admin → Audit Log.