Proxima Gateway
Getting Started

License status

What Active, Grace, and Expired mean for you

Your Proxima Gateway license is a bearer token the proxy sends to the dashboard once a minute as part of the heartbeat. The dashboard validates it and replies with one of three states. The state controls whether your proxy keeps serving traffic.

The three states

✅ Active

Everything works normally. This is the default state for a new license.

⚠️ Grace

Your admin has revoked the license, but the proxy is still running. You have until graceExpiresAt (5 days by default) before service stops.

What you'll see:

  • A yellow banner at the top of /app: "License in grace period. Service will stop on <date>. Contact your administrator."
  • Proxy traffic flows normally — clients see no difference
  • The heartbeat keeps reporting Grace until either it's reinstated or the grace window expires

What to do: contact your admin. They can click Reinstate to flip you back to Active any time before the deadline.

⛔ Expired

Past the grace window. The proxy:

  • Receives EXPIRED from the next heartbeat
  • Sends itself SIGTERM
  • systemd restarts it (RestartSec=5)
  • The new process heartbeats again, gets EXPIRED again, terminates again — a loop until the license is reinstated or the unit is disabled

Effect on traffic: the proxy is down. Inbound requests get connection refused.

What you'll see in the dashboard:

  • A red banner: "License expired. Contact your administrator to restore service."
  • Manage / Firewall / Logs are still browsable, but config pushes to the proxy will silently fail (the proxy isn't there to receive them)

What to do: contact your admin. They can click Reinstate to flip you back to Active. The proxy resumes on its next heartbeat (≤ 60 s).

License regeneration

If your license key is ever exposed (e.g. someone screen-shared /etc/proxima-gateway/config.json), your admin can Regenerate the key. Effects:

  • The old key is invalid immediately
  • The proxy's next heartbeat fails with 401
  • The proxy SIGTERMs itself, systemd restarts it, fails again — same loop as Expired
  • You must re-run Install from /app to write the new key into config.json

Where the key lives

Your license key only exists in two places:

  1. The dashboard's database (Server.apiKey, plaintext column)
  2. Your server's /etc/proxima-gateway/config.json (mode 0600, root-only readable, on disk in plaintext)

It is never shown in any customer-facing UI. If you need to see the plaintext key for support, your admin can reveal it from Admin → Users → Edit → License card.