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.How It Works
When users connect through the Formal Desktop App:- The app collects device information (hardware, software, security settings)
- This information is sent to the Connector along with the connection request
- 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 throughinput.device.mdm:
Hardware Information
| Field | Description |
|---|---|
model_name | Device model name (e.g., “MacBook Pro”) |
model_identifier | Model identifier (e.g., “MacBookPro18,1”) |
serial_number | Hardware serial number |
hardware_uuid | Unique hardware identifier |
activation_lock_status | Activation lock status (macOS) |
Software Information
| Field | Description |
|---|---|
system_version | OS version (e.g., “14.2”) |
kernel_version | Kernel version |
computer_name | Computer/hostname |
user_name | Local user account name |
system_integrity_protection | SIP status (macOS) |
secure_virtual_memory | Encrypted virtual memory status |
boot_mode | Secure boot status |
MDM Information (When Integration Enabled)
| Field | Description |
|---|---|
enrolled | Device enrollment status |
compliant | Overall compliance status |
compliance_status | Detailed compliance state |
installed_profiles | List of installed profiles |
configuration_profiles | MDM configuration profiles |
last_checkin | Last MDM check-in timestamp |
management_status | Device management status |
MDM Platform Integration
Formal directly integrates with Kandji to automatically sync device compliance data and enforce policies based on real-time device status.Kandji Integration
Formal’s native Kandji integration automatically syncs device compliance data and makes it available in policies throughdata.mdm_devices attributes.
Setup
Option 1: UI Setup- Go to MDM Integrations in the Formal dashboard
- Click Connect next to Kandji
- Enter your Kandji API credentials:
- API URL:
https://your-org.api.kandji.io - API Token: Your Kandji API token
- API URL:
- Click Save to enable the integration
formal_integration_mdm resource as shown in the Terraform Configuration section above.
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:- Navigate to Sessions
- Click on any session
- Review device information in session details
- Filter sessions by device attributes
- Audit which devices are accessing resources
- Identify non-compliant devices attempting connections
- Track OS versions and security settings across your fleet
Best Practices
Require Desktop App
Require Desktop App
Enforce use of the Formal Desktop App for connections that require device
compliance checks. Block direct connections that bypass device verification.
Layer Security
Layer Security
Combine device-based policies with user-based and resource-based policies for
defense in depth.
Grace Periods
Grace Periods
When implementing new device requirements, use dry-run mode first and give
users time to update their devices.
Enable Kandji Integration
Enable Kandji Integration
Connect your Kandji platform to automatically sync device compliance data
and enforce real-time policies.
Audit Regularly
Audit Regularly
Review session logs to identify devices that frequently fail compliance
checks.