diff --git a/lib/components/platform-details-synchronizer.react.js b/lib/components/platform-details-synchronizer.react.js
new file mode 100644
--- /dev/null
+++ b/lib/components/platform-details-synchronizer.react.js
@@ -0,0 +1,42 @@
+// @flow
+
+import * as React from 'react';
+
+import { isLoggedIn } from '../selectors/user-selectors.js';
+import { IdentityClientContext } from '../shared/identity-client-context.js';
+import { useSelector } from '../utils/redux-utils.js';
+import { usingCommServicesAccessToken } from '../utils/services-utils.js';
+
+function PlatformDetailsSynchronizer(): React.Node {
+  const client = React.useContext(IdentityClientContext);
+  const identityClient = client?.identityClient;
+
+  const loggedIn = useSelector(isLoggedIn);
+
+  const syncPlatformDetails = React.useCallback(async () => {
+    if (!identityClient) {
+      throw new Error('Identity service client is not initialized');
+    }
+    if (!loggedIn) {
+      return;
+    }
+    try {
+      await identityClient.syncPlatformDetails();
+    } catch (error) {
+      console.log('Error syncing platform details:', error);
+    }
+  }, [identityClient, loggedIn]);
+
+  const hasRun = React.useRef<boolean>(false);
+  React.useEffect(() => {
+    if (!usingCommServicesAccessToken || hasRun.current) {
+      return;
+    }
+    hasRun.current = true;
+    void syncPlatformDetails();
+  }, [syncPlatformDetails]);
+
+  return null;
+}
+
+export default PlatformDetailsSynchronizer;
diff --git a/native/root.react.js b/native/root.react.js
--- a/native/root.react.js
+++ b/native/root.react.js
@@ -30,6 +30,7 @@
 import IntegrityHandler from 'lib/components/integrity-handler.react.js';
 import { MediaCacheProvider } from 'lib/components/media-cache-provider.react.js';
 import { NeynarClientProvider } from 'lib/components/neynar-client-provider.react.js';
+import PlatformDetailsSynchronizer from 'lib/components/platform-details-synchronizer.react.js';
 import PrekeysHandler from 'lib/components/prekeys-handler.react.js';
 import { StaffContextProvider } from 'lib/components/staff-provider.react.js';
 import { DBOpsHandler } from 'lib/handlers/db-ops-handler.react.js';
@@ -340,6 +341,7 @@
                                                   }
                                                 />
                                                 <VersionSupportedChecker />
+                                                <PlatformDetailsSynchronizer />
                                                 <BackgroundIdentityLoginHandler />
                                                 <PrekeysHandler />
                                                 <ReportHandler />
diff --git a/web/app.react.js b/web/app.react.js
--- a/web/app.react.js
+++ b/web/app.react.js
@@ -20,6 +20,7 @@
   useModalContext,
 } from 'lib/components/modal-provider.react.js';
 import { NeynarClientProvider } from 'lib/components/neynar-client-provider.react.js';
+import PlatformDetailsSynchronizer from 'lib/components/platform-details-synchronizer.react.js';
 import { StaffContextProvider } from 'lib/components/staff-provider.react.js';
 import { UserInfosHandler } from 'lib/handlers/user-infos-handler.react.js';
 import { IdentitySearchProvider } from 'lib/identity-search/identity-search-context.js';
@@ -237,6 +238,7 @@
                       <InviteLinksRefresher />
                       <CommunitiesRefresher />
                       <MinVersionHandler />
+                      <PlatformDetailsSynchronizer />
                       <LogOutIfMissingCSATHandler />
                       <UserInfosHandler />
                       {content}
diff --git a/web/components/version-handler.react.js b/web/components/version-handler.react.js
--- a/web/components/version-handler.react.js
+++ b/web/components/version-handler.react.js
@@ -8,7 +8,7 @@
 import VersionUnsupportedModal from '../modals/version-unsupported-modal.react.js';
 import { useSelector } from '../redux/redux-utils.js';
 
-function MinVersionHandler(): null {
+function MinVersionHandler(): React.Node {
   const connections = useSelector(allConnectionInfosSelector);
 
   const isClientVersionUnsupported = React.useMemo(() => {