diff --git a/doc/terms.md b/doc/terms.md
index a11aa38..d3119fc 100644
--- a/doc/terms.md
+++ b/doc/terms.md
@@ -1,39 +1,32 @@
-# Terms of Service for Monorail (https://bugs.chromium.org)
-
-Please refer to [Google’s Terms of Service](https://policies.google.com/terms).
-
-The terms below are specific to Monorail and are in addition to or superseding
-Google’s Terms of Service.
+# Terms of Service for Monorail (https://bugs.avm99963.com)
 
 ## Your Account in Monorail
 
 A Monorail User account is automatically created when you visit
-https://bugs.chromium.org while logged in for the first time. The account is
+https://bugs.avm99963.com while logged in for the first time. The account is
 associated with your email.
 
 ## Data Retention
 
-As a bug tracker for Chromium and Chromium related projects, the issues and
+As a bug tracker, the issues and
 discussions that occur in Monorail are insightful and vital to understanding the
 codebase and history of the projects we track. Therefore, Monorail retains all
 data generated on the site indefinitely. User accounts and data associated with
-the account may be deleted upon request or as a result of the associated email
-being deleted. See [Deleting Your User Account](#Deleting-Your-User-Account) for
+the account may be deleted upon request.
+See [Deleting Your User Account](#Deleting-Your-User-Account) for
 more information.
 
 ## Deleting Your User Account
 
-There are two ways a User Account can be deleted in Monorail.
+Users can request the deletion of their owner Monorail User Account by
+[filing a bug](https://bugs.avm99963.com/p/misc/issues/entry?template=New+task&labels=UserAccountDeletion,Restrict-View-Commit)
+while logged in with the account that they want deleted. We
+will not accept requests to delete accounts that differ from that of the
+user making the request. Please note that if a user visits Monorail again
+while logged in, after their account has been deleted, Monorail will
+automatically create another account.
 
-1.  If the Google account associated with a Monorail User Account is deleted,
-    Monorail will delete the User account within 7 days. For instructions
-    deleting your Google account visit the
-    [Google Account Help Center](https://support.google.com/accounts/answer/32046?hl=en).
+## Privacy notice
 
-1.  Users can request the deletion of their owner Monorail User Account by
-    [filing a bug](https://bugs.chromium.org/p/monorail/issues/entry) with the
-    Monorail Team while logged in with the account that they want deleted. We
-    will not accept requests to delete accounts that differ from that of the
-    user making the request. Please note that if a user visits Monorail again
-    while logged in, after their account has been deleted, Monorail will
-    automatically create another account.
+All data is stored in Google Cloud. Please take a look at Google's terms of use
+and privacy policy for more information.
diff --git a/templates/framework/footer-shared.ezt b/templates/framework/footer-shared.ezt
index 9630e4c..1370435 100644
--- a/templates/framework/footer-shared.ezt
+++ b/templates/framework/footer-shared.ezt
@@ -10,15 +10,9 @@
       View in the new UI
     </a>
   [end][end]
-  [is projectname "fuchsia"]
-    <a href="https://bugs.fuchsia.dev/p/fuchsia/issues/entry?template=Report+Community+Abuse" title="Monorail [app_version]">Report Abuse</a>
-  [end]
   <a href="https://bugs.chromium.org/p/monorail/adminIntro" title="Monorail [app_version]">About Monorail</a>
   <a href="https://chromium.googlesource.com/infra/infra/+/main/appengine/monorail/doc/userguide/README.md">User Guide</a>
-  <a href="https://chromium.googlesource.com/infra/infra/+/main/appengine/monorail/doc/release-notes.md">Release Notes</a>
-  <a href="https://bugs.chromium.org/p/monorail/issues/entry?template=Online%20Feedback" target="_blank">Feedback on Monorail</a>
-  <a href="https://chromium.googlesource.com/infra/infra/+/main/appengine/monorail/doc/terms.md">Terms</a>
-  <a href="https://www.google.com/policies/privacy/">Privacy</a>
+  <a href="https://gerrit.avm99963.com/plugins/gitiles/monorail-avm99963/+/HEAD/doc/terms.md">Terms</a>
 </div>
 
 [include "debug.ezt"]
@@ -92,16 +86,3 @@
   });
   </script>
 [end]
-
-<script type="text/javascript" nonce="[nonce]">
-runOnLoad(function() {
-  // CrDX Feedback Button
-  (function(i,s,o,g,r,a,m){i[[]'CrDXObject']=r;i[[]r]=i[[]r]||function(){
-  (i[[]r].q=i[[]r].q||[]).push(arguments)},a=s.createElement(o),
-  m=s.getElementsByTagName(o)[0];a.async=1;a.setAttribute('nonce','[nonce]');
-  a.src=g;m.parentNode.insertBefore(a,m)
-  })(window,document,'script','https://storage.googleapis.com/chops-feedback/feedback.js','crdx');
-
-  crdx('setFeedbackButtonLink', 'https://bugs.chromium.org/p/monorail/issues/entry?template=Online%20Feedback');
-});
-</script>
