Supervised, enrolled Apple TV
Use Automated Device Enrollment for new or erased organization-owned devices. Apple TV Auto Advance can complete Setup Assistant when the device has power, Ethernet, and an assigned enrollment profile.
Help center · IT runbook
Use MDM to install SignCloudNine, deliver one device’s setup code, verify the assigned content, and only then lock the Apple TV to the signage app.
com.cmillerit.SimpleBoardhttps://signcloudnine.comRemote-ready boundary
For zero-touch setup, the Apple TV must already be assigned through Apple Business Manager or Apple School Manager and enrolled with Automated Device Enrollment. Existing unmanaged devices need an Apple-supported preparation path before this runbook becomes remote.
01 · Prerequisites
Use Automated Device Enrollment for new or erased organization-owned devices. Apple TV Auto Advance can complete Setup Assistant when the device has power, Ethernet, and an assigned enrollment profile.
Create the site and publish its initial board, then confirm the workspace has an available activated screen seat before you generate the screen’s code.
Add the approved SignCloudNine tvOS app record or package to the MDM. The app’s bundle identifier is com.cmillerit.SimpleBoard.
Use an Install & enroll group first and a Signage lock group second. This keeps App Lock from blocking installation or an app update.
02 · Deployment order
The sequence matters. Do not apply App Lock before the app is installed and the screen has accepted its assignment.
In SignCloudNine, open Screens → Add screen. Name the Apple TV, choose its site and initial board state, and create the code.
Use a different single-use code for every Apple TV. The manager’s code expires after 24 hours.Assign the tvOS app to the Apple TV or its install group. Confirm the MDM reports the app installed before continuing.
Send quickBoardServer, quickBoardPairingCode, and the device identity values to the SignCloudNine app. The app claims the code on first successful launch.
Open the app with the MDM’s supported launch path, or launch it locally once. Keep the Apple TV online while the app downloads and verifies its assignment.
Check the screen name, assignment, last check-in, and content state. Playing is the acceptance gate—not merely “app installed” or “device online.”
Blank or remove quickBoardPairingCode from the managed configuration. Move the Apple TV into the Signage lock group and apply App Lock / Single App Mode to the SignCloudNine bundle ID.
03 · Managed app configuration
Do not place a workspace password, administrator token, device bearer credential, or Cloudflare secret in MDM.
quickBoardServerhttps://signcloudnine.comRequired. Cloud control-plane address.quickBoardPairingCode{{scn_pairing_code}}Required once. Secret device-level custom attribute; remove after Playing.quickBoardDeviceId{{scn_device_id}}Required for remote setup. Stable, unique device-level custom attribute.quickBoardDeviceName{{scn_device_name}}Recommended. Human-readable device-level custom attribute.<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>quickBoardServer</key>
<string>https://signcloudnine.com</string>
<key>quickBoardPairingCode</key>
<string>{{scn_pairing_code}}</string>
<key>quickBoardDeviceId</key>
<string>{{scn_device_id}}</string>
<key>quickBoardDeviceName</key>
<string>{{scn_device_name}}</string>
</dict>
</plist>SimpleMDM setup: In Configs → Attributes, create scn_pairing_code as a secret custom attribute plus scn_device_id and scn_device_name. SimpleMDM replaces double-brace attributes separately for each device. If an attribute is missing, the placeholder remains unchanged and enrollment fails closed.
04 · SimpleMDM pattern
Group A
Group B
com.cmillerit.SimpleBoard.POST /api/v1/admin/pins/batch
{
"boardId": "BOARD_UUID",
"devices": [
{ "deviceId": "lobby-atv-01", "deviceName": "Lobby Apple TV" },
{ "deviceId": "drive-thru-atv-01", "deviceName": "Drive-thru Apple TV" }
]
}Automated handoff: The batch response contains the exact scn_* values for every device. SignCloudNine operators can use the included provision-simplemdm-fleet.mjs utility to write them through the SimpleMDM API. It previews by default and changes SimpleMDM only with an explicit --apply.
Why two groups? App installation or updates can be blocked while Single App Mode is active. Moving verified devices into the lock group creates an inspectable handoff instead of racing the install.
05 · Acceptance gate
Evidence boundary: MDM success, app installation, workspace enrollment, content playback, and restart behavior are separate checks. A green result in one system does not prove the others.
06 · Rotation & recovery
Create a new setup code for that screen, update only that device’s managed configuration, and launch the app again. Do not reuse another screen’s code.
Confirm the app received quickBoardServer and the unclaimed device-specific code, then confirm the app actually launched with network access. Installation alone does not claim the code.
Keep App Lock off while you review the assigned site, published content, network access, and recent screen events. The app can be enrolled before its first content activation completes.
Temporarily move the Apple TV back to the install group or remove App Lock, complete and verify the update, then return it to the lock group. Follow the MDM provider’s current update guidance.
Revoke the screen from the SignCloudNine manager or support workflow and remove its app configuration and App Lock assignments in MDM. Do not treat an MDM erase alone as revocation of cloud access.
Platform references
Profile names and provider screens can change. Use these current platform references when your MDM labels differ from this runbook.