Help center · IT runbook

Remote Apple TV setup, in the right order.

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.

App name
SignCloudNine
Bundle ID
com.cmillerit.SimpleBoard
Server
https://signcloudnine.com

Remote-ready boundary

MDM cannot remotely supervise an unmanaged Apple TV.

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

Make the device manageable first.

Required

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.

Required

Activated screen seat and published site

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.

Required

App available to the MDM

Add the approved SignCloudNine tvOS app record or package to the MDM. The app’s bundle identifier is com.cmillerit.SimpleBoard.

Recommended

Two deployment groups

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

Install. Configure. Verify. Lock.

The sequence matters. Do not apply App Lock before the app is installed and the screen has accepted its assignment.

  1. 1

    Create one screen code.

    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.
  2. 2

    Install SignCloudNine.

    Assign the tvOS app to the Apple TV or its install group. Confirm the MDM reports the app installed before continuing.

  3. 3

    Send managed app configuration.

    Send quickBoardServer, quickBoardPairingCode, and the device identity values to the SignCloudNine app. The app claims the code on first successful launch.

  4. 4

    Launch and let content activate.

    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.

  5. 5

    Verify Playing in the manager.

    Check the screen name, assignment, last check-in, and content state. Playing is the acceptance gate—not merely “app installed” or “device online.”

  6. 6

    Remove the code, then apply App Lock.

    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

Send only the setup values the app needs.

Do not place a workspace password, administrator token, device bearer credential, or Cloudflare secret in MDM.

KeyValueUse
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.
SimpleMDM managed app configurationImport after creating the three attributes
<?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

Separate installation from App Lock.

Group A

Install & enroll

  1. Assign the SignCloudNine tvOS app.
  2. Assign the managed app configuration.
  3. Use device-level custom attributes for the unique code, ID, and name.
  4. Wait for installation and Playing confirmation.

Group B

Signage lock

  1. Keep the app and managed configuration assigned.
  2. Remove or blank the claimed pairing code.
  3. Apply Single App Lock for com.cmillerit.SimpleBoard.
  4. Use this group only after the app is present.
Fleet handoffUp to 100 Apple TVs per request
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

Prove the remote setup on both sides.

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

Recover without erasing the first proof.

The code expired before the device enrolled.

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.

The MDM says installed, but the screen is missing in SignCloudNine.

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.

The screen is connected but not Playing.

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.

The app needs an update while App Lock is active.

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.

The Apple TV is lost or retired.

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

Apple and SimpleMDM deployment details

Profile names and provider screens can change. Use these current platform references when your MDM labels differ from this runbook.