Open Source MDM SDK

Modern Device Management
for Android

OpenMDM is a modern, embeddable MDM SDK that gives you complete control over Android devices. Built for developers who need enterprise-grade device management without the complexity.

Everything you need for device management

OpenMDM provides a complete toolkit for managing Android devices at scale.

Device Enrollment

Simple QR code or zero-touch enrollment for seamless device onboarding.

Policy Management

Define and enforce device policies including app restrictions, network settings, and security requirements.

Security Controls

Remote lock, wipe, and password enforcement to keep your devices secure.

App Management

Install, update, and manage applications remotely across your device fleet.

Kiosk Mode

Lock devices to specific apps for dedicated-use scenarios like retail or hospitality.

Developer Friendly

Clean TypeScript SDK with comprehensive documentation and examples.

Simple Integration

Get started with just a few lines of code

server.ts
import { createMDMServer } from '@openmdm/core';
import { sqliteStorage } from '@openmdm/storage-sqlite';
import { fcmPush } from '@openmdm/push-fcm';

const mdm = createMDMServer({
  storage: sqliteStorage({ filename: './mdm.db' }),
  push: fcmPush({ projectId: 'your-project-id' }),
});

// Enroll a device
const device = await mdm.devices.enroll({
  enrollmentToken: 'abc123',
});

// Apply a policy
await mdm.policies.apply(device.id, {
  kioskMode: true,
  allowedApps: ['com.example.app'],
});

Ready to get started?

OpenMDM is open source and free to use. Check out the documentation to learn more.