Contact Information in Metadata

The principal use of contact information in metadata is to enable effective communication between Federation participants, especially when systems fail, when users encounter problems, or when a security incident occurs.

A secondary function is to support user interfaces (UIs) but much of the contact information displayed by an identity provider or service provider (for example on error, discovery, login, or consent pages) is self-owned and therefore known by the presenting site. A notable exception is an identity provider contact suitable for brokering attribute release changes when users encounter failures accessing services because the Requested Attributes are not released to SPs.

There are four types of contacts in Federation metadata:

All are important in different scenarios, and participants are encouraged to provide at least one of each type.


Contact information should be role-based such as help_desk@example.org rather than individual such as janedoe@example.org.

User Scenarios

Here are a number of hypothetical user scenarios that rely on contact information:

Reliable contact information in metadata will enable workflows and scenarios such as those described above.

Technical Details

Here is an example of an appropriate set of <md:ContactPerson> elements in metadata:

<md:ContactPerson contactType="technical"
     xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">
  <md:GivenName>Technical Support Team</md:GivenName>
  <md:EmailAddress>mailto:tech_support@example.org</md:EmailAddress>
</md:ContactPerson>
<md:ContactPerson contactType="administrative"
     xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">
  <md:GivenName>Office of Administrative Support</md:GivenName>
  <md:EmailAddress>mailto:admin_support@example.org</md:EmailAddress>
</md:ContactPerson>
<md:ContactPerson contactType="support"
     xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">
  <md:GivenName>Help Desk</md:GivenName>
  <md:EmailAddress>mailto:help_desk@example.org</md:EmailAddress>
</md:ContactPerson>
 
<!-- there are two types of security contacts in metadata but both serve the same purpose -->
 
<!-- security contact with (legacy) InCommon syntax -->
<md:ContactPerson contactType="other"
     xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
     xmlns:icmd="http://id.incommon.org/metadata"
     icmd:contactType="http://id.incommon.org/metadata/contactType/security">
  <md:GivenName>IT Security Office</md:GivenName>
  <md:EmailAddress>mailto:security@example.org</md:EmailAddress>
</md:ContactPerson>

<!-- security contact with REFEDS syntax -->
<md:ContactPerson contactType="other"
     xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
     xmlns:remd="http://refeds.org/metadata"
     remd:contactType="http://refeds.org/metadata/contactType/security">
  <md:GivenName>IT Security Office</md:GivenName>
  <md:EmailAddress>mailto:security@example.org</md:EmailAddress>
</md:ContactPerson>
  • Each <md:EntityDescriptor> element SHOULD contain at least four contacts, that is, three <md:ContactPerson> elements with XML attributes contactType="support", contactType="technical", and contactType="administrative", plus a fourth <md:ContactPerson> element with XML attribute contactType="other" and an extended XML attribute that indicates the contact is a security contact (see above for example).
    • All entities MUST declare a technical contact (contactType="technical").
    • All entities MUST declare an administrative contact (contactType="administrative").
  • Each <md:ContactPerson> element MUST contain at least one <md:EmailAddress> element.
  • If a contact is a non-person (such as a mailing list), the <md:GivenName> element MAY contain a title or label, and the <md:SurName> element SHOULD be omitted.
  • If a contact is a real person (which is NOT RECOMMENDED), the <md:GivenName> and <md:SurName> elements SHOULD reflect the person's real name.