# Copyright 2024 The Matrix.org Foundation C.I.C. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. type: object title: m.login.terms params description: Schema for `m.login.terms` entry in the `params` object in a User-Interactive Authentication response. required: ['policies'] properties: policies: type: object description: | A map from "Policy ID" to the current definition of this policy document. The Policy ID is a unique identifier for a given policy document, using the [Opaque Identifier Grammar](/appendices/#opaque-identifiers). additionalProperties: type: object title: Policy Definition required: [version] properties: version: type: string description: | The version of this policy document. This is provided as a convenience for the client, and uses the [Opaque Identifier Grammar](/appendices/#opaque-identifiers). additionalProperties: type: object title: Policy Translation required: [name, url] description: | Map from language codes to details of the document in that language. Language codes SHOULD be formatted as per [Section 2.2 of RFC 5646](https://datatracker.ietf.org/doc/html/rfc5646#section-2.2), though some implementations may use an underscore instead of dash (for example, `en_US` instead of `en-US`). properties: name: type: string description: | The name of this document, in the appropriate language. An arbitrary string with no specified maximum length. url: type: string description: | A link to the text of this document, in the appropriate language. MUST be a valid URI with scheme `https://` or `http://`. Insecure HTTP is discouraged. example: { "policies": { "terms_of_service": { "version": "1.2", "en": { "name": "Terms of Service", "url": "https://example.org/somewhere/terms-1.2-en.html" }, "fr": { "name": "Conditions d'utilisation", "url": "https://example.org/somewhere/terms-1.2-fr.html" } }, "privacy_policy": { "version": "1.2", "en": { "name": "Privacy Policy", "url": "https://example.org/somewhere/privacy-1.2-en.html" }, "fr": { "name": "Politique de confidentialité", "url": "https://example.org/somewhere/privacy-1.2-fr.html" } } } }