Skip to content

Apps that run offline

A Sealcord licence key is a signed document, so an app can tell a genuine key from a forged or edited one with no network at all. The network is needed only to take a seat and to learn about changes made after the key was issued, such as a revocation. This page says what works offline and for how long.

Check Offline How
The key is genuine and for this product Yes Its Ed25519 signature, with the public key built into the app
The key has not passed its expiry Yes The expiry is in the signed key; the machine’s clock judges it
This machine holds a seat Yes, until the verdict ends The stored verdict, signed for this machine id
The licence was not revoked since Yes, until the verdict ends The stored verdict’s valid_until
Taking a seat on a new machine No POST /v1/activations needs the API once

The first two are the offline key check. The rest come from the signed verdict the app stores after each activation or status call.

A verdict is valid until its valid_until: seven days after it was made, never past the licence’s expiry, and for a trial never more than a day past the trial’s end. While the stored verdict is valid, the app needs no call. It asks again at most once a day while online, so a laptop that goes offline usually starts with close to seven days left.

When the verdict has ended and there is no network

Section titled “When the verdict has ended and there is no network”

What the app does then is your decision. The safe default is to keep running on the offline key check and try again later: an outage, a plane or a hotel network must never lock out a customer who paid. A stricter app can stop after a grace period of its own; Sealcord does not impose one.

A network error, a timeout, a 429 or a 5xx is never a revocation. Only an answer from the API that the licence no longer holds is.

A machine that can never reach api.sealcord.com can run on the offline key check alone, but it never takes a seat, so Sealcord does not count it against the licence’s limit and your app does not learn of a revocation. If your customers need such machines, decide how many your app allows without a seat, or sell them a licence for those machines and trust the key check there.

Offline, the app trusts the machine’s clock for the key’s expiry and the verdict’s valid_until. A clock set back can keep an expired key or verdict accepted until the next call, where the API judges with its own clock. A verdict whose issued_at is more than five minutes in the future is ignored, which catches a clock set far ahead.

Change When the app sees it
You revoke or expire a licence At its next status call; the stored verdict holds until its valid_until
A seat is freed elsewhere At this machine’s next status call
A trial converts Nothing changes for the app: the key and the active verdict stay

No. The key check and the stored verdict run on every launch with no call.

Can I make verdicts last longer than seven days?

Section titled “Can I make verdicts last longer than seven days?”

Not per product: seven days is the service’s setting for every verdict. Your app can keep running past it on the offline key check, as above.

What does the app do when it comes back online?

Section titled “What does the app do when it comes back online?”

It asks for the status, stores the new verdict, and shows a message only if the licence no longer holds (what to show).