Skip to main content

Access Rights

Artemis distinguishes between seven different roles: SUPER_ADMIN, ADMIN, INSTRUCTOR, EDITOR, TA (Teaching Assistant), USER (Student) and ANONYMOUS. The roles are sorted in descending order. An INSTRUCTOR has at least all the permissions that an EDITOR has. A SUPER_ADMIN has no restrictions, while an ANONYMOUS has hardly any rights.

Roles Overview

  • SUPER_ADMIN: has all permissions that an ADMIN has and additional privileges for critical security operations (see Super Admin vs Admin for details)
  • ADMIN: can access all features that Artemis provides (includes features regarding the server administration, e.g. server health checks, user management and creating new courses)
  • INSTRUCTOR: can access all features related to the content of a course (includes creating and deleting exercises/exams/lectures and monitoring scores and submissions)
  • EDITOR: can create and edit the content of a course but cannot delete content and monitoring other course participants is limited
  • TEACHING ASSISTANT: can assess student submissions and view course content before the release date
  • USER: participates as a Student in courses, can view course content after the release date
  • ANONYMOUS: role before login
⚠️

When changing the access rights of a user, the respective user must logoff and then logon again for the changes to take effect.

In the following, the respective permissions illustrated. If a subordinated role has all permissions or a role does not have any access rights, it is not explicitly displayed.

Super Admin vs Admin

While Super Admins have all the permissions of regular Admins, they have additional privileges in security-critical areas:

Admin User Management

Only Super Admins can manage administrator accounts (both Admin and Super Admin users). This includes:

  • Creating new admin or super admin users
  • Updating existing admin or super admin users
  • Activating/Deactivating admin or super admin users
  • Deleting admin or super admin users

Regular Admins can only manage users with roles below Admin (Instructor, Editor, Teaching Assistant, Student).

Passkey Approval

Super Admins have the exclusive privilege to approve passkey registrations for administrators. This minimizes the attack surface for critical security operations by limiting passkey approval to a very small number of trusted users.

For detailed information about passkey authentication, configuration, and the approval process, see the Passkey Authentication section in the Security Configuration documentation.

ℹ️

Super Admin privileges ensure that only the most trusted users can manage administrator accounts and approve passkeys for administrators. This minimizes the attack surface for critical security operations.

Terminology

ℹ️

Import Exercise requires at least Editor role in both the source and target course.

ℹ️

Course membership terminology:

  • "if in course": User must be assigned to the course as staff (member of the course's TA, Editor, or Instructor group)
  • "if enrolled": User must be enrolled as a student (member of the course's Student group)
  • "if visible": User can view the resource according to its release date or visibility settings (typically based on releaseDate). See Lectures > Visibility Rules for detailed definitions.

Both "if in course" and "if enrolled" require the user to be associated with the specific course - platform-wide roles alone are not sufficient.

FeatureSuper AdminAdminInstructorEditorTeaching AssistantStudent
Course Overview
Course Management
Edit Course
Create new course
Delete Course
Server Administration
Manage Non-Admin Users
Manage Admin Users
Approve Passkeys

Course

FeatureInstructorEditorTeaching Assistant
Exercises
Exams
Assessment Dashboard
Statistics
Lectures
Learning Goals
Instructor Course Dashboard

Exercises

Common Prerequisites

The following prerequisites apply to all exercise types unless otherwise noted:

  • Course Enrollment: All exercise access requires enrollment in the course (except for Admins)
  • Admin Override: Admins can access all exercises regardless of course membership
  • Exam vs Course: Exam exercises require Editor role for viewing details; course exercises only require TA role

Common Visibility Rules

The following visibility rules apply to all exercise types:

Exercise Release:

  • Students can only view and participate in exercises after the releaseDate has passed
  • Teaching Assistants and above can view exercises before release

Submission Due Date:

  • All users can only submit before the exercise dueDate
  • Submissions after due date are rejected (except for exam exercises which have separate handling)

Own Submission/Participation:

  • Students can only view their own participations and submissions
  • Teaching Assistants and above can view all participations and submissions

Assessment Results:

  • Students can view their assessment results only after the assessment is finalized AND the assessment due date has passed
  • Assessor information is hidden from students until assessment is finalized

Example Solution:

  • Students can view the example solution only after it has been published (isExampleSolutionPublished())
  • Teaching Assistants and above can view example solutions at any time
ℹ️

Exam exercises have separate submission handling and do not follow the standard due date rejection rules.

General Functionality

The following permissions apply to all exercise types. Exercise-type-specific sections below list only additional features or where permissions differ.

FeatureInstructorEditorTeaching AssistantStudent
View Exercise (course)✔ (if in course)✔ (if in course)✔ (if in course)✔ (if enrolled + released)
View Exercise (exam)✔ (if in course)✔ (if in course)
Exercise Detail View
Create Exercise
Edit Exercise
Delete Exercise
Import Exercise✔ (both courses)✔ (both courses)
Search Exercises
Scores
Participation
Start + Submit Exercise
Create / Update Example Submissions
View / Assess Example Submissions
Check Plagiarism
Export All Submissions
Add External Submission
ℹ️

See the Terminology section for definitions of "if in course" and "if enrolled" conditions.

⚠️

Exam exercises require Editor role for viewing details, while course exercises only require Teaching Assistant role.

Shared Submission and Assessment Features

The following features are shared across File Upload, Modeling, and Text exercises. Programming and Quiz exercises have different submission and assessment models — see their dedicated sections.

ℹ️

Double-blind assessment is supported: TAs cannot see student/team information during assessment. Students cannot see who assessed their submission.

FeatureInstructorEditorTeaching AssistantStudent
Re-evaluate Exercise
View Course Exercises✔ (if in course)✔ (if in course)✔ (if in course)
Submit Exercise✔ (before due date)✔ (before due date)✔ (before due date)✔ (before due date)
View Own Submission✔ (own only)
View Submission Editor Data✔ (own only)
Get Submission (for assessment)
Get Unassessed Submission
List All Submissions
Save Assessment
Cancel Assessment
Update After Complaint
View Assessment Result✔ (own, after graded)
Delete Assessment
Export Submissions (limited)

Programming Exercises

In addition to the General Functionality above, Programming Exercises have these specific features:

FeatureInstructorEditorTeaching AssistantStudent
Clone Repository
Download Repo
Export Instructor Repository
Export Student Repository✔ (all)✔ (all)✔ (all)✔ (own only)
Export Solution (if published)
Edit in Editor
Manage Hints
Update Structure Test Oracle
View Template/Solution Repos
Trigger Template/Solution Build
Edit Test Cases
View Test Cases
View Grading Statistics
Manage SCA Categories
Import SCA Configuration✔ (both courses)✔ (both courses)
Manage Submission Policies
View Submission Policy
Re-evaluate All Results
Trigger All Builds
(Un-)lock All Repositories
Download All Repos
Cleanup
Build Plan AccessR + WR + WR
Participate in Exercise✔ (if released)
Trigger Own Build
Get Exercise Tasks
ℹ️

Import SCA Configuration requires at least Editor role in both the source and target course.

Repository Access

Action Types:

  • READ (fetch, pull)
  • WRITE (push)
  • RESET (reset to origin head)

Access to all repositories of a course:

Admin / Instructor / EditorTeaching AssistantStudent
READ, WRITE, RESETREADrestricted

Access on own repositories (graded participation):

ContextInstructor / EditorTeaching AssistantStudent
Before startREAD, WRITE, RESETREAD, WRITE, RESETrestricted
After start but before due date and not lockedREAD, WRITE, RESETREAD, WRITE, RESETREAD, WRITE, RESET
After due dateREAD, WRITE, RESETREADREAD
LockedREAD, WRITE, RESETREADREAD
ℹ️

Practice repositories also allow WRITE and RESET access after the due date.

Additional Visibility Rules

Test Case Visibility:

  • Test case visibility is controlled per test case via the Visibility enum: ALWAYS, AFTER_DUE_DATE, NEVER
  • Exam exercises default to AFTER_DUE_DATE; course exercises default to ALWAYS
  • The releaseTestsWithExampleSolution flag controls when tests are revealed

Solution Repository:

  • Students can export the solution repository only after the example solution has been published
  • Before publication, Teaching Assistant role is required

Quiz Exercises

In addition to the General Functionality above, Quiz Exercises have these specific features:

ℹ️

Quiz exercises use a different submission and assessment model from other exercise types. The Shared Submission and Assessment Features do not apply to quizzes.

FeatureInstructorEditorTeaching AssistantStudent
Set Visible
Start Now
End Now
Preview
Sample Solution✔ (after quiz ends)
View Statistics
Recalculate Statistics
Evaluate Quiz
Re-evaluate Quiz
Submit (Live Mode)
Submit (Practice Mode)✔ (after quiz ends)✔ (after quiz ends)✔ (after quiz ends)✔ (after quiz ends)
Submit (Exam Mode)
Start Participation✔ (if released)✔ (if released)✔ (if released)✔ (if released)
Join Batch✔ (if started)✔ (if started)✔ (if started)✔ (if started)
Create Batch
Start Batch (own)
Start Batch (others')
Training Questions
Submit Training Answer
View Training Leaderboard
Update Leaderboard Settings
⚠️

End Now requires Instructor role (higher than Start Now which only requires Editor).

Batch Mode

Quiz exercises support three modes: SYNCHRONIZED, BATCHED, and INDIVIDUAL.

OperationModeTeaching AssistantStudent
Join BatchBATCHED/IND.✔ (if quiz started)✔ (if quiz started)
Create BatchBATCHED/IND.
Start BatchBATCHED/IND.✔ (own batches) / INSTRUCTOR (others')
ℹ️

Batch operations are not allowed for exam quiz exercises - they are only available for course quizzes.

Additional Visibility Rules

Quiz Started:

  • All users can join batches only after the quiz has started (and not ended)
  • Batch joining is not available for exam quiz exercises

Practice Mode:

  • All users can submit in practice mode only after the quiz has ended
  • For exam exercises, practice mode is only available for test exams

File Upload Exercises

File Upload Exercises follow the General Functionality and Shared Submission and Assessment Features above with no additional exercise-type-specific features.

Modeling Exercises

In addition to the General Functionality and Shared Submission and Assessment Features above, Modeling Exercises have these specific features:

Apollon Diagram Templates

Apollon diagram templates are course-level reusable diagram structures that instructors and course staff can create as reference materials for exercises. The permissions below apply to managing these templates, not to students creating their own models during exercise submissions.

FeatureInstructorEditorTeaching AssistantStudent
Create Template Diagram
Edit Template Diagram
View Diagrams (Course)
Delete Template Diagram
View Diagram Title
Convert Model to PDF
ℹ️

Note: Students can create and submit their own Apollon models when participating in a modeling exercise. This table only covers the creation and management of course-level template diagrams for instructional purposes.

Text Exercises

In addition to the General Functionality and Shared Submission and Assessment Features above, Text Exercises have these specific features:

FeatureInstructorEditorTeaching AssistantStudent
Submit Assessment
Save Example Assessment
Delete Example Assessment
View Plagiarism Result
Add Assessment Event
View Tutors Involved Analytics
View Assessment Events (Admin)Admin only
ℹ️

Text exercises also support Athena AI feedback suggestions (if enabled).

Lectures

FeatureInstructorEditorTeaching AssistantStudent
View Lecture✔ (if in course)✔ (if in course)✔ (if in course)✔ (if enrolled)
View Lecture Details✔ (if in course)✔ (if in course)✔ (if in course)✔ (if enrolled)
Create Lecture
Edit Lecture
Delete Lecture
Import Lecture✔ (both courses)✔ (both courses)
Search Lectures
View Lecture Unit✔ (if visible)
Add Lecture Unit
Edit Lecture Unit
Delete Lecture Unit
Complete Lecture Unit✔ (if visible)
View Lecture Unit Processing
Retry Lecture Unit Processing
View Attachment✔ (if visible)
View all Attachments for Lecture
Add Attachment (in unit)
Edit Attachment
Delete Attachment
ℹ️

Import Lecture requires at least Editor role in both the source and target course.

ℹ️

See the Terminology section for definitions of "if in course", "if enrolled", and "if visible" conditions.

Summary

RoleCapabilities
StudentView lectures/units in enrolled courses (after release date)
TASame as Student + see all units regardless of release date
EditorSame as TA + create/update lectures, units, and attachments
InstructorSame as Editor + delete lectures, units, and attachments
AdminFull access to all lectures

Prerequisites

  • Course Enrollment: All lecture access requires enrollment in the course (except for Admins)
  • Admin Override: Admins can access all lectures regardless of course membership

Visibility Rules

Visibility conditions marked as "(if visible)" or "(if enrolled)" in the table above are defined as follows:

Lecture Units and Attachments:

  • Visible to students if releaseDate is null OR releaseDate is in the past
  • Teaching Assistants and above can see all units/attachments regardless of release date

Search Lectures:

  • Non-admin users only see lectures from courses where they have at least Editor role
⚠️

The visibleDate field on the Lecture entity is deprecated and will be removed. All visibility control is managed at the lecture unit and attachment level via their releaseDate fields.

Exam

FeatureInstructorEditorTeaching Assistant
Assessment Dashboard
View Exercise Groups
Create Exercise Group
Edit Exercise Group
Import Exercise Group
Delete Exercise Group
Create Exam
Edit Exam
Import Exam
Archive Exam
Delete Exam
Exam Checklist
Scores
Test Run
Student Exams
Students