Atlas Device Sync
You're developing a mobile app. Your users want their data saved in the cloud and accessible from their other devices. Network access on a mobile device can be intermittent, so you write data locally on the device first. A background process then synchronizes the data to the cloud and resolves any conflicting writes.
Atlas Device Sync provides all of the above, so you can build better apps faster.
Watch our Intro to Atlas Device Sync Learning Byte to learn more.
![Atlas Device Sync Illustration](/docs/atlas/app-services/static/3100f7d74788d6e49fb80a080959e1d2/7278a/device-sync-2.webp)
Key Features
Atlas Device SDK in the Front, MongoDB in the Back
Atlas Device Sync bridges client apps using the Atlas Device SDK and a MongoDB instance running in Atlas. The lightweight device database is optimized for mobile development.
Robust & Secure
Device Sync handles conflicts for you, so you don't have to write complex custom code to resolve conflicting writes from multiple clients. A user-based permissions system lets you control who can access which data.
"Always-On" Experience
Atlas Device SDK and Device Sync seamlessly handle intermittent connectivity so users can continue using your app regardless of their current network status.
Get Started
Launch a Template Starter App
The best way get started with Device Sync is with a template app. From the Atlas UI, select the App Services tab, and select from the provided templates. Atlas configures a backend instance and gives you the frontend code for a selection of platforms.
Follow a Device Sync Tutorial
The mobile app tutorials guide you through building a feature on top of a template starter app with Atlas Device Sync.
Explore the Device Sync Documentation
Maintain Data Integrity with Your Data Model
Define your application data model directly in your code or with server-side JSON schemas that you can use to generate language-specific classes. Read the Sync Data Model Overview to get oriented.
Configure & Enable Device Sync
Whether you based your app on one of our template apps or started from scratch, at some point you'll want to configure Sync specially for your needs. Read more: Configure and Enable Atlas Device Sync.
Protect User Data with Permissions
Device Sync provides a user-based permissions system that lets you control who can access which data. To learn how to set up permissions for a variety of real use cases, check out the Device Sync Permissions Guide.
Handle Errors
Develop a robust app that can handle data model changes and data recovery scenarios with the Client Resets documentation. Troubleshoot other errors and edge cases with the Sync Errors reference.
Go to Production
Test your app under a simulated load with the Sync Production Load Testing guide, then get your app ready to ship with the Device Sync Production Checklist. To understand how costs scale with usage beyond the free tier, refer to the Billing page.
End-to-End Security
On Device
Encrypt sensitive data in synced database files with the encryption APIs.
Built-in user authentication providers include anonymous, email/password, API key, Custom Function, Custom JWT, Facebook, Google, and Apple.
In Flight
Device Sync encrypts all network traffic using Transport Layer Security (TLS). Document and field-level permissions determine which data may be synced to the device.
In the Cloud
MongoDB Atlas has features that meet essential compliance standards:
Encrypted storage volumes
Network isolation
Role-based access management
ISO, SOC, PCI, HIPAA, HITRUST, VPAT, GDPR, CSA