Version: | 1.0 |
Date: | 2017-4-12 |
Editor: | Michael Schwartz, Gluu |
Authors: | Janusz Ulanowski,, HEAnet |
Judith Bush, OCLC |
This specification describes a method for packaging information about multi-party federations, and establishing mechanisms for its validation. It includes term definitions which appear in the current JSON-LD context for the OTTO 1.0 specification.
This document is a draft technical specification produced by the OTTO Work Group. See the Kantara Initiative Operating Procedures for more information.
Copyright © 2017 Kantara Initiative and the persons identified as the document authors. All rights reserved.
This document is subject to the Kantara IPR Policy - Option Patent & Copyright: Reciprocal Royalty Free with Opt-Out to Reasonable And Non discriminatory (RAND) (HTML version).
The Open Trust Taxonomy for Federation Operators (OTTO) defines standards to enable the interoperable management of multi-party federations--where a central authority creates the rules for membership, enabling the participants to more efficiently collaborate. The goal of OTTO is to support a range of trust models from very low to very high. By providing a common set of API's and a data model, the OTTO standard provides a scalable technical infrastructure to solve organizational challenges in a number of different ecosystems.
OTTO federation metadata is expressed in JSON-LD to take advantage of its features for extensibility, interconnection, and internationalization. This specification defines the terms which appear in the OTTO JSON-LD context.
The OTTO vocabulary defines several data classes used to express the organizations, services and technical components of a multi-party federation. There are three core classes: Federation, Participant, and Entity. Each class is a collection of properties and values, and each defines which are mandatory and optional, as well as the restrictions for the values of properties. If properties are included in OTTO federation JSON that cannot be mapped to the JSON-LD terms defined in the object's @context, they are not considered part of the OTTO metadata's meaning.
Other organizations may publish additional properties beyond those defined here. Extensions allow the community to declare how they are adding information so that it can be understood and other issuers can add the same sore of information in a compatible way.
Extension authors define and host a new JSON-LD context file describing all the terms the extension covers. These context files may further define any JSON-schema that implementations of the extension should pass. If used, each schema is linked from the context and hosted as a seperate JSON-schema files.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
Unless otherwise noted, all protocol properties and values are case sensitive. Fields marked in strong letters are mandatory.
Property | Expected Type | Description |
---|---|---|
@id | IRI | Unique IRI for the Federation |
name | Text | A human friendly name for the Federation |
description | Text | Optional information about the RA |
url | URL | The public, human readible website for the Federation |
operates | Entity or array of Entity | A service operated by the Federation |
metadata | Metadata or array of Metadata | The metadata (including public signing key) for this Federation |
supports | Schema or array of Schema | What schema is supported by this Federation |
registeredBy | RegistrationAuthority | The RA where the federation is hosted |
member | array of Participants | List of organizational members of the Federation |
federates | array of Entity | List of services registered to the federation by Participants |
sponsor | An Organization or array of Organization | The organization legally responsible for management of the Federation |
technicalContact | Person or array of Person | Person(s) responsible for registering and maintaining the policies and technical data related to the organization's participation in the Federation |
adminContact | Person or array of Person | Person responsible for all decisions and delegations of authority for the Federation |
securityContact | Person or array of Person | Person(s) to contact in the event of an urgent security issue |
dataProtectionCodeOfConduct | URL | The provisions regarding handling of personal information by the Federation Participants |
federationAgreement | URL | The rights and responsibilities of the Participant |
federationPolicy | URL | Operational practices and technical details for participation in the Federation. |
trustMarkDefinitionSupported | instance or array of TrustMarkDefinition or URL | What kinds of Trustmarks are supported by the federation |
badgeSupported | instance or array of BadgeClass or IRI | What kinds of Badges are supported by the federation |
Property | Expected Type | Description |
---|---|---|
@id | IRI | Unique IRI for the Participant |
name | Text | A human friendly name for the Participant |
url | URL | The public website for the Participant |
description | Text | Optional information about the Participant |
memberOf | Federation or array of Federation | A federation to which this Participant is a member |
operates | Entity | A service operated by the Participant |
registeredBy | RegistrationAuthority | The RA where the Participant is registered |
technicalContact | Person or array of Person | Person(s) responsible for registering and maintaining the policies and technical data related to the Federation |
executiveContact | Person or array of Person | Person responsible for all decisions and delegations of authority for the Participant |
securityContact | Person or array of Person | Person(s) to contact in the event of an urgent security issue |
privacyStatement | URL | Link to privacy information |
trustMarkAsserted | instance or array of Trustmark or URL | Link to TrustMarks the Participant claims |
badgeSupported | instance or array of BadgeClass or IRI | What Badges the Participant issues |
Property | Expected Type | Description |
---|---|---|
@id | IRI | Unique IRI for the Entity issued by the RA |
name | Text | A human friendly name for the Entity |
operatedBy | Federation or Participant | The organization that is responsible for this Entity |
url | URL | The public, human readible website for the Entity |
description | Text | Optional information about the Entity |
registeredBy | RegistrationAuthority | The RA which registered this entity |
federatedBy | Federation or array of Federation | The federation to which this entity is affiliated |
metadata | Metadata | The metadata for this Entity |
category | Category or array of Category | Used for assignment of standard Category defined in extension |
supports | Schema or array of Schema | What schema is supported by this Entity |
operates | Thing or array of Thing | Technical resource operated by the Entity |
Property | Expected Type | Description |
---|---|---|
@id | IRI | Unique IRI for the Entity |
category | Category | Enables extensions to define standard categories for searching |
metadataFormat | Text | The serialization type of the metadata |
expiration | dateTime | The date at which this metadata is no longer valid |
Property | Expected Type | Description |
---|---|---|
@id | IRI | Unique IRI for the Requirement |
name | Text or IRI | Identifier for this schema item |
category | Category | Extensions defined in extensions like "attribute" or "scope" |
description | Text | Human understandible explanation of this term. |
required | Boolean | Whether this schema element is required |
url | URL | URL with more information about this schema |
supportedBy | instance or array of Federation or Entity | Which federations support this schema |
sameAs | URL or array of URL | Link to another similiar schema class |
The following people made significant text contributions to the specification:
Additional contributors to this specification include the Kantara OTTO Work Group participants, a list of whom can be found at [OttoWgParticipants].
[RFC2119] | Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels”, BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>. |
[OttoWgParticipants] | Schwartz, M., “OTTO Participant Roster”, 2016, <http://kantarainitiative.org/confluence/display/OTTO/Participant+roster>. |
Michael Schwartz
(editor)
Gluu
EMail: mike@gluu.org
Janusz Ulanowski,
HEAnet
EMail: janusz.ulanowski@heanet.ie
Judith Bush
OCLC
EMail: bushj@oclc.org