MongoDB Realm Mobile Sync
Parent: MongoDB Atlas · Published reference · snapshot 2026-09-08 · skill mongodb-atlas-expert/references/mongodb-realm-mobile-sync.md
↓ Facts as markdownall context files
> CRITICAL: Atlas Device Sync reached end-of-life September 30, 2025.
These notes link each claim to its source. Some citations identify archived research reports that are no longer hosted on this site. A published reference means the content is available; it does not certify independent review or accuracy.Read the editorial policy and follow the sources before relying on a claim.
MongoDB Realm and Atlas Device Sync (EOL)
- > CRITICAL: Atlas Device Sync reached end-of-life September 30, 2025. > All Device Sync and Device SDK features were shut down on that date. > This skill provides historical context for customers still migrating away. [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#mongodb-realm-and-atlas-device-sync-eol]
What Was Realm / Atlas Device Sync
- Realm was a mobile-first database SDK with: [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#what-was-realm-atlas-device-sync]
- Realm Database (local): Embedded object database for iOS/Android (still available as standalone open-source) [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#what-was-realm-atlas-device-sync]
- Atlas Device Sync: Cloud sync between Realm local database and MongoDB Atlas (EOL Sep 30 2025) [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#what-was-realm-atlas-device-sync]
- Device SDKs: Swift, Kotlin, Java, Flutter, React Native, .NET, JavaScript (web) [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#what-was-realm-atlas-device-sync]
What Was Flexible Sync (Last Supported Mode)
- Flexible Sync replaced Partition-Based Sync as the final architecture: [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#what-was-flexible-sync-last-supported-mode]
- Subscriptions defined per-client based on query (e.g., realm.query<Task>().where("userId == $0", userId)) [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#what-was-flexible-sync-last-supported-mode]
- Server-side rules enforced permissions on which documents each client could sync [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#what-was-flexible-sync-last-supported-mode]
- Offline-first: writes to local Realm database, synced when online [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#what-was-flexible-sync-last-supported-mode]
Realm Database (Local — Still Available)
- The local Realm Database (without sync) remains available as open-source: [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#realm-database-local-still-available]
- realm-swift - iOS/macOS Swift/Objective-C [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#realm-database-local-still-available]
- realm-kotlin - Android/Kotlin Multiplatform [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#realm-database-local-still-available]
- realm-js - Node.js, React Native [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#realm-database-local-still-available]
- realm-dotnet - .NET/Xamarin [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#realm-database-local-still-available]
- Use Realm local database for: fast local embedded storage without cloud sync requirements. [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#realm-database-local-still-available]
Migrating Change Listeners to MongoDB Change Streams
- What was a Realm change listener: [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#migrating-change-listeners-to-mongodb-change-streams]
- Replace with a MongoDB change stream consumer in your backend: [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#migrating-change-listeners-to-mongodb-change-streams]
Migrating Atlas App Services Authentication
- Atlas App Services Authentication providers were also EOL'd September 30, 2025. Migrate to: [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#migrating-atlas-app-services-authentication]
- Auth0 - drop-in OIDC replacement with mobile SDKs [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#migrating-atlas-app-services-authentication]
- Firebase Auth - Google's mobile auth platform [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#migrating-atlas-app-services-authentication]
- AWS Cognito - AWS-native mobile auth [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#migrating-atlas-app-services-authentication]
- Clerk - Modern developer auth platform [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#migrating-atlas-app-services-authentication]
Deprecation References
- Atlas Device Sync EOL Forum Post [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#deprecation-references]
- Realm SDK Migration Guide [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#deprecation-references]
- Realm Database GitHub (standalone) [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#deprecation-references]
See Also
- For active MongoDB skills: [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#see-also]
- mongodb-change-streams - Real-time event streaming from MongoDB to applications [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#see-also]
- mongodb-atlas-triggers-functions - Server-side event processing (still active) [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#see-also]
- mongodb-atlas-app-services - Full EOL context and migration guidance [archived source: https://llms-explorer.com/sources/mdb-context-hub/mongodb-realm-mobile-sync/#see-also]
Where this helps
- Auditing an existing mobile app that still depends on Atlas Device Sync, since it was fully shut down on September 30, 2025 and needs an active migration plan, not just awareness. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Choosing a replacement architecture for offline-first mobile sync that previously relied on Flexible Sync's per-client subscription model. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Migrating Realm change listeners in a mobile client to a backend MongoDB change stream consumer that pushes updates to clients over a different channel. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Selecting a replacement auth provider (Auth0, Firebase Auth, AWS Cognito, Clerk) for an app that relied on the now-EOL'd Atlas App Services authentication providers. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
Project ideas
- Build a local-only mobile data layer using the still-available open-source Realm Database (realm-swift, realm-kotlin, realm-js, realm-dotnet) for apps that need fast embedded storage without cloud sync. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Implement a custom sync backend that replaces Flexible Sync's subscription model with an application-level API layer backed by MongoDB change streams, replicating the offline-first sync-when-online behavior manually. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Migrate an app's Realm change-listener logic to a backend service that consumes MongoDB change streams and pushes updates to connected clients. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Build an auth-provider migration script that moves user accounts and credentials from Atlas App Services authentication to Auth0, Firebase Auth, or AWS Cognito. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
Antipatterns
- Continuing to build new features against Atlas Device Sync or Atlas App Services authentication, both of which were fully shut down on September 30, 2025 — new development needs to target a replacement architecture. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Assuming the local Realm Database is also gone because Device Sync was deprecated — the standalone open-source local database is unaffected and still actively maintained. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Treating this pack as current implementation guidance rather than historical/migration context — it exists specifically to help teams still migrating away from an EOL product. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Underestimating the auth migration as a side effect of the sync migration — Atlas App Services authentication providers were EOL'd on the same date and need their own dedicated migration plan. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
Known issues
- Atlas Device Sync and all Device SDK features were shut down entirely on September 30, 2025 — there is no grace period or legacy-mode fallback for apps still depending on it. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Flexible Sync's server-side permission rules and per-client subscription model have no direct drop-in replacement; a custom backend sync layer has to be built to replicate that behavior. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- Atlas App Services authentication providers were EOL'd on the same date as Device Sync, so a migration plan that only addresses data sync and ignores auth will still leave the app broken. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
- This pack is explicitly maintained for historical and migration context only, so its guidance should be read as how to get off this system, not how to build on it. [source] — AI-suggested, synthesized from this pack's existing facts — not extracted from a source document.
Children
- Atlas Device Sync Overview (frontier)
- Realm SDK Languages and Platforms (frontier)
- Flexible Sync (frontier)
- Partition-Based Sync (Legacy) (frontier)
- Conflict Resolution (frontier)
- Realm Object Model (frontier)
- Sync Configuration (frontier)
- Permissions Model (frontier)
- Offline-First Patterns (frontier)
- App Services Context
- Common Pitfalls (frontier)
Frontier under this node: Atlas Device Sync Overview, Common Pitfalls, Conflict Resolution, Flexible Sync, Offline-First Patterns, Partition-Based Sync (Legacy), Permissions Model, Realm SDK Languages and Platforms, Sync Configuration