---
title: "Backend user permissions"
manual: "LLM Foundation"
version: "0.44"
permalink: "https://docs.typo3.org/permalink/netresearch/nr-llm:administration-permissions@0.44"
source: "Administration/Permissions.rst"
rendered: "2026-11-12T17:35:48+00:00"
---

# Backend user permissions {#administration-permissions}

nr_llm is administrator-only by default: every module and every AJAX
action denies non-admins, and nothing changes at update time. Access for
non-admin users is opened **per capability grant** ([ADR-130](https://docs.typo3.org/permalink/netresearch/nr-llm:adr-130@0.44)), never wholesale.

## Assigning grants {#assigning-grants}

Grants are ordinary TYPO3 custom permission options. In the
**backend group** record (**Module permissions** tab, section
**AI (nr_llm) permissions**), tick the grants the group should
hold. Notes:

-   Grants are **group-scoped** — a backend user without groups cannot hold
    a grant.
-   Administrators hold every grant implicitly.
-   Revoking a grant takes effect with the user's next request.

![The AI (nr_llm) custom permission options for a backend group, with "See the AI usage of assigned groups" ticked, and the field "AI usage visible for groups" below them](../Images/backend-permissions-grants.png)

## Available grants {#available-grants}

-   **Execute AI tasks (`tasks_use`)**

    Run existing AI tasks and refresh their input data. What a task may
    read and which model and configuration it uses is defined by whoever
    manages the task — that is the trust boundary: task managers define,
    grant holders execute. Every run is pre-flighted against the user's
    own [usage budget](https://docs.typo3.org/permalink/netresearch/nr-llm:administration-user-budgets@0.44) and attributed
    to them. The grant also shows the user their own usage against that
    budget and the cost estimate of a run
    ([Usage, budget and cost estimate](https://docs.typo3.org/permalink/netresearch/nr-llm:administration-tasks-editor-usage@0.44)).

    Since [ADR-158](https://docs.typo3.org/permalink/netresearch/nr-llm:adr-158@0.44) the same grant opens the **Editor Action
    Center** in that module. It does not decide which actions appear there:
    that is the tool gate's answer plus access to the default LLM
    configuration — a user outside its **Allowed backend groups** is
    offered nothing and can start nothing — and every writing tool is disabled
    until an administrator enables it. Starting an action always suspends for
    approval before anything is written.

-   **Approve suspended AI runs (`agent_approve`)**

    Approve, deny or answer agent runs suspended for a human decision —
    including runs started by **other** users. Without this grant a user
    can only ever decide their own runs. Deliberately part of no
    recommended preset: granting it is an explicit trust decision.

-   **See the AI usage of assigned groups (`usage_view_groups`)**

    See the AI usage and estimated cost of every member of the backend
    groups selected in the group record's **AI usage visible for
    groups** field, in the module **AI > AI usage of my groups**
    ([ADR-277](https://docs.typo3.org/permalink/netresearch/nr-llm:adr-277@0.44)). Without an assignment the grant shows
    nobody. Who counts as a member, and what is never shown, is described
    in [AI usage of assigned groups](https://docs.typo3.org/permalink/netresearch/nr-llm:administration-group-usage@0.44).

    > [!WARNING]
    > This grant makes **personal data of other users** visible to a
    > non-administrator. Clear it with your works council and your data
    > protection officer before you grant it
    > ([Before you switch it on: personal data](https://docs.typo3.org/permalink/netresearch/nr-llm:administration-group-usage-privacy@0.44)). Part of no preset.

## Recommended presets {#recommended-presets}

Roles are named grant bundles, not code:

| Preset | Grants |
| --- | --- |
| AI editor | `tasks_use` |
| AI operator | `tasks_use` — identical to *AI editor* on purpose: a management grant still awaits a management surface (ADR-131 adds none) |

Approval (`agent_approve`) sits in no preset — add it deliberately
where the organisation wants non-admin approvers. The same holds for
`usage_view_groups`: add it only for head editors, together with an
assignment.

## Current reach {#current-reach}

Grant holders work in the dedicated **AI Tasks** module under the **AI** group
([ADR-131](https://docs.typo3.org/permalink/netresearch/nr-llm:adr-131@0.44)). Reaching it takes BOTH switches: the module
must be ticked in the group's module list (`access => user`) AND the
grant must be held — the module switch alone never grants execution.
Tasks with the `table` input type are not offered to editors (their
record picker has no read boundary yet and stays admin-only).

Holders of `usage_view_groups` use the module **AI usage of my groups**
under the same **AI** group, with the same two switches: the module ticked
in the group's module list AND the grant held.

Everything else — configuration, providers, models, the playground,
record browsing, the Analytics module with its billing report and export —
remains administrator-only regardless of grants.
