> ## Documentation Index
> Fetch the complete documentation index at: https://ngquct-docs-fix-500-query-results.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Licensing

> Activate and deactivate a license key, what each tier includes, and how offline validation works

You never have to buy TablePro to keep using it, and nothing counts down. A license adds the features in the table, and purchase, renewal, and billing all happen on [tablepro.app](https://tablepro.app/#pricing) rather than in the app.

## Tiers

There are two tiers, Starter and Team. Team includes everything in Starter.

| Feature                                                                    | Required tier |
| -------------------------------------------------------------------------- | ------------- |
| [iCloud Sync](/features/icloud-sync)                                       | Starter       |
| [Encrypted connection export](/features/connection-sharing)                | Starter       |
| [Environment variables in connection fields](/features/connection-sharing) | Starter       |
| [Linked Folders](/features/connection-sharing)                             | Starter       |
| [Query Insights](/features/query-insights)                                 | Starter       |
| [Result charts](/features/data-grid#chart-mode)                            | Starter       |
| [Team Catalog](/features/connection-sharing)                               | Team          |
| [Team Library](/features/team)                                             | Team          |

Without a license, those screens show an overlay with **Activate License…** and a purchase link. On a Starter license, the two Team features show an **Upgrade Plan** link instead. Everything else in the app works.

## Activate

Open **Settings > Account** (`Cmd+,`), paste your license key (`XXXXX-XXXXX-XXXXX-XXXXX-XXXXX`), and click **Activate**.

The welcome window has an **Activate License** link to the same dialog, and shows a green **Pro** badge once a license is active. The field also takes a team invite code, which TablePro tells apart from a key on its own. See [Team Plan](/features/team).

<Frame caption="License section in Settings > Account">
  <img className="block dark:hidden" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/HJY892UtvXUv1PFn/images/license-settings.png?fit=max&auto=format&n=HJY892UtvXUv1PFn&q=85&s=28ddc05536f9d331ef46bf133dabb226" alt="License settings showing email, masked key, status, tier, and activations" width="1560" height="960" data-path="images/license-settings.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/ngquct-docs-fix-500-query-results/HJY892UtvXUv1PFn/images/license-settings-dark.png?fit=max&auto=format&n=HJY892UtvXUv1PFn&q=85&s=e3d0927b67bcd57f2085bc1d08d25b8e" alt="License settings showing email, masked key, status, tier, and activations" width="1560" height="960" data-path="images/license-settings-dark.png" />
</Frame>

Once active, the Account tab shows your email, a masked license key, status, expiry date or Lifetime, tier, and billing cycle.

## Activations

A license binds to each Mac it is activated on through a hashed hardware ID. The **Activations** section lists every activated Mac with its app and macOS version, marks this one, and counts them against the limit your plan sets on tablepro.app.

Activating one Mac too many fails with "This license has reached its activation limit. Deactivate another Mac first." Freeing a slot means clicking **Deactivate…** in **Settings > Account** on the Mac you are giving up, before you wipe or sell it: the list in the app is read-only, so no Mac can release another. If the machine is already gone, ask for the slot back through [GitHub issues](https://github.com/TableProApp/TablePro/issues).

Deactivating with the license server unreachable still removes the license from that Mac, but the slot may stay occupied until it expires on the server.

## Validation and offline use

Activation stores a signed license on your Mac, and the license key goes to the macOS Keychain.

* Every launch re-verifies the signature offline, with no network. Tier, status, and expiry all come from the signed license, so editing the copy on disk changes nothing.
* Every 7 days the app re-validates with the license server in the background.
* If the server is unreachable, the license keeps working for 30 days after the last successful validation. After that the status becomes Validation Failed and Pro features pause until a validation succeeds.
* If the server answers that the license is suspended, expired, or no longer activated on this Mac, Pro features pause at that check. The 30-day grace period only covers a server TablePro could not reach.

**Check Status** in **Settings > Account** re-validates on demand, and a gated screen offers **Retry Validation**. When a license expires within 7 days, the Account tab shows a renewal warning linking to tablepro.app.

## What syncs

Activations never sync. Each Mac takes its own slot, and a license restored from another Mac's backup is cleared on launch. Team seats, invites, and member roles are managed on tablepro.app; see [Team Plan](/features/team).
