{ "$schema": "https://raw.githubusercontent.com/guitaripod/wwdc-sessions/master/schema/session.schema.json", "schemaVersion": 1, "id": "wwdc2026-230", "event": "wwdc2026", "eventName": "WWDC26", "year": 2026, "eventContentId": 230, "title": "What’s new in assessment on macOS", "description": "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.", "url": "https://developer.apple.com/videos/play/wwdc2026/230", "sosumiURL": "https://sosumi.ai/videos/play/wwdc2026/230", "type": "Video", "publishedAt": "2026-06-08T14:00:00-07:00", "platforms": [ "iOS", "iPadOS", "macOS" ], "keywords": [ "🎈" ], "topics": [ "App Services", "Business & Education" ], "primaryTopic": "Business & Education", "duration": 841, "hasTranscript": true, "transcriptWordCount": 1871, "availableLanguages": [ "eng", "fra", "jpn", "kor", "por", "spa", "zho" ], "media": { "hls": "https://devstreaming-cdn.apple.com/videos/wwdc/2026/230/4/03914f48-0bbe-4f2d-bb09-3ae676579cf2/cmaf.m3u8", "downloadHLS": "https://devstreaming-cdn.apple.com/videos/wwdc/2026/230/4/03914f48-0bbe-4f2d-bb09-3ae676579cf2/cmaf-download.m3u8", "downloadSD": "https://devstreaming-cdn.apple.com/videos/wwdc/2026/230/4/03914f48-0bbe-4f2d-bb09-3ae676579cf2/downloads/wwdc2026-230_sd.mp4", "downloadHD": "https://devstreaming-cdn.apple.com/videos/wwdc/2026/230/4/03914f48-0bbe-4f2d-bb09-3ae676579cf2/downloads/wwdc2026-230_hd.mp4", "duration": 841 }, "codeSnippets": [ { "title": "Set up precondition checks", "language": "swift", "startTimeSeconds": 150, "code": "import AutomaticAssessmentConfiguration\n\nfunc makeAssessmentConfiguration() -> AEAssessmentConfiguration {\n let configuration = AEAssessmentConfiguration()\n\n configuration.allowLockdownMode = false\n configuration.allowPrivateRelay = false\n configuration.requiresSIP = true\n configuration.requiresManagedDevice = true\n configuration.requiresSingleUser = true\n configuration.requiresUserAccountType = .standard\n\n return configuration\n}" }, { "title": "Restrict accessibility features", "language": "swift", "startTimeSeconds": 241, "code": "import AutomaticAssessmentConfiguration\n\nfunc makeAssessmentConfiguration() -> AEAssessmentConfiguration {\n let configuration = AEAssessmentConfiguration()\n\n configuration.allowsAccessibilityVoiceOver = true\n configuration.allowsAccessibilitySwitchControl = false\n configuration.allowsAccessibilityAlternativeInputMethods = true\n configuration.allowsAccessibilityBackgroundSounds = true\n configuration.allowsAccessibilityHoverText = true\n configuration.allowsAccessibilityLiveSpeech = true\n configuration.allowsAccessibilitySpokenContent = true\n configuration.allowsAccessibilityVoiceControl = true\n configuration.allowsAccessibilityZoom = true\n\n return configuration\n}" }, { "title": "Customize the Menu Bar items", "language": "swift", "startTimeSeconds": 332, "code": "import AutomaticAssessmentConfiguration\n\nfunc makeAssessmentConfiguration() -> AEAssessmentConfiguration {\n let configuration = AEAssessmentConfiguration()\n\n configuration.allowsMenuBar = true\n configuration.allowedMenuBarItems = [\n .battery,\n .clock,\n .volume\n ]\n configuration.allowedAppleMenuItems = [\n .sleep\n ]\n\n return configuration\n}" }, { "title": "Define input restrictions", "language": "swift", "startTimeSeconds": 421, "code": "import AutomaticAssessmentConfiguration\n\nfunc makeAssessmentConfiguration() -> AEAssessmentConfiguration {\n let configuration = AEAssessmentConfiguration()\n\n configuration.allowsDictation = false\n configuration.allowsAutoFill = false\n configuration.allowsStructuralInput = false\n configuration.allowsEmojiKeyboard = false\n\n return configuration\n}" }, { "title": "Enable dock appearance", "language": "swift", "startTimeSeconds": 458, "code": "import AutomaticAssessmentConfiguration\n\nfunc makeAssessmentConfiguration() -> AEAssessmentConfiguration {\n let configuration = AEAssessmentConfiguration()\n\n configuration.allowsDock = true\n\n return configuration\n}" }, { "title": "Set allowed directories and files", "language": "swift", "startTimeSeconds": 515, "code": "import AutomaticAssessmentConfiguration\n\nfunc makeAssessmentConfiguration() -> AEAssessmentConfiguration {\n let configuration = AEAssessmentConfiguration()\n\n configuration.allowedDirectoriesAndFiles = [\n URL(fileURLWithPath: \"~/Documents/\")\n ]\n\n return configuration\n}" }, { "title": "Set application launch restrictions", "language": "swift", "startTimeSeconds": 598, "code": "import AutomaticAssessmentConfiguration\n\nfunc makeAssessmentConfiguration() -> AEAssessmentConfiguration {\n let configuration = AEAssessmentConfiguration()\n\n configuration.allowOnlyParticipantsToRun = true\n configuration.allowsUserScriptExecution = false\n\n return configuration\n}" } ], "resources": [ { "title": "Automatic Assessment Configuration", "url": "https://developer.apple.com/documentation/AutomaticAssessmentConfiguration", "type": "documentation", "description": "Enter single-app mode and prevent students from accessing specific system features while taking an exam.", "sosumiURL": "https://sosumi.ai/documentation/AutomaticAssessmentConfiguration", "doccJSON": "https://developer.apple.com/tutorials/data/documentation/AutomaticAssessmentConfiguration.json" } ], "path": "sessions/wwdc2026/230-what-s-new-in-assessment-on-macos/", "files": { "metadata": "sessions/wwdc2026/230-what-s-new-in-assessment-on-macos/metadata.json", "readme": "sessions/wwdc2026/230-what-s-new-in-assessment-on-macos/README.md", "transcript": "sessions/wwdc2026/230-what-s-new-in-assessment-on-macos/transcript.md", "transcriptJSON": "sessions/wwdc2026/230-what-s-new-in-assessment-on-macos/transcript.json" } }