Product Security Guide

At PDQ we realize how important the security of our products is. That is why every decision we've made with SimpleMDM revolves around ensuring the product is safe to use for managing your devices. From multifactor authentication for admin, security policies for passcodes and other critical device settings, and more — SimpleMDM is built to securely manage your devices pretty damn quick.

laptop with security lock illustration
laptop with security lock illustration

Architecture overview



Introduction to SimpleMDM

SimpleMDM is a web-based Apple device management tool. IT professionals use SimpleMDM to remotely manage devices in their organization and perform actions like scanning endpoints for device information, organizing devices into Device Groups, installing and updating software, or running scripts — all remotely through the internet. 

SimpleMDM uses the Apple MDM protocol to manage devices. Before devices are enrolled into a SimpleMDM account, a certificate exchange allows SimpleMDM to contact your devices over the Apple Push Notification service (APNs). This enables the administrator to perform device management activities like retrieving inventory information; installing applications; pushing configuration profiles; and taking actions such as forcing a restart, locking, or wiping a device. All inventory information, commands, and configurations are managed via the SimpleMDM admin interface.


Product architecture

SimpleMDM’s production environment is segregated from the development environment and corporate networks and environments. There are no cross connections, and access is limited to SimpleMDM employees with a business justification for access.  

All access is controlled via a secure VPN choke point. Access to additional services, once on the production network, is restricted by a combination of certificate-based authentication and TOTP. Access to network and computer resources and services is logged. 


SimpleMDM admin interface

Administrators use the SimpleMDM admin interface to configure and manage Apple devices. The admin interface is hosted and provided by SimpleMDM as part of a paid subscription. 

When interacting with SimpleMDM through the admin interface in a browser, all communications to and from SimpleMDM are encrypted with industry-standard HTTPS connections using valid certificates. 

In the admin interface, administrators can see information about the devices they manage, apply settings and configurations, deploy applications, and take actions against devices. When configurations and applications are deployed to devices, Apple’s secure Push Notification service (APNs) initiates check-in requests from the devices. All communication between SimpleMDM and the devices use HTTPS.


Optional SimpleMDM Agent

SimpleMDM allows device management using Apple’s mobile device management (MDM) protocol. This protocol does not require a third-party agent on customer devices in order to operate. 

In addition to the complete range of services offered by SimpleMDM using Apple’s MDM protocol, SimpleMDM also offers a macOS Managed Software Center that leverages an open-source tool called Munki. If a customer decides to opt into using SimpleMDM’s Munki feature, an additional SimpleMDM Agent will be installed on macOS devices using the feature. This agent communicates with SimpleMDM’s servers over HTTPS to authenticate and download software packages.

Data security



Encryption

At rest: 
SimpleMDM's servers securely encrypt your information and information about your end users and devices. That includes all device scan information, deployment logs, statistics information, custom packages uploaded using the admin interface, and any other data stored in SimpleMDM's database. All of this data is encrypted at rest. 

Google server-side encryption uses one of the strongest block ciphers available, 256-bit Advanced Encryption Standard (AES-256), to encrypt SimpleMDM data.  

SimpleMDM engineers are required to ensure that Google resources are correctly configured to use Google server-side encryption securely following Google recommendations. 

In transit: 
SimpleMDM uses Google Cloud Platform (GCP) resources to store and encrypt sensitive data. To keep data encrypted, SimpleMDM ensures that all new and existing resources use GCP server-side encryption. By default, Google encryption uses Google-owned or Google-managed keys stored in Google Cloud Key Management Service (KMS). Specific services can also be configured to use customer-managed encryption keys using KMS or customer-supplied encryption keys.


Data isolation

All data within the SimpleMDM databases and services is logically separated and isolated using unique company identities. When data is requested from a service or database, it is isolated to only data that the unique company ID is allowed to access. This means customers only see their own data and never data from other SimpleMDM customers.


Data retention

Unless otherwise required by law, SimpleMDM retains sensitive and confidential data only for as long as necessary to fulfill the purposes for which it is collected and processed and/or to meet legal and client contractual obligations. To support compliance with these obligations, SimpleMDM annually reviews its existing retention practices regarding sensitive and confidential data.


Data backups

Our production environment utilizes the Google Cloud Platform and Cloudflare for infrastructure. We aim to implement robust high availability (HA) and disaster recovery (DR) strategies for our production environment.  

All data in our production environment is backed up nightly, at a minimum. All application code is stored in an encrypted, secured Git repository.  

In the event of a disaster, SimpleMDM has the ability to restore service by utilizing additional GCP regions.

Identity and authentication



Identity and authentication overview

Each SimpleMDM user is required to create an account password that meets complexity requirements. Additionally, the user must verify their email address within a certain timeframe to continue to use the SimpleMDM platform. Users may optionally configure additional security mechanisms to further secure their accounts.


Single sign-on (SSO)

Organizations can optionally use SAML for single sign-on (SSO) to authenticate and access their SimpleMDM accounts. By utilizing this method, users leverage their existing accounts to access SimpleMDM. Existing SSO options that support SAML include Google, Microsoft Live, and Microsoft Azure AD. 

For organizations that authenticate with usernames and passwords, passwords must be a minimum of eight characters and contain uppercase letters, lowercase letters, at least one number, and at least one symbol. Passwords do not expire but can be reset as needed. While usernames and passwords are an option, we recommend using SSO when creating a SimpleMDM user.


Multifactor authentication (MFA)

Organizations using SimpleMDM have the option to enforce multifactor authentication for all account users. Multifactor authentication is not required to access SimpleMDM, but it is strongly recommended.


User sessions

Users can remain logged in for one day before being automatically logged out. User accounts are locked after a number of failed log-in attempts and remain locked for a period of time or until unlocked with the help of our support team.


Product access

Organizations control and manage who has access to the SimpleMDM admin interface. Administrators can create users, edit user permissions, or remove users from their organization from the Users section of the SimpleMDM admin interface. SimpleMDM does not manage users or access on behalf of customers. 

Password reset 
For organizations that use usernames and passwords with SimpleMDM, users can reset their passwords via a password reset link. When the user requests a password reset link, they receive instructions in their email inbox. To reset a password, the user must have access to the email inbox associated with their user account. SimpleMDM does not reset passwords on behalf of customers. 

Learn more about managing SimpleMDM access. 

Operational security



System access

PDQ enforces a role-based access control (RBAC) policy over defined subjects and objects. PDQ controls access based upon defined roles and users authorized to assume such roles. By doing so, PDQ ensures that user access to in-scope system components is based on job role and function.

PDQ ensures that, at a minimum, the RBAC policy establishes and enforces RBAC on the following elements: 

  • Core business suite 

  • Software development system 

  • Cloud service providers (CSP) 

  • Other business-critical systems


Vulnerability prevention

PDQ has established a Vulnerability Monitoring and Scanning Program designed to identify, quantify, and prioritize internal and external vulnerabilities in systems and hosted applications at least weekly (or more randomly). PDQ also identifies and implements code analysis tools in the organization’s development pipeline to regularly scan both static and dynamic codebases for vulnerabilities. Processes ensure that the scope of any vulnerability is defined and documented before initiating a vulnerability assessment.

PDQ also ensures that all findings from vulnerability scans are analyzed and documented weekly and remediated in accordance with the organization's risk tolerance. PDQ shares information obtained from the vulnerability monitoring process and control assessments with key stakeholders to help eliminate similar vulnerabilities in other systems.

Other security topics



Third-party vendors

SimpleMDM utilizes a handful of services required for product functionality. These third-party vendors process data for PDQ:

Provider

Service

Notes

Auth0

Authentication

Used for managing user authentication and passwords.

Mixpanel

Usage tracking

Used for tracking feature usage in SimpleMDM.

Stripe

Payments

Used for managing subscriptions and storing payment information.

Cloudflare

Cloud infrastructure

Used for enabling or disabling certain product features.

Google Analytics

Analytics

Used for tracking mouse locations and feature usage.

Google Cloud

Cloud infrastructure

Used for identity and account management.

Sentry

Logging

Used for identifying and logging bugs or other product issues.

New Relic

Service performance monitoring

Used for monitoring SimpleMDM service performance.

Twilio

Cloud infrastructure 

Used for sending enrollment links via SMS.

HubSpot

Marketing automation

Used for forms and sending emails.

UserVoice

Feedback

Used for capturing user suggestions and feature requests.

ZenDesk

Customer support

Used for customer support tickets.


Security audits

PDQ performs annual human-based and weekly automated penetration tests to identify vulnerabilities that could be exploited to gain access to its production environment.  PDQ ensures that in-scope assets are documented before initiating any penetration test. PDQ’s internal SimpleMDM team has committed to an internal SLA to remediate issues found by these tests.

Additionally, PDQ has engaged a third-party bug bounty program that pays out for non-publicly disclosed vulnerabilities.


Certifications

PDQ takes security seriously and realizes the value of independently audited security certifications. We are SOC 2 compliant and will continue to undergo routine audits for updated reports.


Shared Apps

SimpleMDM offers an optional feature called Shared Apps. This feature allows organizations to pull packages for popular applications from SimpleMDM — without having to manage the packages themselves. For example, SimpleMDM keeps the latest version of Google Chrome available in the Shared Apps directory, making it easy for organizations to deploy the latest browser version to target devices.  

This is an optional feature included with SimpleMDM. Organizations can choose not to use this feature and instead manually create packages. 

Package creation process 
To create a software package, SimpleMDM periodically uses a system to scan software providers for new updates, then uploads them to the SimpleMDM Shared App directory.  

Shared Apps are manually tested on virtual machines before being approved for general use.  

Custom packages 
Customers can optionally create their own packages and upload their own software to SimpleMDM. SimpleMDM does not share or in any way make available custom packages created by one customer with other SimpleMDM customers. The customer is responsible for ensuring the packages they create are safe.