Agreements (terms of use)
An Agreement is a pop-up that shows people your terms of use, acceptable-use policy or privacy notice. You can simply show it, or require people to tick a box to accept it before they continue. This page explains how to set one up, how often it is shown, and how to ask everybody to accept again after you change your terms.
What an Agreement is
An Agreement appears as a pop-up window either on the sign-in page (before people sign in) or on the home page (straight after they sign in). It has:
- a title and a formatted body;
- a mode: either notice (read it and continue) or must agree (tick an "I agree" box to continue);
- a frequency that decides how often the same person sees it again;
- a scope: every address, or one particular address.
When a must-agree Agreement is waiting for someone, the page behind it is not sent to their browser at all. The sign-in form or the list of resources only appears once they have agreed. The tick box is checked on the server, so it cannot be skipped by changing the page.
For notices people only need to read, consider an Announcement instead.
The rule to remember: an Agreement is one version
Each Agreement you create is one version of your terms. People accept that Agreement, not "the terms" in general. So:
- Editing an Agreement never asks people again. Fixing a typo or reformatting the body is just an edit.
- To ask everybody to accept again, create a new Agreement with the new text and the same scope. Because it is newer, it replaces the old one, and nobody has accepted it yet.
The Agreements list marks each one Live (being shown), Superseded (a newer Agreement with the same scope has replaced it) or Off (switched off), so you can always see which one people are getting.
Create an Agreement
- Open the list. Go to Appearance → Agreements.
- Add an Agreement. Click the button to add one. The editor opens.
- Name it. Type a name for your own reference, such as "Acceptable use 2026". People do not see it.
- Write the title. This is the heading on the pop-up, such as "Terms of use".
- Write or paste the body. Use the toolbar for headings, bold, lists, quotes and links, or paste from a document such as Word with its headings intact. Tables are kept. Pictures, colours and other styling are removed when you save; the pop-up styles everything consistently. Use the source view if you want to see the markup.
- Choose where it appears. Choose before sign-in (on the sign-in page) or after sign-in (on the home page).
- Choose the mode. Choose notice (a continue button) or must agree (an "I agree" tick box and a continue button that works only once the box is ticked).
- Choose how often. Pick once per user, once per browser, or every visit (see below).
- Choose the address. Leave it set to every address, or enter one hostname (or a wildcard such as
*.acme.com) so it applies only there. - Adjust the button words (optional). Change the wording of the "I agree" label and the continue button if you wish.
- Save. Make sure it is switched on, and save. Open the portal in a private window to see it.
Agreement fields
| Field | What it does | Default |
|---|---|---|
| Name | For administrators only; how the Agreement is listed in the console. | — |
| Title | The heading of the pop-up. Can be written per language. | — |
| Body | The text of your terms, written in the rich editor. Can be written per language. | — |
| Address | Every address, or one hostname or wildcard. | Every address |
| Placement | Before sign-in or after sign-in. | — |
| Mode | Notice (show and continue) or must agree (tick the box to continue). | — |
| Frequency | Once per user, once per browser, or every visit. | — |
| Agree label | The words beside the tick box. Can be written per language. | Standard wording |
| Continue label | The words on the continue button. Can be written per language. | Standard wording |
| Active | Switches the Agreement on or off without deleting it. | — |
How often an Agreement is shown
| Frequency | How it is remembered | When it is shown again |
|---|---|---|
| Once per user | DartRelay records the person's acceptance. | Never, for that person, on any device, until you create a new Agreement. Available only for after-sign-in Agreements, because nobody is known before they sign in. |
| Once per browser | A note kept in the browser for a year. | On a different browser or device, or after the browser's data is cleared. |
| Every visit | A note kept until the browser is closed. | Each time the browser is reopened. |
On shared computers such as thin clients or kiosks, once per browser would be satisfied by the first person who accepts. If each person must accept, use an after-sign-in Agreement with once per user.
Which Agreement a person sees
Only one Agreement is shown at each point (one before sign-in, one after). When several could apply, DartRelay picks:
- one for the exact address over one for a wildcard;
- a longer wildcard over a shorter one;
- a wildcard over one for every address;
- among equally specific Agreements, the newest.
This is what makes "create a new Agreement to ask again" work.
Who has accepted
For once-per-user Agreements, DartRelay keeps a list of acceptances: the account, display name, date and time, and network address. Open the Agreement's acceptances from the Agreements list to see it, and export it as a CSV file for your records.
Deleting an Agreement also deletes its acceptance records, and the confirmation says so. To retire an Agreement but keep the record of who accepted it, switch it off instead.
Writing an Agreement in several languages
When more than one language is switched on, the title, body, agree label and continue label each have a language menu. The first entry, Original, is what anybody whose language has no version of its own sees. Choose a language and write its version; languages not yet written are marked in the menu. A version written for a language you later switch off stops being shown but is kept. See Languages.
Example: new terms of use for one client
A provider shows Acme's staff an acceptable-use policy after sign-in, on acme.apps.example.com, and Acme has updated it.
- The existing Agreement. "Acme AUP 2025": after sign-in, must agree, once per user, address
acme.apps.example.com. Live. - Export the record. Open its acceptances and export the CSV for Acme's files.
- Create the new version. Add "Acme AUP 2026" with the same placement, mode, frequency and address, and paste in the new text.
- Save. The new one is Live and the old one shows Superseded. Every Acme user is asked to accept the 2026 version the next time they sign in; people on other addresses are not affected.
If something goes wrong
People are not asked again after I changed the text
That is by design: editing never re-asks. Create a new Agreement with the same scope.
The Agreement I expect is not shown
Check the list for its status. If it says Superseded, a newer or more specific Agreement covers the same address. If it says Off, switch it on. Also check you closed or accepted it earlier in this browser; try a private window.
Once per user is not offered
The Agreement is set to appear before sign-in. Change it to after sign-in, or choose once per browser or every visit.
Pasted text shows odd formatting or loses colours
The body keeps headings, lists, tables, quotes, emphasis and links, and removes other styling and pictures. This keeps the pop-up readable and safe on the sign-in page.
Related pages
Announcements
Notices that do not need accepting.
Tenancy & Branding
Addresses you can scope an Agreement to.
Languages
Translate the Agreement text.
Signing in and out
What users see when they sign in.
