diff --git a/app/controllers/about_controller.rb b/app/controllers/about_controller.rb
index d7e78d6b917..4fc2fbe3401 100644
--- a/app/controllers/about_controller.rb
+++ b/app/controllers/about_controller.rb
@@ -8,10 +8,10 @@ class AboutController < ApplicationController
before_action :require_open_federation!, only: [:show, :more]
before_action :set_body_classes, only: :show
before_action :set_instance_presenter
- before_action :set_expires_in, only: [:more, :terms]
+ before_action :set_expires_in, only: [:more]
before_action :set_registration_form_time, only: :show
- skip_before_action :require_functional!, only: [:more, :terms]
+ skip_before_action :require_functional!, only: [:more]
def show; end
@@ -26,8 +26,6 @@ class AboutController < ApplicationController
@blocks = DomainBlock.with_user_facing_limitations.by_severity if display_blocks?
end
- def terms; end
-
helper_method :display_blocks?
helper_method :display_blocks_rationale?
helper_method :public_fetch_mode?
diff --git a/app/controllers/privacy_controller.rb b/app/controllers/privacy_controller.rb
new file mode 100644
index 00000000000..ced84dbe5e2
--- /dev/null
+++ b/app/controllers/privacy_controller.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+class PrivacyController < ApplicationController
+ layout 'public'
+
+ before_action :set_instance_presenter
+ before_action :set_expires_in
+
+ skip_before_action :require_functional!
+
+ def show; end
+
+ private
+
+ def set_instance_presenter
+ @instance_presenter = InstancePresenter.new
+ end
+
+ def set_expires_in
+ expires_in 0, public: true
+ end
+end
diff --git a/app/javascript/mastodon/features/ui/components/link_footer.js b/app/javascript/mastodon/features/ui/components/link_footer.js
index 8817bb6c166..dd05d03dd93 100644
--- a/app/javascript/mastodon/features/ui/components/link_footer.js
+++ b/app/javascript/mastodon/features/ui/components/link_footer.js
@@ -73,7 +73,7 @@ class LinkFooter extends React.PureComponent {
}
items.push();
- items.push();
+ items.push();
if (signedIn) {
items.push();
diff --git a/app/views/layouts/public.html.haml b/app/views/layouts/public.html.haml
index 83640de1a9d..14f86c97079 100644
--- a/app/views/layouts/public.html.haml
+++ b/app/views/layouts/public.html.haml
@@ -33,8 +33,7 @@
.column-0
%h4= t 'footer.resources'
%ul
- %li= link_to t('about.terms'), terms_path
- %li= link_to t('about.privacy_policy'), terms_path
+ %li= link_to t('about.privacy_policy'), privacy_policy_path
.column-1
%h4= t 'footer.developers'
%ul
@@ -57,6 +56,6 @@
.legal-xs
= link_to "v#{Mastodon::Version.to_s}", Mastodon::Version.source_url
ยท
- = link_to t('about.privacy_policy'), terms_path
+ = link_to t('about.privacy_policy'), privacy_policy_path
= render template: 'layouts/application'
diff --git a/app/views/about/terms.html.haml b/app/views/privacy/show.html.haml
similarity index 100%
rename from app/views/about/terms.html.haml
rename to app/views/privacy/show.html.haml
diff --git a/app/views/settings/deletes/show.html.haml b/app/views/settings/deletes/show.html.haml
index 08792e0afde..ddf0908794e 100644
--- a/app/views/settings/deletes/show.html.haml
+++ b/app/views/settings/deletes/show.html.haml
@@ -16,7 +16,7 @@
%li.positive-hint= t('deletes.warning.email_contact_html', email: Setting.site_contact_email)
%li.positive-hint= t('deletes.warning.username_available')
- %p.hint= t('deletes.warning.more_details_html', terms_path: terms_path)
+ %p.hint= t('deletes.warning.more_details_html', terms_path: privacy_policy_path)
%hr.spacer/
diff --git a/app/views/user_mailer/confirmation_instructions.html.haml b/app/views/user_mailer/confirmation_instructions.html.haml
index 39a83faff83..447e689b407 100644
--- a/app/views/user_mailer/confirmation_instructions.html.haml
+++ b/app/views/user_mailer/confirmation_instructions.html.haml
@@ -77,4 +77,4 @@
%tbody
%tr
%td.column-cell.text-center
- %p= t 'devise.mailer.confirmation_instructions.extra_html', terms_path: about_more_url, policy_path: terms_url
+ %p= t 'devise.mailer.confirmation_instructions.extra_html', terms_path: about_more_url, policy_path: privacy_policy_url
diff --git a/app/views/user_mailer/confirmation_instructions.text.erb b/app/views/user_mailer/confirmation_instructions.text.erb
index aad91cd9d6a..a1b2ba7d2e4 100644
--- a/app/views/user_mailer/confirmation_instructions.text.erb
+++ b/app/views/user_mailer/confirmation_instructions.text.erb
@@ -6,7 +6,7 @@
=> <%= confirmation_url(@resource, confirmation_token: @token, redirect_to_app: @resource.created_by_application ? 'true' : nil) %>
-<%= strip_tags(t('devise.mailer.confirmation_instructions.extra_html', terms_path: about_more_url, policy_path: terms_url)) %>
+<%= strip_tags(t('devise.mailer.confirmation_instructions.extra_html', terms_path: about_more_url, policy_path: privacy_policy_url)) %>
=> <%= about_more_url %>
-=> <%= terms_url %>
+=> <%= privacy_policy_url %>
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 9f047f523a2..dd341e0c891 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -28,7 +28,7 @@ en:
learn_more: Learn more
logged_in_as_html: You are currently logged in as %{username}.
logout_before_registering: You are already logged in.
- privacy_policy: Privacy policy
+ privacy_policy: Privacy Policy
rules: Server rules
rules_html: 'Below is a summary of rules you need to follow if you want to have an account on this server of Mastodon:'
see_whats_happening: See what's happening
@@ -39,7 +39,6 @@ en:
other: posts
status_count_before: Who published
tagline: Decentralized social network
- terms: Terms of service
unavailable_content: Moderated servers
unavailable_content_description:
domain: Server
@@ -797,8 +796,8 @@ en:
desc_html: Displayed in sidebar and meta tags. Describe what Mastodon is and what makes this server special in a single paragraph.
title: Short server description
site_terms:
- desc_html: You can write your own privacy policy, terms of service or other legalese. You can use HTML tags
- title: Custom terms of service
+ desc_html: You can write your own privacy policy. You can use HTML tags
+ title: Custom privacy policy
site_title: Server name
thumbnail:
desc_html: Used for previews via OpenGraph and API. 1200x630px recommended
@@ -1720,7 +1719,7 @@ en:
This document is CC-BY-SA. It was last updated May 26, 2022.
Originally adapted from the Discourse privacy policy.
- title: "%{instance} Terms of Service and Privacy Policy"
+ title: "%{instance} Privacy Policy"
themes:
contrast: Mastodon (High contrast)
default: Mastodon (Dark)
diff --git a/config/routes.rb b/config/routes.rb
index 9491c517770..5d0b3004bbb 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -640,7 +640,9 @@ Rails.application.routes.draw do
get '/about', to: 'about#show'
get '/about/more', to: 'about#more'
- get '/terms', to: 'about#terms'
+
+ get '/privacy-policy', to: 'privacy#show', as: :privacy_policy
+ get '/terms', to: redirect('/privacy-policy')
match '/', via: [:post, :put, :patch, :delete], to: 'application#raise_not_found', format: false
match '*unmatched_route', via: :all, to: 'application#raise_not_found', format: false
diff --git a/spec/controllers/about_controller_spec.rb b/spec/controllers/about_controller_spec.rb
index 03dddd8c134..40e395a647a 100644
--- a/spec/controllers/about_controller_spec.rb
+++ b/spec/controllers/about_controller_spec.rb
@@ -31,16 +31,6 @@ RSpec.describe AboutController, type: :controller do
end
end
- describe 'GET #terms' do
- before do
- get :terms
- end
-
- it 'returns http success' do
- expect(response).to have_http_status(200)
- end
- end
-
describe 'helper_method :new_user' do
it 'returns a new User' do
user = @controller.view_context.new_user