-
What’s new in assessment on macOS
Explore the Automatic Assessment Configuration framework on macOS to deliver secure tests for education apps. Learn how to leverage new APIs to create a secure, configurable testing environment that incorporates more system-level features on Mac. Find out how built-in system prechecks and accessibility controls make it easier than ever to deliver a reliable exam experience.
Chapters
- 0:00 - Introduction
- 1:34 - Precondition checks
- 3:00 - Accessibility restrictions
- 4:33 - System experience customization
- 9:16 - Application launch restrictions
- 10:51 - Best practices
- 12:35 - Next steps
Resources
Related Videos
WWDC26
-
Search this video…
-
-
2:30 - Set up precondition checks
import AutomaticAssessmentConfiguration func makeAssessmentConfiguration() -> AEAssessmentConfiguration { let configuration = AEAssessmentConfiguration() configuration.allowLockdownMode = false configuration.allowPrivateRelay = false configuration.requiresSIP = true configuration.requiresManagedDevice = true configuration.requiresSingleUser = true configuration.requiresUserAccountType = .standard return configuration } -
4:01 - Restrict accessibility features
import AutomaticAssessmentConfiguration func makeAssessmentConfiguration() -> AEAssessmentConfiguration { let configuration = AEAssessmentConfiguration() configuration.allowsAccessibilityVoiceOver = true configuration.allowsAccessibilitySwitchControl = false configuration.allowsAccessibilityAlternativeInputMethods = true configuration.allowsAccessibilityBackgroundSounds = true configuration.allowsAccessibilityHoverText = true configuration.allowsAccessibilityLiveSpeech = true configuration.allowsAccessibilitySpokenContent = true configuration.allowsAccessibilityVoiceControl = true configuration.allowsAccessibilityZoom = true return configuration } -
5:32 - Customize the Menu Bar items
import AutomaticAssessmentConfiguration func makeAssessmentConfiguration() -> AEAssessmentConfiguration { let configuration = AEAssessmentConfiguration() configuration.allowsMenuBar = true configuration.allowedMenuBarItems = [ .battery, .clock, .volume ] configuration.allowedAppleMenuItems = [ .sleep ] return configuration } -
7:01 - Define input restrictions
import AutomaticAssessmentConfiguration func makeAssessmentConfiguration() -> AEAssessmentConfiguration { let configuration = AEAssessmentConfiguration() configuration.allowsDictation = false configuration.allowsAutoFill = false configuration.allowsStructuralInput = false configuration.allowsEmojiKeyboard = false return configuration } -
7:38 - Enable dock appearance
import AutomaticAssessmentConfiguration func makeAssessmentConfiguration() -> AEAssessmentConfiguration { let configuration = AEAssessmentConfiguration() configuration.allowsDock = true return configuration } -
8:35 - Set allowed directories and files
import AutomaticAssessmentConfiguration func makeAssessmentConfiguration() -> AEAssessmentConfiguration { let configuration = AEAssessmentConfiguration() configuration.allowedDirectoriesAndFiles = [ URL(fileURLWithPath: "~/Documents/") ] return configuration } -
9:58 - Set application launch restrictions
import AutomaticAssessmentConfiguration func makeAssessmentConfiguration() -> AEAssessmentConfiguration { let configuration = AEAssessmentConfiguration() configuration.allowOnlyParticipantsToRun = true configuration.allowsUserScriptExecution = false return configuration }
-
-
- 0:00 - Introduction
An overview of the Automatic Assessment Configuration framework in macOS 27, which creates a locked-down testing environment, and a preview of the five areas covered.
- 1:34 - Precondition checks
Require a hardened device before an exam starts — System Integrity Protection, MDM enrollment, a single signed-in standard account, and disabled Lockdown Mode and iCloud Private Relay.
- 3:00 - Accessibility restrictions
Control which built-in accessibility features stay available during a session, allowing approved accommodations like Switch Control while restricting features that accept user-generated content.
- 4:33 - System experience customization
Tailor how students interact with macOS during an assessment by customizing the Menu Bar and its items, the Dock, input technologies like Dictation and AutoFill, and Finder access.
- 9:16 - Application launch restrictions
Restrict which processes run during an assessment to your app and allowlisted participants, and block Shortcuts and Automator script execution to protect the testing environment.
- 10:51 - Best practices
Recommendations for adopting the framework: rely on its APIs rather than building equivalents, restrict only the minimum required, treat accessibility as a requirement, and register for session transition callbacks.
- 12:35 - Next steps
Ways to take your assessment app further — validate device integrity with pre-checks, enable accessibility for an equitable experience, customize the system experience, block non-essential processes, and test with real exam workflows.