Skip to content

Authentication ​

UTEM supports multi-user authentication with role-based project isolation. It is opt-in — disabled by default for single-user setups.

Enabling Auth ​

Set in application.properties:

properties
utem.security.enabled=true
utem.admin.username=admin
utem.admin.password=changeme

Restart the server. On first startup, the admin super-admin account is created automatically.

Login at http://localhost:8080/login.

Roles ​

RoleDescription
SUPER_ADMINFull access — manage users, projects, all runs
MEMBERAccess only to assigned projects

User Management ​

As SUPER_ADMIN, go to Users to:

  • Create new users (username, email, password, role)
  • Deactivate / reactivate accounts
  • Reset passwords

Project Isolation ​

Each Project has an API key used by reporters. Members can only see runs from their assigned projects.

  1. Go to Projects → create a project
  2. Click Members on the project card
  3. Add a user with role VIEWER or ADMIN

The user now sees only that project's runs, trends, and analytics.

API Keys vs JWT ​

API KeyJWT
Used byReporters (CI pipeline)Dashboard users (browser)
FormatX-API-Key: utem_... headerAuthorization: Bearer ... header
ScopeSingle projectUser's assigned projects

Reporters always use the API key — they are not affected by enabling auth.

Changing Password ​

Logged-in users can change their password via the user menu in the sidebar.

Security Notes ​

  • Change the default admin password immediately in production
  • Set a strong utem.jwt.secret (base64-encoded, at least 32 bytes)
  • HTTPS is recommended for production deployments (use a reverse proxy like nginx)

Released under the MIT License.