ATMOS

Taking longer than usual — check your network connection.

AtmosAtmos
LibraryBlogPricing
Sign inDownload
Journal

Atmos License States, Grace Periods, and Access Control Explained

Learn how Atmos handles activation, offline verification, subscription grace periods, blocked states, and the hidden app behavior behind each license status.

TutorialLicenseDocumentationAccountFeatures

Atmos License States, Grace Periods, and Access Control Explained

Atmos does not treat licensing as a simple on or off switch.

Instead, the app moves through a small set of clearly defined license states. Some of those states allow the app to keep working normally. Some allow it to keep working temporarily while asking you to reconnect or renew. Others block access entirely until the underlying issue is resolved.

This guide explains how that system works in practice, what users see on screen, and which hidden behaviors matter behind the scenes.

Atmos starts by checking local license data

When Atmos launches, it does not immediately depend on a live server response just to decide whether the app can open.

It first checks locally stored license information:

  • the saved license key
  • the saved signed token
  • the token expiration state
  • the app’s own integrity status

That local-first design matters because it allows Atmos to verify valid licenses offline instead of forcing a fresh network round-trip every time the app starts.

Activation is a user-initiated step

If no valid local license data exists, Atmos shows the activation flow.

That activation screen asks for a license key and sends an activation request to the validation endpoint. If the response is valid, Atmos stores:

  • the normalized license key
  • the signed token returned by the server
  • the timestamp of the last successful validation

After that, the app can move into an active state.

A valid token can keep the app active offline

One of the more important hidden behaviors in Atmos is that a valid token can be verified fully offline.

Atmos includes a public key in the app and uses it to verify the signature and expiration time of the stored token. If the token is still valid, the app does not need to ask the server again just to stay usable.

That means a user with a valid current token can launch the app without needing a live internet connection every single time.

The main license states in Atmos

Atmos can move through several distinct license states:

  • checking
  • not activated
  • active
  • offline grace
  • subscription expired
  • subscription ended
  • revoked
  • device limit
  • network required
  • locked

Those states are not cosmetic labels. They directly control which screens appear, whether the main app stays available, and whether Atmos disables its background systems.

What active means

Active is the normal working state.

In this state, Atmos has a valid license token and everything behaves as expected. Audio, backgrounds, widgets, cursor skins, and effects can all continue running.

This is the state users will spend most of their time in.

What not activated means

Not activated means Atmos does not have a usable local license for this device.

That can happen when:

  • the app has never been activated
  • the saved license key was removed
  • the saved token was cleared
  • the license became invalid and Atmos reset local activation data

In this state, the user sees the activation screen instead of the normal app content.

Offline grace is a separate state

Atmos has a dedicated offline grace state for a very specific scenario:

  • the signed token has expired
  • the app cannot refresh it immediately
  • the last successful license check happened recently enough to allow a grace window

The offline grace window is 24 hours.

If Atmos sees that the token is no longer current but the app was successfully checked recently, it allows the app to keep running temporarily and shows a small banner asking the user to reconnect.

Hidden behavior: offline grace does not block the app immediately

This is one of the more user-friendly parts of the licensing system.

When offline grace is active, Atmos does not immediately shut everything down. The app still renders the main content, and the user gets a banner instead of a lock screen.

That is important because it prevents a brief network interruption from instantly killing the product experience.

Subscription grace is different from offline grace

Atmos also has a separate grace state for subscription expiration.

If the server reports that the subscription is no longer active, the app checks how many days have passed since expiration. If the user is still within the 7-day renewal window, Atmos enters a subscription expired state rather than immediately cutting off access.

In that state:

  • the main app still opens
  • the user sees a renewal banner
  • Atmos continues to run while the grace period remains

This is conceptually different from offline grace. Offline grace is about temporary verification delay. Subscription grace is about temporary access after billing has lapsed.

What subscription ended means

Once the 7-day subscription grace period is over, Atmos moves to subscription ended.

At that point, the app no longer treats the user as temporarily recoverable inside the normal experience. Instead, it falls back to the activation flow and blocks the ordinary content until the subscription issue is resolved.

That makes subscription ended the hard cutoff that follows the softer subscription grace state.

What revoked means

Revoked means the license was explicitly disabled on the server side.

This is not a temporary sync issue. It is an intentional server decision, and Atmos treats it that way.

When a revoked response is received, the app clears the local token, clears the saved license key, and moves into a disabled state with a support-oriented message.

What device limit means

Device limit means the license has reached its allowed number of active devices.

This usually happens when the key is already active somewhere else and no additional activation slot is available.

Atmos surfaces this as a blocked state rather than pretending activation partially succeeded. That keeps the message clear and avoids confusing half-licensed behavior.

What network required means

Network required appears when Atmos can no longer safely trust the local state and the offline grace window has already expired.

In other words:

  • the local token is no longer valid
  • the app cannot keep extending trust indefinitely
  • the user needs to reconnect so Atmos can verify the license again

This state blocks the normal experience until the app can complete a fresh verification.

What locked means

Locked is the most severe license state in the app.

This is used for tamper detection or unrecoverable integrity failure. On launch, Atmos checks whether a debugger is attached in release builds and whether the app’s own code signature is still valid.

If that integrity check fails, Atmos stores a tamper flag and treats the app as locked.

This is not presented as a normal account issue. It is treated as a trust and integrity problem.

Hidden behavior: blocked states disable Atmos systems behind the scenes

One of the most important implementation details is that Atmos does more than change the visible screen when access is blocked.

For blocked states, the app also disables its background systems so they do not keep running invisibly. That includes the systems responsible for things like:

  • ambient audio
  • backgrounds
  • cursor systems
  • widgets

This means Atmos is not simply hiding the interface while leaving the effects active underneath.

Which states keep the app running

Atmos keeps the app operational in these states:

  • active
  • offline grace
  • subscription expired

Those are the usable states.

In those cases, Atmos either fully trusts the current license or is deliberately allowing temporary continued access while the user reconnects or renews.

Which states block the app

Atmos disables the main experience in these states:

  • not activated
  • subscription ended
  • revoked
  • device limit
  • network required
  • locked

Those are the states where the app either cannot establish valid entitlement or should not continue running.

Atmos refreshes licenses in the background

Atmos does not only validate on explicit activation.

Once the app is running, it also performs background refresh checks. It watches for network availability and also performs periodic validation roughly every 30 minutes while the app remains open.

That lets Atmos react to things like:

  • subscription expiry
  • license revocation
  • device removal
  • server-issued token refresh

without requiring the user to restart the app manually.

Hidden behavior: transient server errors do not immediately punish active users

Another useful detail is that temporary server failures do not automatically throw active users into a broken state.

If the app encounters a transient network or server error during background refresh, it generally leaves the current state alone instead of aggressively downgrading access.

That makes the licensing system calmer and more resilient in real-world conditions.

What happens if a device is removed remotely

Atmos has a specific path for device removal as well.

If the server reports that this device was removed, the app clears the stored token, clears the stored license key, removes its recent-check timestamp, and returns to a non-activated state.

That means the device is treated as fully deauthorized rather than merely warned.

What users see in grace states

Atmos uses banners for grace states instead of immediately replacing the whole interface.

That means users can continue using the app while still being clearly informed about what needs attention.

For example:

  • offline grace shows a reconnect-style banner
  • subscription grace shows a renewal-style banner

This is a better experience than abruptly hiding everything the moment a recoverable issue appears.

What users see in blocked states

For blocked states, Atmos swaps to a dedicated message screen.

Depending on the issue, that screen explains whether the problem is:

  • lack of activation
  • device limit
  • license revocation
  • missing network verification
  • invalid or tampered license state

Some of those screens also direct the user toward support, which makes sense because not every blocked state can be solved by simply typing the same key again.

Where license data is stored locally

Atmos stores both the token and the license key in its Application Support directory.

The app also contains migration logic for older storage formats, which means legacy local data can be moved forward instead of simply being abandoned.

That migration work is not flashy, but it is useful. It helps existing users survive internal storage changes without losing access unexpectedly.

Why this licensing model feels more polished than a simple gate

The Atmos licensing system is careful about edge cases.

It distinguishes between:

  • never activated
  • temporarily offline
  • temporarily expired
  • fully ended
  • explicitly revoked
  • over device limit
  • integrity failure

That gives the app room to respond in a more human way.

Instead of treating every problem like the same generic lockout, Atmos can decide whether the right response is:

  • keep running
  • keep running with a warning
  • ask for reactivation
  • fully block access

That is the main reason the system feels more deliberate than a basic license gate.

What users should take away

If you are using Atmos day to day, the practical rules are simple:

  • a valid token keeps the app active
  • a short network outage does not necessarily stop the app immediately
  • subscription expiration includes a limited grace period
  • serious issues like revocation, device limit, or tamper failure block access
  • blocked states also disable Atmos systems behind the scenes, not just the visible window

Once you understand those rules, the licensing system becomes much easier to read.

It is not random, and it is not arbitrary. Atmos is following a defined state machine that tries to balance security, recoverability, and a smoother user experience.

Atmos Journal

More posts, product updates, and deep dives from the team.

Browse the journal