Skip to main content

Overview

Formal’s Mobile Device Management (MDM) integration allows you to enforce device-based security policies on user connections. By integrating with your organization’s MDM solution, you can ensure that only compliant, managed devices can access protected resources through Formal.
MDM-based policies require users to connect through the Formal Desktop App, which collects and reports device information.

How It Works

When users connect through the Formal Desktop App:
  1. The app collects device information (hardware, software, security settings)
  2. This information is sent to the Connector along with the connection request
  3. Policies evaluate device attributes via input.device

Device Information Available

Formal collects comprehensive device metadata that can be used in policies. When MDM integration is enabled, additional compliance data is available through input.device.mdm:

Hardware Information

Software Information

MDM Information (When Integration Enabled)

Supported MDM Providers

Formal supports Kandji, Fleet, Jamf Pro, and Mosyle for endpoint rollout. For MDM integrations, Formal supports Kandji, Fleet, and Jamf Pro.

Endpoint Rollout

Go to MDM and click Set Up Endpoint Rollout. The dialog walks you through selecting your provider, downloading deployment files, and following setup instructions in your MDM console.

Connect Your MDM

To surface data.mdm_devices in policies, create an MDM integration. This syncs enrolled device data from your MDM into Formal. Option 1: Formal console
  1. Go to MDM
  2. Click Create Integration
  3. Select Kandji, Fleet, or Jamf Pro
  4. Enter your MDM API credentials
  5. Click Save
Option 2: Terraform Use the formal_integration_mdm resource with the block for your provider:
See the Terraform provider for Kandji and Jamf Pro examples. Verify: After saving, open the integration detail page and confirm devices appear under Devices.

Example Policies

Require Secure Boot

Block Jailbroken/Modified Devices

Enforce Activation Lock (macOS)

Require Encrypted Virtual Memory

Allow Only Corporate Devices

Conditional Access Based on Device

Monitoring Device Compliance

View device information in session logs:
  1. Navigate to Sessions
  2. Click on any session
  3. Review device information in session details
  4. Filter sessions by device attributes
This allows you to:
  • Audit which devices are accessing resources
  • Identify non-compliant devices attempting connections
  • Track OS versions and security settings across your fleet

Best Practices

Enforce use of the Formal Desktop App for connections that require device compliance checks. Block direct connections that bypass device verification.
Combine device-based policies with user-based and resource-based policies for defense in depth.
When implementing new device requirements, use dry-run mode first and give users time to update their devices.
Connect Kandji, Fleet, or Jamf Pro to sync device compliance data into Formal. Use endpoint rollout to deploy the Formal Endpoint across your fleet.
Review session logs to identify devices that frequently fail compliance checks.

Next Steps

Desktop App

Install the Formal Desktop App

Write Policies

Create device-based policies

Terraform Provider

Configure MDM integrations with Terraform

MDM Integrations

Set up endpoint rollout and MDM integrations