diff --git a/settings.py b/settings.py
index e5c5bd1..d1f9b61 100644
--- a/settings.py
+++ b/settings.py
@@ -3,7 +3,7 @@
 # license that can be found in the LICENSE file or at
 # https://developers.google.com/open-source/licenses/bsd
 
-"""Defines settings for monorail."""
+"""Defines settings for the avm99963 bugs monorail instance."""
 from __future__ import print_function
 from __future__ import division
 from __future__ import absolute_import
@@ -33,19 +33,19 @@
 # Part 1: settings that you must edit before deploying your site.
 
 # Email address that is offered to users who might need help using the tool.
-feedback_email = 'jrobbins+monorail.feedback@chromium.org'
+feedback_email = 'me+monorail.feedback@avm99963.com'
 
 # For debugging when running in staging: send all outbound
 # email to this address rather than to the actual address that
 # it would normally be sent to.
-send_all_email_to = 'monorail-staging-emails+all+%(user)s+%(domain)s@google.com'
+send_all_email_to = 'monorail-staging-emails+all+%(user)s+%(domain)s@dontsend.avm99963.com'
 
 # For debugging when running the server locally: send all outbound
 # email to this address rather than to the actual address that
 # it would normally be sent to.
 send_local_email_to = (
     send_all_email_to or
-    'monorail-staging-emails+dev+%(user)s+%(domain)s@google.com')
+    'monorail-staging-emails+dev+%(user)s+%(domain)s@dontsend.avm99963.com')
 
 # User to send emails from Monorail as. The reply_to sections of emails will be
 # set to appspotmail addresses.
@@ -53,8 +53,13 @@
 #       email addresses then setting these values to
 #       'reply@${app_id}.appspotmail.com' and 'noreply@{app_id}.appspotmail.com'
 #       is likely the best option.
-send_email_as_format = 'monorail@%(domain)s'
-send_noreply_email_as_format = 'monorail+noreply@%(domain)s'
+
+# Old values (TODO: set up DNS records and uncomment this):
+#send_email_as_format = 'monorail@%(domain)s'
+#send_noreply_email_as_format = 'monorail+noreply@%(domain)s'
+
+send_email_as_format = 'reply@avm99963-bugs.appspotmail.com'
+send_noreply_email_as_format = 'noreply@avm99963-bugs.appspotmail.com'
 
 # The default is to look for a database named "monorail" in replicas
 # named "replica-00" .. "replica-09"
@@ -63,20 +68,20 @@
 db_database_name = 'monorail'
 db_primary_name = 'primary'
 db_replica_prefix = 'replica'
-db_region = 'us-central1'
+db_region = 'europe-west1'
 
 # The default connection pool size for mysql connections.
 db_cnxn_pool_size = 20
 
 # The number of logical database shards used.  Each replica is complete copy
 # of the primary, so any replica DB can answer queries about any logical shard.
-num_logical_shards = 10
+num_logical_shards = 1
 
 # "Learn more" link for the site home page
 learn_more_link = None
 
 # Site name, displayed above the search box on the site home page.
-site_name = 'Monorail'
+site_name = 'avm99963 bugs'
 
 # Who is allowed to create new projects?  Set to ANYONE or ADMIN_ONLY.
 project_creation_restriction = site_pb2.UserTypeRestriction.ADMIN_ONLY
@@ -98,20 +103,15 @@
 # Text that mentions these words as shorthand host names will be autolinked
 # regardless of the lack of "https://" or ".com".
 autolink_shorthand_hosts = [
-    'go', 'g', 'shortn', 'who', 'teams',
+    'go',
     ]
-autolink_numeric_shorthand_hosts = [
-    'b', 't', 'o', 'omg', 'cl', 'cr',
-    ]
+autolink_numeric_shorthand_hosts = []
 
 
 # We only allow self-service account linking invites when the child account is
 # linking to a parent account in an allowed domain.
 linkable_domains = {
   # Child account domain: [parent account domains]
-  'chromium.org': ['google.com'],
-  'google.com': ['chromium.org'],
-  # TODO(jrobbins): webrtc.org, etc.
 }
 
 
@@ -134,7 +134,7 @@
 banned_user_domains = []
 
 # We use this for specifying cloud task parent
-CLOUD_TASKS_REGION = 'us-central1'
+CLOUD_TASKS_REGION = 'europe-west1'
 
 # We only send subscription notifications to users who have visited the
 # site in the last 6 months.
@@ -267,44 +267,31 @@
 # Users with emails in the "priviledged" domains do NOT get any advantage
 # but they do default their preference to show unobscured email addresses.
 priviledged_user_domains = [
-  'google.com', 'chromium.org', 'webrtc.org',
+  'avm99963.com',
   ]
 
 # Branded domains:  Any UI GET to a project listed below on prod or staging
 # should have the specified host, otherwise it will be redirected such that
 # the specified host is used.
 branded_domains = {}  # defaults to empty for localhost
-branded_domains_dev = {
-    'fuchsia': 'bugs-dev.fuchsia.dev',
-    '*': 'bugs-dev.chromium.org',
-}
-branded_domains_staging = {
-    'fuchsia': 'bugs-staging.fuchsia.dev',
-    '*': 'bugs-staging.chromium.org',
-}
 branded_domains_prod = {
-    'fuchsia': 'bugs.fuchsia.dev',
-    '*': 'bugs.chromium.org',
+    '*': 'bugs.avm99963.com',
 }
 
 # The site home page will immediately redirect to a default project for these
 # domains, if the project can be viewed.  Structure is {hostport: project_name}.
 domain_to_default_project = {}  # defaults to empty for localhost
-domain_to_default_project_dev = {'bugs-dev.fuchsia.dev': 'fuchsia'}
-domain_to_default_project_staging = {'bugs-staging.fuchsia.dev': 'fuchsia'}
-domain_to_default_project_prod = {'bugs.fuchsia.dev': 'fuchsia'}
+domain_to_default_project_prod = {}
 
 
 # Names of projects on code.google.com which we allow cross-linking to.
 recognized_codesite_projects = [
-  'chromium-os',
-  'chrome-os-partner',
 ]
 
 ####
 # Part 5:  Instance-specific settings that override lines above.
 # This ID is for -staging and other misc deployments. Prod is defined below.
-analytics_id = 'UA-55762617-20'
+analytics_id = ''
 
 if unit_test_mode:
   db_cloud_project = ''  # No real database is used during unit testing.
@@ -312,13 +299,13 @@
 else:
   app_id = app_identity.get_application_id()
 
-  if app_id == 'monorail-staging':
-    site_name = 'Monorail Staging'
-    banner_message = 'This staging site does not send emails.'
+  if app_id == 'avm99963-bugs':
+    send_all_email_to = None  # Deliver it to the intended users.
     # The Google Cloud SQL databases to use.
     db_cloud_project = app_id
-    branded_domains = branded_domains_staging
-    domain_to_default_project = domain_to_default_project_staging
+    analytics_id = ''
+    branded_domains = branded_domains_prod
+    domain_to_default_project = domain_to_default_project_prod
     # For each of these redis_hosts, they must match the corresponding
     # HOST address of the redis instance for the environment. You can use
     # the following command to find it.
@@ -326,29 +313,8 @@
     # gcloud redis instances list --project monorail-staging \
     #   --region us-central1
     # ````
-    redis_host = '10.228.109.51'
-
-  elif app_id == 'monorail-dev':
-    site_name = 'Monorail Dev'
-    banner_message = 'This dev site does not send emails.'
-    # The Google Cloud SQL databases to use.
-    db_cloud_project = app_id
-    branded_domains = branded_domains_dev
-    domain_to_default_project = domain_to_default_project_dev
-    # See comment above on how to find this address.
-    redis_host = '10.150.170.251'
-    # Use replicas created when testing the restore procedures on 2021-02-24
-    db_replica_prefix = 'replica-2'
-
-  elif app_id == 'monorail-prod':
-    send_all_email_to = None  # Deliver it to the intended users.
-    # The Google Cloud SQL databases to use.
-    db_cloud_project = app_id
-    analytics_id = 'UA-55762617-14'
-    branded_domains = branded_domains_prod
-    domain_to_default_project = domain_to_default_project_prod
-    # See comment above on how to find this address.
-    redis_host = '10.190.48.180'
+    # Leaving empty for now
+    redis_host = ''
 
 if local_mode:
   site_name = 'Monorail Local'
@@ -362,19 +328,17 @@
 
 # Combine the customized info above to make the names of the replica DB
 # instances.
-db_replica_names = ['{}-{:02d}'.format(db_replica_prefix, i) for i in range(10)]
+db_replica_names = [db_primary_name for i in range(num_logical_shards)]
 
 # Format string for the name of the physical database replicas.
 physical_db_name_format = (db_cloud_project + ':' + db_region + ':%s')
 
 # preferred domains to display
 preferred_domains = {
-    'monorail-prod.appspot.com': 'bugs.chromium.org',
-    'monorail-staging.appspot.com': 'bugs-staging.chromium.org',
-    'monorail-dev.appspot.com': 'bugs-dev.chromium.org'}
+    'avm99963-bugs.appspot.com': 'bugs.avm99963.com'}
 
 # Borg robot service account
-borg_service_account = 'chrome-infra-prod-borg@system.gserviceaccount.com'
+borg_service_account = 'chrome-infra-prod-borg-NOTUSEDBYAVM99963BUGS@system.gserviceaccount.com'
 
 # Prediction API params.
 classifier_project_id = 'project-id-testing-only'
@@ -413,49 +377,28 @@
     '.gserviceaccount.com',
     '@google.com',
     '@webrtc.org',
+    '@avm99963.com',
 )
 
 # New issues filed by these users in these groups
 # automatically get the Restrict-View-Google label.
-restrict_new_issues_user_groups = [
-    'chromeos-all@google.com',
-    'chromeos-acl@google.com',
-    'chromeos-fte-tvc@google.com',
-    'chromeos-fte-tvc@chromium.org',
-    'create-team@google.com',
-    'test-corp-mode@google.com',
-]
+restrict_new_issues_user_groups = []
 
 # Users in these groups see a "corp mode" warning dialog when commenting
 # on public issues, informing them that their comments are public by default.
-public_issue_notice_user_groups = [
-    'chromeos-all@google.com',
-    'chromeos-acl@google.com',
-    'chromeos-fte-tvc@google.com',
-    'chromeos-fte-tvc@chromium.org',
-    'create-team@google.com',
-    'test-corp-mode@google.com',
-    'tq-team@google.com',
-]
+public_issue_notice_user_groups = []
 
-full_emails_perm_groups = [
-    # Synced group that gives members permission to view the full
-    # emails of all users.
-    'monorail-display-names-perm@google.com',
-    # Native Monorail group that gives service account members permission
-    # to view full emails of all users.
-    'display-names-perm-sa@bugs.chromium.org'
-]
+full_emails_perm_groups = []
 
 # These email suffixes are allowed to create new alert bugs via email.
-alert_allowlisted_suffixes = ('@google.com',)
+alert_allowlisted_suffixes = ('@avm99963.com',)
 
 # The person who is notified if there is an unexpected problem in the alert
 # pipeline.
-alert_escalation_email = 'zhangtiff@google.com'
+alert_escalation_email = 'me@avm99963.com'
 
 # Bugs autogenerated from alert emails are created through this account.
-alert_service_account = 'chrome-trooper-alerts@google.com'
+alert_service_account = 'autogenerated-bug-from-alert-mails-monorail@noreply.avm99963.com'
 
 # The number of hash buckets to use when vectorizing text from Issues and
 # Comments. This should be the same value that the model was trained with.
@@ -496,12 +439,8 @@
 chart_query_max_rows = 10000
 
 # Client ID to use for loading the Google API client, gapi.js.
-if app_identity.get_application_id() == 'monorail-prod':
-  gapi_client_id = (
-    '679746765624-tqaakho939p2mc7eb65t4ecrj3gj08rt.apps.googleusercontent.com')
-else:
-  gapi_client_id = (
-    '52759169022-6918fl1hd1qoul985cs1ohgedeb8c9a0.apps.googleusercontent.com')
+# (This is not used by avm99963 bugs, this is only useful for buganizer bugs)
+gapi_client_id = ''
 
 # The pub/sub topic on which to publish issue update messages.
 if local_mode:
@@ -516,4 +455,4 @@
 
 # All users in the following domains will have API access.
 # Important: the @ symbol must be included.
-api_allowed_email_domains = ('@google.com')
+api_allowed_email_domains = ('@avm99963.com')
