Account
The Account row of the Account page, connecting the station to its Ganter account through the system browser, the connected and offline states, Sign out, and what the sign-in belongs to.
The Account row is the first card of the Account page: the station's sign-in to its Ganter account. The sign-in belongs to the station, not to a person: one human signs in once, in the system browser, and every Windows user of the computer shares the session until someone signs the station out. It licenses the runtime (see Subscription) and lets the Feedback form send; it does nothing to the screens, which the local users govern.
The card is read by every identity, and its two verbs are decided apart. Connecting is free on the station's own screen: it takes nothing from anybody, and a station on its first day has no local user who could be an administrator. Disconnecting releases the seat that licenses the runtime for everyone at the bench, so from the moment the station has any local user it takes the Manage local users permission on this connection (the Admin role). A browser connects nothing, on the station's own machine as well as over the network, because the sign-in opens a browser on the station's machine. Either way the verb stays drawn but greyed, and the reason rides the button.
Signed out
| Element | What it shows or does |
|---|---|
| Title | Sign in to Ganter Lab |
| Text | "Connect this station to your Ganter account. Your web browser opens to sign in securely. The app never sees your password. The sign-in belongs to the station and is shared by every Windows user of this computer." |
| Command | What it does | Greyed when (situation) | Not drawn when (role) |
|---|---|---|---|
| Sign in | Starts the browser sign-in. | The page is open in a browser rather than in the station's window, a browser on the same machine included; the tooltip reads "The account is connected on the station's own screen, because the sign-in opens a browser on the station's machine." | Never. |
| Create an account | Opens the Ganter Lab site's registration page. On the station's window it opens in the default browser; in a plain browser it opens a new tab. The station's window hands the address to Windows itself, and opens a web address and nothing else, here and wherever else the app sends you outside itself: anything that is not one reports "That is not a web address this station opens. Nothing was opened." | Never. | Never. |
Waiting for the browser
Pressing Sign in turns the card into Waiting for the browser… with the text "Complete the sign-in in the browser window that just opened. Control returns here automatically.", a progress bar and a Cancel button. The app listens on a loopback port for the browser to come back; the password is typed on the site, never in the app. Cancel, closing the browser without finishing, or an error returns the card to the signed-out state, and the error text lands under Connection details below the card.
Signed in
| Element | What it shows |
|---|---|
| Name | The account's display name, or Ganter account when the profile carries none. |
| The account's e-mail address. | |
| State dot and text | Green with "Connected to the Ganter server." while the server answers; amber with "Offline, using the saved sign-in; reconnects automatically." while it does not. |
| Command | What it does | Greyed when (situation) | Not drawn when (role) |
|---|---|---|---|
| Sign out | Asks for confirmation in a dialog titled Sign out that reads "Signing out disconnects this station's Ganter account for every Windows user of this computer. Sign out?", then releases the station's seat, asks the server to revoke the session, and clears the stored sign-in. On a station that runs on a perpetual license, the dialog adds "This station runs on a perpetual license: signing out gives it back to the account, and the station runs in Free mode until it signs in again." While the station tells the site, the button reads "Signing out…" and Stop waiting appears beside it; pressing it ends the wait, and the sign-out completes on the station either way. | The station has local users and the identity lacks Manage local users; the tooltip reads "Only an administrator can disconnect this station's account." | Never. |
The card's leading edge is tinted with the same state as the dot, so the connection health reads before anything else.
Online and offline
The station stores a refresh token, encrypted for this machine (under %ProgramData%\GanterLab,
writable by every local Windows account so that any of them can renew it), together with the
last profile and subscription snapshot and the last license the server issued to this station.
At every start the cached identity shows at once and a
silent renewal runs in the background: a network failure leaves the station in the offline
state with the cached identity, and only an authoritative rejection by the server (the session
was revoked, expired, or the account can no longer sign in) clears the sign-in. A session that
is used at least once every 90 days never asks for the browser again; a station fully offline
for 90 days signs in again through the browser. The license keeps the same term: offline, the
station stays licensed until 90 days after it last reached the server (see
Free mode and the runtime countdown).
A perpetual license has no such term: it stays with the station offline for good, even when the sign-in is cleared that way (see Perpetual license).
Sign-out on the station does not sign the browser out of the site; the site's own session is the browser's.
Connection details
When the last sign-in, renewal or refresh failed, a Connection details expander appears under the card with the error text. It stays visible while the station is otherwise online, so a failed refresh that kept the cached state is not hidden. One message deserves attention: "The server did not issue a refresh token; the sign-in will not survive a restart." means the session lives in memory only.
The temporary identity notice
The station identifies itself to the server by a random id created on first use and kept machine-wide; the seat is granted to that id. When the file holding it cannot be read or written, the station runs on a temporary identity, and the Subscription row leads with a loud critical banner, This station is using a temporary identity:
This computer could not read or write the file that holds its station identity, so it is not recognized as the station your license seat belongs to. A new identity is created every time the app starts, the runtime keeps stopping on the free mode timer, and the account fills up with stations that were never real. Check that the Windows account running Ganter Lab can read and write the folder %ProgramData%\GanterLab, then restart the app. The Events console carries the exact reason under the Licensing source.
The banner shows whether or not the station is signed in, because a station in that condition reads as unlicensed whatever the account says.
What is sent
| Step | What leaves the station |
|---|---|
| Browser sign-in | The standard authorization-code flow with the Ganter server, requesting identity, e-mail, offline access and subscription reading. |
| After sign-in, at boot, every 24 hours and at every Account page open | The station's registration: its random id, the Windows machine name, the application version and, when set, the integrator ID; then a request for the subscription document. |
| Sign out | The seat release and the token revocation, both best-effort. |
No hardware fingerprint, no serial number and no local user name is sent. A reformatted disk becomes a new station; the old registration ages out of the account after 90 days without a sign-in.
The demo profile
On the isolated demo profile the card shows a local stand-in: Demo profile,
demo@ganterlab.invalid, "Connected to the Ganter server." with nothing behind it. Sign out
and Sign in work without a browser and switch the profile between a licensed seat and free
mode; nothing reaches the server.
What the row does not do
- It does not sign a person in. Who is signed in on a screen is the user chip and the Users page; this sign-in is the station's.
- It does not change what any screen shows or allows. Permissions come from local roles.
- It does not block anything when it fails. A station that cannot reach the server keeps its cached state and keeps working; the only consequence of not being signed in is the free-mode window.
- It does not ask for an administrator to connect a station that has none. Connecting is free; it is disconnecting, which drops the seat, that takes Manage local users once the station has local users.
- It does not hide Sign in and Sign out from an identity that may not press them: both stay drawn, greyed, with the reason on the button. And it does not let a remote browser borrow the administrator at the bench, the permission being read on the connection that presses the button.