Licence & editions

Astroworx Starship ships as two editions from one codebase, and a distributed (compiled) build carries a licence gate. This topic explains what edition you're running, how the supporter licence works, and what the Settings → Licence tab shows you. None of this applies when you run from source — a source/dev run is never gated.

The two editions

The same code base builds two products, and the build self-identifies by which modules are present (title bar, the About page, and /api/version) — there's no manual flag to keep in sync, and the UI automatically hides whatever isn't in the build.

this help is in it, unless a topic explicitly says otherwise.

research module (Navigator), the rental web dashboard, and user booking. These four are compiled out of the public build (not merely hidden), so the public edition never ships that code.

Everything else — Console, Sequencer, Scheduler, Blockscript, Auto Flat, cooling, guiding, plate-solving, Dome, Sky Atlas, Skyhunter, alerts, and the rest — is fully available in both editions.

The offline licence gate (compiled builds)

A compiled Starship build refuses to start without a license.key that is bound to that machine and carries an expiry date. This is what lets a build be distributed safely: a copied build won't run on another machine, and every licence stops working on its expiry day.

The gate is offline and cryptographic — the build embeds only a public key and verifies the signed licence locally (a vendored Ed25519 / RFC 8032 implementation), so a licence can't be forged or transplanted to another computer. There's nothing to phone home to for the gate itself; verification happens on your machine.

The online supporter licence

For the public edition, an ongoing supporter licence keeps the build licensed month to month, managed entirely in the app:

  1. Subscribe (through the website) and you receive an activation key.
  2. In Settings → Licence, paste the activation key and click Activate. This

computer registers with the licence server and receives a fresh, machine-bound, signed licence.

  1. In the background Starship refreshes about once a day, trading your

{activation_key, machine_id} for a renewed licence. A best-effort refresh also runs once at startup before the gate, so a just-renewed subscription unlocks immediately.

Offline-safe: a flaky network never ends a night

If Starship can't reach the licence server, it keeps the cached licence and keeps running until that licence's own expiry — your paid period plus a grace window. The daily refresh is a top-up, not a leash: a dropped connection, a DNS hiccup, or an observatory with no internet won't stop an in-progress night. Only an actually-expired licence (past its paid period and the grace) fails the gate.

The Settings → Licence tab

The Licence tab (a dedicated left-nav entry) shows, at a glance:

status** — licensed-to, valid-through, and days left.

quote when you activate or ask for support).

the key you were issued to activate, or force an immediate refresh instead of waiting for the daily cycle.

Under the hood

The client lives in core/licensing/client.py; the endpoints are /api/license/status, /api/license/activate, and /api/license/refresh, driven by a daily refresh thread. The cached licence is stored at ~/.starship/license.key and verified offline by the same signed-licence gate described above.

Notes

refresh only matter for a distributed, compiled build.

re-activating there (its machine id differs).

your config.toml, images, and databases are plain files on your disk regardless of licence state.

Astroworx Starship v22.2.10 · this page is the in-app help of that buildDownload · HTTP API