Terms and conditions
The terms and condition concept in nevisIDM is used to keep track of terms and conditions accepted by users. The concept has two main elements: Terms and Consents. These elements and their relations are described in the following sections.
Terms and conditions model
There is a many-to-many relationship between applications and terms. An application can have assigned one or several terms, for example, privacy policy, legal terms, and so on. Vice versa, several applications can use the same terms. A consent object is created when terms are accepted by a user. The consent object links the user to the accepted terms. It stores the current version of the terms and the date when the terms are accepted.
Terms object
The terms object stores everything related to terms.
Attribute | Type | Description |
---|---|---|
extId | String(129) | External identifier. |
name | String(255) | The name of the terms. |
termsVersion | String(255) | The version of the terms. |
active | Boolean | Determines whether the terms are active or not. |
silentAcceptance | Boolean | Determines whether the terms are accepted silently or not. If the attribute silentAcceptance is set to "false", a user must explicitly accept new versions of the terms. |
urls | Map | A key-value map storing the URLs of the terms. key: A string denoting the language of the terms. value: A string denoting the URL of the terms resource. The actual terms resource is not persisted by nevisIDM but must be provided from an external content management system. |
applications | Set of applications | The set of applications that are assigned to the terms. |
Consent object
The consent object stores the acceptance of a terms by a user. This includes details such as the point in time the user accepted the terms, or the version of the accepted terms and conditions.
Attribute | Type | Description |
---|---|---|
user | User | The user who gave consent to a specific terms. |
terms | Terms | The terms a user gave consent to. |
termsVersion | String(255) | The version of the terms the user gave consent to. |
acceptanceDate | Date | The date the user gave consent to the terms. |
Administration
You can currently only administer terms and conditions as well as consents over the REST API. The following operations are supported:
- Creating, getting, modifying and deleting terms.
- Assigning an application to a terms/ unassigning an application from a terms.
- Accepting terms for a user, that is, creating a consent.
- getting all active pending terms for a user, that is, all the terms a user has not yet accepted for the current version.
See the separately available REST API documentation for more details:
- Go to Nevis Documentation homepage.
- Download the
api
ZIP file for your nevisIDM version. - Inside the ZIP file, open
core.html
and navigate to the section: Terms REST Service.
Usage
For use cases and configuration, refer to Terms and conditions use cases.