# What happens when Applane is unreachable?

> Licences last 72 hours and are accepted 7 more days offline, so builders keep working through a 10-day outage. Deployed apps never depend on Applane.

Source: https://docs.applane.dev/security/licence-and-offline/

When a builder signs in, Applane's backend issues a licence: a small signed token that names the builder, the company, the plan and the features. The extension keeps it in Chrome's extension storage and checks it locally before any build, deploy or publish. The public keys that verify it are compiled into the extension, so the check needs no network.

## Lifetime

| | |
|---|---|
| Valid for | 72 hours from issue |
| Renewed | On workspace open when under 12 hours remain, by a silent Google sign-in and a call to Applane. A daily background refresh also runs as a best effort. |
| Grace after expiry | 7 days. The licence is still accepted offline. |
| After the grace | The builder locks: build, deploy and publish refuse with a one-line reason. Opening apps, reading transcripts and copying URLs keep working. |

## When Applane is unreachable

| Applane | Time since expiry | Extension |
|---|---|---|
| Any state | Before expiry | Normal |
| Down | 0 to 7 days | Normal, with an amber banner: "could not refresh licence" |
| Down | More than 7 days | Read-only until it can renew |
| Up, seat reclaimed | Any | The next sign-in re-activates the seat if there is room |

So it takes 72 hours plus 7 days of continuous outage before any builder is affected. The apps themselves never depend on Applane being up; they run on your Apps Script.

## When the company is suspended

A company is suspended when the trial ends without a subscription, after 30 days past due, or on request. Licences stop being renewed. Existing builders keep working through the 7-day grace, then lock. New sign-ins are refused with `billing_required`. Subscribing lifts it, and seats pick up within 12 hours or at the next sign-in. See [Billing](https://docs.applane.dev/console/billing/).

## What the licence contains

The builder's email, the company id, the plan (`trial`, `team`, `enterprise`), the role (`builder` or `admin`), the enabled features, the configuration version, and the issue and expiry times. No Google token. The configuration version is how the extension knows to fetch new settings.

## Anti-abuse

The licence check is client-side JavaScript. A company that patches the extension to skip it is in breach of contract, and that is the enforcement: per-seat B2B licensing is enforced by the invoice. There is no device fingerprinting, no hardware lock and no obfuscation. What is protected: an ID token cannot be replayed to mint a licence (it expires in an hour and carries a nonce), a licence cannot be forged (the private key never leaves the backend), and nobody can register your domain (DNS verification).
