ADR-009: Group-Based Access Control via Extension Configuration 

Status: Accepted

Date: 2026-03-14

Context 

The AI chat must be restricted to authorized backend users. TYPO3 provides several access control mechanisms:

  • Backend User Permissions / Access Lists: Fine-grained per-user or per-group permission records. Flexible, but requires administrators to configure individual permission records in the TYPO3 backend — significant overhead for a single on/off feature.
  • Module access via ``allowed_modules``: Controls which modules a group can see, but does not restrict API endpoints.
  • Custom group allowlist in extension configuration: A comma-separated list of backend group UIDs in ext_conf_template.txt. Simple to configure, enforceable on both module and API layer.

Decision 

Use a allowedGroups extension configuration setting. If the list is empty, all authenticated backend users have access. If non-empty, only users belonging to one of the listed groups can access the chat module and API endpoints.

Consequences 

  • Configuration is a single field in Admin Tools > Extension Configuration — no permission records to create.
  • The check is applied uniformly in the API controller before any processing begins.
  • Granularity is at the group level; per-user overrides require creating a dedicated group.
  • Admin users (UID 0) bypass the check in line with TYPO3 conventions.