diff --git a/lib/types/nav-types.js b/lib/types/nav-types.js
--- a/lib/types/nav-types.js
+++ b/lib/types/nav-types.js
@@ -27,12 +27,14 @@
   | 'friend-list'
   | 'block-list'
   | 'keyservers'
+  | 'build-info'
   | 'danger-zone';
 export const webNavigationSettingsSectionValidator: TEnums = t.enums.of([
   'account',
   'friend-list',
   'block-list',
   'keyservers',
+  'build-info',
   'danger-zone',
 ]);
 export type WebNavigationChatMode = 'view' | 'create';
diff --git a/lib/utils/url-utils.js b/lib/utils/url-utils.js
--- a/lib/utils/url-utils.js
+++ b/lib/utils/url-utils.js
@@ -21,6 +21,7 @@
     | 'friend-list'
     | 'block-list'
     | 'keyservers'
+    | 'build-info'
     | 'danger-zone',
   threadCreation?: boolean,
   selectedUserList?: $ReadOnlyArray<string>,
@@ -44,6 +45,7 @@
       'friend-list',
       'block-list',
       'keyservers',
+      'build-info',
       'danger-zone',
     ]),
   ),
@@ -65,6 +67,7 @@
 const friendListRegex = new RegExp('(/|^)settings/friend-list(/|$)', 'i');
 const blockListRegex = new RegExp('(/|^)settings/block-list(/|$)', 'i');
 const keyserversRegex = new RegExp('(/|^)settings/keyservers(/|$)', 'i');
+const buildInfoRegex = new RegExp('(/|^)settings/build-info(/|$)', 'i');
 const dangerZoneRegex = new RegExp('(/|^)settings/danger-zone(/|$)', 'i');
 const threadPendingRegex = new RegExp(
   `(/|^)thread/(${pendingThreadIDRegex})(/|$)`,
@@ -91,6 +94,7 @@
   const friendListTest = friendListRegex.test(url);
   const blockListTest = blockListRegex.test(url);
   const keyserversSettingsTest = keyserversRegex.test(url);
+  const buildInfoTest = buildInfoRegex.test(url);
   const dangerZoneTest = dangerZoneRegex.test(url);
   const threadPendingMatches = threadPendingRegex.exec(url);
   const threadCreateMatches = threadCreationRegex.exec(url);
@@ -136,6 +140,8 @@
     returnObj.settings = 'block-list';
   } else if (keyserversSettingsTest) {
     returnObj.settings = 'keyservers';
+  } else if (buildInfoTest) {
+    returnObj.settings = 'build-info';
   } else if (dangerZoneTest) {
     returnObj.settings = 'danger-zone';
   } else if (qrCodeLoginMatches) {
diff --git a/web/app.react.js b/web/app.react.js
--- a/web/app.react.js
+++ b/web/app.react.js
@@ -315,6 +315,8 @@
         mainContent = null;
       } else if (settingsSection === 'keyservers') {
         mainContent = <KeyserverSelectionList />;
+      } else if (settingsSection === 'build-info') {
+        mainContent = null;
       } else if (settingsSection === 'danger-zone') {
         mainContent = <DangerZone />;
       }
diff --git a/web/settings/user-settings-list.react.js b/web/settings/user-settings-list.react.js
--- a/web/settings/user-settings-list.react.js
+++ b/web/settings/user-settings-list.react.js
@@ -44,6 +44,13 @@
     });
   }, [dispatch]);
 
+  const onClickBuildInfo = React.useCallback(() => {
+    dispatch({
+      type: updateNavInfoActionType,
+      payload: { tab: 'settings', settingsSection: 'build-info' },
+    });
+  }, [dispatch]);
+
   const onClickDangerZone = React.useCallback(() => {
     dispatch({
       type: updateNavInfoActionType,
@@ -84,6 +91,11 @@
           onClick={onClickBlockList}
         />
         {keyserverSettingsListItem}
+        <UserSettingsListItem
+          id="build-info"
+          name="Build info"
+          onClick={onClickBuildInfo}
+        />
         <UserSettingsListItem
           id="danger-zone"
           name="Danger zone"
@@ -95,6 +107,7 @@
       keyserverSettingsListItem,
       onClickAccountSettings,
       onClickBlockList,
+      onClickBuildInfo,
       onClickDangerZone,
       onClickFriendList,
     ],