diff --git a/resources/lang/en/settings.php b/resources/lang/en/settings.php
index 414650d21..878a9991f 100755
--- a/resources/lang/en/settings.php
+++ b/resources/lang/en/settings.php
@@ -37,6 +37,10 @@ return [
     'app_homepage' => 'Application Homepage',
     'app_homepage_desc' => 'Select a view to show on the homepage instead of the default view. Page permissions are ignored for selected pages.',
     'app_homepage_select' => 'Select a page',
+    'app_footer_links' => 'Footer Links',
+    'app_footer_links_desc' => 'Certain countries may require that websites include a privacy policy or terms of service.  You may provide links to those here, which will then be displayed at the bottom of each page.',
+    'app_privacy_policy' => 'Privacy Policy',
+    'app_terms_of_service' => 'Terms of Service',
     'app_disable_comments' => 'Disable Comments',
     'app_disable_comments_toggle' => 'Disable comments',
     'app_disable_comments_desc' => 'Disables comments across all pages in the application. <br> Existing comments are not shown.',
diff --git a/resources/sass/_footer.scss b/resources/sass/_footer.scss
new file mode 100644
index 000000000..960911584
--- /dev/null
+++ b/resources/sass/_footer.scss
@@ -0,0 +1,17 @@
+/**
+ * Includes the footer links.
+ */
+
+ footer {
+    flex-shrink: 0;
+    padding: .5em;
+    text-align: center;
+  }
+  
+  footer a {
+    margin: 0 .5em;
+  }
+  
+  body.flexbox footer {
+    display: none;
+  }
\ No newline at end of file
diff --git a/resources/sass/_html.scss b/resources/sass/_html.scss
index 57869d652..026295669 100644
--- a/resources/sass/_html.scss
+++ b/resources/sass/_html.scss
@@ -25,4 +25,8 @@ body {
   line-height: 1.6;
   @include lightDark(color, #444, #AAA);
   -webkit-font-smoothing: antialiased;
-}
\ No newline at end of file
+  background-color: #F2F2F2;
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+}
diff --git a/resources/sass/_layout.scss b/resources/sass/_layout.scss
index 4873ff2da..c12cae256 100644
--- a/resources/sass/_layout.scss
+++ b/resources/sass/_layout.scss
@@ -95,6 +95,10 @@
   }
 }
 
+#content {
+  flex: 1 0 auto;
+}
+
 /**
  * Flexbox layout system
  */
diff --git a/resources/sass/styles.scss b/resources/sass/styles.scss
index 78d94f977..614b7f295 100644
--- a/resources/sass/styles.scss
+++ b/resources/sass/styles.scss
@@ -15,6 +15,7 @@
 @import "codemirror";
 @import "components";
 @import "header";
+@import "footer";
 @import "lists";
 @import "pages";
 
diff --git a/resources/views/base.blade.php b/resources/views/base.blade.php
index a5404a365..29e4acee7 100644
--- a/resources/views/base.blade.php
+++ b/resources/views/base.blade.php
@@ -35,6 +35,8 @@
         @yield('content')
     </div>
 
+    @include('common.footer')
+
     <div back-to-top class="primary-background print-hidden">
         <div class="inner">
             @icon('chevron-up') <span>{{ trans('common.back_to_top') }}</span>
diff --git a/resources/views/common/footer.blade.php b/resources/views/common/footer.blade.php
new file mode 100644
index 000000000..a056f6d99
--- /dev/null
+++ b/resources/views/common/footer.blade.php
@@ -0,0 +1,10 @@
+@if(setting('app-privacy-policy') | setting('app-terms-of-service'))
+<footer>
+    @if(setting('app-privacy-policy'))
+        <a href="{{ setting('app-privacy-policy') }}">{{ trans('settings.app_privacy_policy') }}</a>
+    @endif
+    @if(setting('app-terms-of-service'))
+        <a href="{{ setting('app-terms-of-service') }}">{{ trans('settings.app_terms_of_service') }}</a>
+    @endif
+</footer>
+@endif
\ No newline at end of file
diff --git a/resources/views/settings/index.blade.php b/resources/views/settings/index.blade.php
index 8adc1045b..34d3cad92 100644
--- a/resources/views/settings/index.blade.php
+++ b/resources/views/settings/index.blade.php
@@ -179,6 +179,21 @@
                         </div>
                     </div>
 
+                    <div>
+                        <label for="setting-app-privacy-link" class="setting-list-label">{{ trans('settings.app_footer_links') }}</label>
+                        <p class="small">{{ trans('settings.app_footer_links_desc') }}</p>
+                        <div class="grid half pt-m">
+                            <div>
+                                <label for="setting-app-privacy-policy" class="text-dark">{{ trans('settings.app_privacy_policy') }}</label>
+                                <input type="text" value="{{ setting('app-privacy-policy', '') }}" name="setting-app-privacy-policy" id="setting-app-privacy-policy">
+                            </div>
+                            <div>
+                                <label for="setting-app-terms-of-service" class="text-dark">{{ trans('settings.app_terms_of_service') }}</label>
+                                <input type="text" value="{{ setting('app-terms-of-service', '') }}" name="setting-app-terms-of-service" id="setting-app-terms-of-service">
+                            </div>
+                        </div>
+                    </div>
+
 
                     <div>
                         <label for="setting-app-custom-head" class="setting-list-label">{{ trans('settings.app_custom_html') }}</label>