diff --git a/web/app.react.js b/web/app.react.js
--- a/web/app.react.js
+++ b/web/app.react.js
@@ -47,6 +47,7 @@
import { EditModalProvider } from './chat/edit-message-provider.js';
import { MemberListSidebarProvider } from './chat/member-list-sidebar/member-list-sidebar-provider.react.js';
import { DBOpsHandler } from './components/db-ops-handler.react.js';
+import LogOutIfMissingCSATHandler from './components/log-out-if-missing-csat-handler.react.js';
import NavigationArrows from './components/navigation-arrows.react.js';
import MinVersionHandler from './components/version-handler.react.js';
import { olmAPI } from './crypto/olm-api.js';
@@ -231,6 +232,7 @@
+
{content}
diff --git a/web/components/log-out-if-missing-csat-handler.react.js b/web/components/log-out-if-missing-csat-handler.react.js
--- a/web/components/log-out-if-missing-csat-handler.react.js
+++ b/web/components/log-out-if-missing-csat-handler.react.js
@@ -3,10 +3,42 @@
import * as React from 'react';
import { logOutActionTypes, useLogOut } from 'lib/actions/user-actions.js';
+import { useModalContext } from 'lib/components/modal-provider.react.js';
import { useDispatchActionPromise } from 'lib/utils/redux-promise-utils.js';
import { useSelector } from 'lib/utils/redux-utils.js';
import { usingCommServicesAccessToken } from 'lib/utils/services-utils.js';
+import css from './version-handler.css';
+import Modal from '../modals/modal.react.js';
+
+function MissingCSATModal(): React.Node {
+ const { popModal } = useModalContext();
+
+ return (
+
+
+
+ Unfortunately, we must log you out in order to generate a PAKE-derived
+ secret. You can learn more about PAKEs and the protocol we use
+ (OPAQUE){' '}
+
+ here
+
+ .
+