---
title: "Licence activation"
manual: "Accessibility Quality Gate"
version: "2.0"
permalink: "https://docs.typo3.org/permalink/priebera/typo3-a11y-quality-gate:configuration-licence@2.0"
source: "Configuration/Licence.rst"
rendered: "2026-10-13T16:37:33+00:00"
---

# Licence activation {#configuration-licence}

The Free feature set works without any licence key. A licence key unlocks the
features listed in [Free and licensed features](https://docs.typo3.org/permalink/priebera/typo3-a11y-quality-gate:introduction-editions@2.0).

## Entering the licence key {#configuration-licence-key}

The licence key is stored in the extension configuration of
`a11y_quality_gate`.

-   **licenceKey**

    -   *Type:* string
    -   *Default:* (empty)

    The AQG licence key, for example
    `aqg_live_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`. Trial keys use the
    `aqg_trial_` prefix.

-   **showProHints**

    -   *Type:* boolean
    -   *Default:* 1

    Whether a Free Remote Preview result is followed by the upgrade offer with
    trial and pricing links. Plan badges and notes on locked features stay
    visible. Can be overridden per ruleset from the Settings view.

There are two ways to set the key:

-   In the **Licence** tab of the AQG Settings view. The tab is only
    available to administrators and writes into the extension configuration.
-   In **Admin Tools > Settings > Extension Configuration >
    a11y_quality_gate**, or directly in
    [`config/system/settings.php`](https://docs.typo3.org/m/typo3/reference-coreapi/14.3/en-us/Configuration/Typo3ConfVars/Index.html#file-project-config-system-settings-php) under
    `EXTENSIONS/a11y_quality_gate/licenceKey`.

In the **Licence** tab, paste the key and press
**Save and validate**. AQG stores the key, contacts the licence service
and shows the resolved plan, the bound domains, the expiry date and the limits
of the plan. To check a saved key again, for example after activating a domain
in the customer portal, press **Revalidate** next to the key. Below the
key, **Licence domains** lists the domains of this installation's sites
and which of them the licence covers, see [Licence domains](https://docs.typo3.org/permalink/priebera/typo3-a11y-quality-gate:configuration-licence-domains@2.0).

The tab never shows the saved key in full: only its beginning and last
characters are displayed, so it does not appear in screen shares or
screenshots. To use another key, enter it in the empty key field and save; an
empty field keeps the saved key. To remove the key, select
**Remove the saved key when saving** and save; AQG then runs as Free.

## Licence domains {#configuration-licence-domains}

The **Licence domains** table in the **Licence** tab (for
administrators, once a key is saved) and the customer portal show the same
list, kept by the AQG service. A change in either place applies at once; the
other shows it after a reload or **Refresh**. Frontend scans and
scanner access are always checked by the service, so a page that was not
reloaded cannot grant access.

The table lists every public domain of the installation's sites and the
activated domains of the licence:

-   **Active** — the licence covers the domain.
-   **Available** — a site of this installation uses the domain, but it
    is not activated. Activate it here or in the portal.
-   **Active, not detected** — activated, but no site of the
    installation uses it any more. It keeps its slot until you deactivate it:
    removing a site never frees a slot.
-   **Unavailable** — the plan has no free slot, or the trial already
    covers its one domain.

Only a domain that a site of the licensed installation uses can be activated,
in the Licence tab and in the portal alike; the portal does not accept typed-in
domains. The table has a summary, a search, filters for each state and 10
domains per page; several selected domains of a page can be activated or
deactivated at once.

| Plan | Domains |
| --- | --- |
| Trial | One domain: the first public domain the trial is used on. It cannot be changed; other sites need PRO. |
| PRO | Up to three domains. The first is activated automatically, the others when you activate them. An activated domain keeps its slot for 90 days before it can be deactivated, so slots cannot be rotated, and the last active domain cannot be deactivated. |
| Agency | No domain limit. The first domain of each project is activated automatically. **Activate all detected** activates every domain the installation reports at once. |

Domains activated before AQG 1.9.8 stay activated. Versions 1.9.3 to 1.9.7
report only the hosts of their site bases and have no **Licence
domains** table: activate further domains of those installations in the
customer portal.

## How validation works {#configuration-licence-validation}

-   The extension calls `https://api.priebera.sk` with the licence key and a
    site fingerprint derived from the domain of the installation.
-   The result is cached. Valid results are cached for one hour, invalid results
    for five minutes, trial results for fifteen minutes — never beyond the end
    of the licence or trial that the service reported.
-   Licences cover activated domains. Every licensed request reports all
    TYPO3 sites of the installation with their hosts (site base and language
    bases), and the AQG service covers a domain only when it is activated for
    the licence and a site of the reporting installation uses it. A domain that
    a site uses but that is not activated is reported as
    `domain_not_activated`; a domain that no site of the installation uses as
    `domain_not_detected`; a domain beyond the plan's limit as
    `domain_limit_reached`. Each is refused on its own: the activated domains
    keep working. Development hosts such as `localhost`, `*.ddev.site` or
    `*.test` need no activation and take no slot; the hosted scanner still
    cannot reach them, see [Remote scans do not start or find nothing](https://docs.typo3.org/permalink/priebera/typo3-a11y-quality-gate:troubleshooting-remote@2.0).
-   PRO and trial licences cover one TYPO3 installation (project). Another
    installation using the same key is reported as `project_mismatch`.
    With AQG 1.9.7 or later, PRO recognises its installation by the
    installation's own id, so the licensed installation can add or remove
    TYPO3 sites and activate their domains within its domain limit; another
    installation is refused even
    if it is configured with the same domains. Older versions are recognised
    by the domains of their sites. If the licensed installation was moved or
    set up again, contact support to reset its registration. A trial covers
    one site domain.
    An Agency licence covers several client installations: each one is enrolled
    as its own project on its first validation, up to the licence's project
    limit (`project_limit_reached`), and keeps its own frontend scans, history
    and evidence. A project belongs to its TYPO3 installation, not to its site
    list, so no other installation can take it over. Additional projects need
    AQG 1.9.7 or later on that installation; older versions keep using the
    licence's first project. The **Licence** tab shows the projects in
    use; free a slot in the customer portal. A removed project is reported as
    `project_removed` and stays removed until you restore it in the portal,
    with its previous scan history.
-   Trial keys do not start their runtime when they are issued. The trial window
    starts on the first successful validation from a production domain;
    validating from a development host such as `localhost` or a
    `*.ddev.site` domain does not start it. The **Licence** tab shows
    the start time and the remaining trial time once the window is running.

If the licence service cannot be reached, limits requests or answers without a
verdict, AQG keeps the last valid result for up to 48 hours, and never past the
end of the licence. Without one it reports `api_unreachable` (or
`rate_limited`) and falls back to the Free feature set until the next
successful validation. A definitive answer — invalid, expired, revoked, another
domain or project — replaces the cached licence state and the cached scanner
tokens at once, including after **Revalidate**. Local
content scans, rendered page checks, CLI and Scheduler runs are not affected by
licence service outages.

When a saved key is not valid, the **Licence** tab names the problem and
offers the matching next step, see [The licence is not accepted](https://docs.typo3.org/permalink/priebera/typo3-a11y-quality-gate:troubleshooting-licence@2.0).

## Overriding the service endpoint {#configuration-licence-endpoint}

For staging or isolated test environments the endpoints can be overridden with
environment variables:

```bash
A11Y_QUALITY_GATE_PRO_API_BASE_URL="https://api.example.org"
A11Y_QUALITY_GATE_PRO_CRAWLER_BASE_URL="https://api.example.org"
```

Both default to `https://api.priebera.sk`. Only change them if you were
explicitly told to do so; a wrong value disables all licensed features.

Licences, invoices and domain assignments are managed in the customer portal at
[typo3.priebera.sk/portal](https://typo3.priebera.sk/portal).
