diff --git a/CHANGELOG b/CHANGELOG
index f0535461b3..f03b5b18b3 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -89,6 +89,7 @@ NOTICE: Create a parliament config file before upgrading (see https://arkime.com
- #2407 transfer ownership of resources
- #2482 added uploadRoles to control who can upload
- #2501 add defaultTimeRange setting
+ - #2521 add footerTemplate setting
## Parliament
- #2377 dashboard-only mode removed, if you want users to just see the dashboard don't assign them the parliamentUser role
- #2395 configuration is now stored in opensearch/elasticsearch
diff --git a/viewer/viewer.js b/viewer/viewer.js
index 0008a68b4d..f24dbd7152 100644
--- a/viewer/viewer.js
+++ b/viewer/viewer.js
@@ -1982,11 +1982,15 @@ app.use(cspHeader, setCookie, (req, res) => {
.replace(/_userId_/g, req.user ? req.user.userId : '-')
.replace(/_userName_/g, req.user ? req.user.userName : '-');
+ const footerConfig = Config.get('footerTemplate', '_version_ | arkime.com | _responseTime_')
+ .replace(/_version_/g, `Arkime v${version.version}`).replace(/_responseTime_/g, '{{ responseTime | commaString }}ms');
+
const limit = req.user.hasRole('arkimeAdmin') ? Config.get('huntAdminLimit', 10000000) : Config.get('huntLimit', 1000000);
const appContext = {
theme,
titleConfig,
+ footerConfig,
path: Config.basePath(),
version: version.version,
demoMode: req.user.isDemoMode(),
diff --git a/viewer/vueapp/index.html b/viewer/vueapp/index.html
index a5a3602dc4..7332143155 100644
--- a/viewer/vueapp/index.html
+++ b/viewer/vueapp/index.html
@@ -11,6 +11,7 @@
diff --git a/viewer/vueapp/src/main.js b/viewer/vueapp/src/main.js
index bd3869b9ab..3929ec6683 100644
--- a/viewer/vueapp/src/main.js
+++ b/viewer/vueapp/src/main.js
@@ -64,6 +64,7 @@ new Vue({
/* eslint-disable no-undef */
Vue.prototype.$constants = {
TITLE_CONFIG,
+ FOOTER_CONFIG,
DEMO_MODE,
VERSION,
PATH,