Mastodon Instance Custom Terms of Service: How to Publish
🔍 WiseChecker

Mastodon Instance Custom Terms of Service: How to Publish

Mastodon instance administrators often want to display their own legal terms, community guidelines, or privacy policies to users. By default, Mastodon shows generic placeholder text for terms of service and privacy policy pages. This article explains how to replace the default text with custom content using the administration panel. You will learn the exact steps to publish a custom terms of service page, set a privacy policy, and link to external documents.

Key Takeaways: Publishing Custom Terms of Service in Mastodon

  • Administration > Server Settings > Terms of Service: The exact menu path to access the custom terms editor.
  • Markdown formatting supported: Use Markdown syntax for headings, bullet lists, and links inside the terms text box.
  • Privacy Policy URL field: A separate field to link an external privacy document instead of writing one inline.

ADVERTISEMENT

Understanding Mastodon Terms of Service and Privacy Policy Pages

Every Mastodon instance has two legal information pages visible to registered users and visitors: the Terms of Service page and the Privacy Policy page. These pages are located at /terms and /privacy-policy on your instance domain. Mastodon ships with default English text that says something like “Terms of Service of %{instance} — These terms of service are currently being drafted.” This placeholder text is not legally binding and should be replaced before you open your instance to the public.

The custom terms feature is available only to instance administrators with the “Admin: Manage settings” permission. The editor accepts Markdown formatting, which means you can include headings, bold text, numbered lists, bullet points, and hyperlinks. You can also choose to link to an external privacy policy hosted on another domain by entering its URL in the Privacy Policy URL field. When this field is filled, Mastodon will redirect users from the built-in privacy page to that external URL.

Mastodon does not provide a WYSIWYG editor or a preview button. Changes take effect immediately after saving, so you should prepare your text in a separate document before pasting it into the form. The terms of service page and privacy policy page are separate forms in the same settings section.

Prerequisites Before You Begin

You need administrator access to your Mastodon instance. The account you use must have the “Admin” role or a custom role with the “Manage settings” permission. You should have your terms of service and privacy policy written in Markdown format. If you plan to use an external privacy policy, make sure the URL is accessible over HTTPS and does not require authentication.

Steps to Publish Custom Terms of Service in Mastodon

  1. Log in to your Mastodon instance as an administrator
    Use your admin account credentials. If you are on a single-user instance, your account is automatically an admin.
  2. Open the Administration menu
    Click the hamburger menu icon (three horizontal lines) in the upper-right corner of the Mastodon interface. From the dropdown menu, select Administration. If you do not see this option, your account does not have admin privileges.
  3. Navigate to Server Settings
    In the left sidebar of the Administration panel, click Server Settings. This page contains all configurable options for your instance.
  4. Click the Terms of Service tab
    At the top of the Server Settings page, you will see several tabs. Click Terms of Service. This tab contains two text areas: one for the Terms of Service and one for the Privacy Policy. There is also a field for the Privacy Policy URL.
  5. Write or paste your custom Terms of Service text
    In the Terms of Service text box, enter your custom terms using Markdown syntax. For example, use # Heading for a top-level heading and - item for a bullet list. Do not include HTML tags — Mastodon will strip them out.
  6. Write or paste your Privacy Policy text
    In the Privacy Policy text box, enter your privacy policy text. This field is separate from the terms field and also supports Markdown.
  7. Optionally set an external Privacy Policy URL
    If you have a privacy policy hosted on another website, paste the full URL into the Privacy Policy URL field. For example, https://example.com/privacy. When this field is filled, Mastodon will redirect the built-in privacy page to this external URL and ignore the Privacy Policy text box content.
  8. Click the Save Changes button
    Scroll to the bottom of the page and click Save Changes. The page will reload and display a success message. Your custom terms and privacy policy are now live.

After saving, you can verify the changes by visiting https://yourinstance.example/terms and https://yourinstance.example/privacy-policy in a browser. Logged-out visitors and new users will see your custom text immediately.

ADVERTISEMENT

Common Mistakes to Avoid When Publishing Custom Terms

Terms of Service text does not appear after saving

This usually happens when the administrator account does not have the correct permission level. Only accounts with the “Admin” role can edit server settings. If you are using a custom role, verify that the “Manage settings” permission is enabled. Another cause is browser caching — clear your browser cache or open the terms page in an incognito window.

Markdown formatting is not rendering correctly

Mastodon uses a limited Markdown parser for the terms and privacy fields. It supports headings, bold, italic, bullet lists, numbered lists, and links. It does not support tables, images, or embedded videos. If your formatting looks wrong, check for unsupported syntax such as HTML tags or raw HTML entities. Remove any HTML and rewrite the content using only Markdown.

Privacy Policy URL redirect does not work

The external privacy policy URL must be a fully qualified URL starting with https://. Mastodon will not accept http:// URLs for security reasons. Also, the URL must return a valid HTTP 200 response — a broken link or redirect chain will cause the internal privacy page to show a blank page. Test the URL in a browser before adding it to the field.

Changes do not appear for existing users

Custom terms of service and privacy policy pages are public pages. They do not require authentication. Any visitor, including logged-in users, will see the updated content immediately after saving. If an existing user still sees the old text, they may have a cached version of the page. Instruct them to perform a hard refresh by pressing Ctrl+F5 on Windows or Cmd+Shift+R on macOS.

Mastodon Default Terms vs Custom Terms vs External Policy URL

Item Default (Placeholder) Custom (Written Inline) External URL
Location /terms and /privacy-policy /terms and /privacy-policy Redirects from /privacy-policy to external URL
Formatting Plain text with instance name Markdown supported Not applicable
Editing method Not editable Administration > Server Settings > Terms of Service Same location, URL field
Legal validity None — placeholder only You write legally binding text You host the policy externally
Update speed Immediate on save Immediate on save Immediate on save

After publishing your custom terms of service, you should also review the instance description and extended description fields in Server Settings. These fields appear on the public instance landing page and in the instance directory. Keeping all legal and descriptive pages consistent builds trust with new users. If your instance grows, consider adding a link to your custom terms in the instance sidebar using the Site Extensions feature or a custom theme.

ADVERTISEMENT