Contract Exchange WG

Contract Exchange WG

What is Contract Exchange WG?

The purpose of this WG is to produce a standard OpenID extension to the OpenID Authentication protocol that enables arbitrary parties to create and exchange a mutually-digitally-signed “contract”. This contract can be both broadband and mobile friendly through appropriate bindings that will be defined for each use case.

List of Specifications

The link below will eventually be to the HTML version of the working copies of the specifications.

  • Contract Exchange Extension of OpenID Connect 1.0.


The easiest way to participate is to join the mailing list at

Please note that while anyone can join the mailing list as a read-only recipient, posting to the mailing list or actively contributing to the specification itself requires the submission of an IPR Agreement. More information is available at Make sure to specify the working group as “Native Applications”.

The working group specification repository is kept at where we keep edit by edit commits. These edits make it into SVN once they are approved by the editors.

Meeting Venue and Schedule

iCal Link:

  • Meetings
    • When: Alternating bi-weekly Tuesday 7am (US Pacific Time)  & Wednesday 4 pm Pacific Daylight Time (3 pm on US winter time)
    • Where:
    • GoToMeeting software is available on Mac, PC, iPhone, and Android Phone.
    • Using VoIP option of GoToMeeting is preferred. If you have to absolutely use plain old telephone some reason, here is the US phone number: +1 (312) 878-3080.
    • Use your microphone and speakers (VoIP) – a headset is recommended. Or, call in using your telephone.
    • Access Code: 736-042-757
    • Audio PIN: Shown after joining the meeting
    • Meeting ID: 736-042-757

Issue Tracking

To submit an issue to each specifications, use the following syntax in the Title.

 <SpecAbbrev> <Section.Number> - <Description>

For example, to submit a comment on section 4.3.2 of Message spec, write the title as

 Core 4.3.2 - This is the title for the issue 

The <SpecAbbrev> values at present are:

  • Core

Working with the repository

The working repository of this WG uses Mercurial for the version control.  The server uses bitbucket.

To work on the repository, you need to do the following:

As a preparation:

  1. Fill in the Contribution Agreement so that you join “Native App Working Group”.
  2. (If you have not already done so, install Mercurial.)
  3. (If you do not already have one, create a Bitbucket userid).
  4. Tell Nat/Mike/John the userid – they will get you write privileges.

Then start working with the repository as:

  1. Clone the repository.  (The command to use is on )
  2. hg pull
  3. (edit a file)
  4. hg commit -m ‘fix #45 – typo’
  5. hg push

Make sure that:

  • You only do one edit per commit.
  • You include the <command> and <issue number> in the commit message.  (See below.)

For more details, see:

Commit Messages

When making a commit, use the following syntax for the commit messages so that the issues are linked to the commit.

<command> <issue id> 

For example,

 Fix #45 - Typo fixed

<command> can be one of the following:

close/closed/closes/closing/fix/fixed/fixes # resolves the issue 
reopen/reopens/reopening # reopens the issue 
addresses/re/references/ref/refs/see # adds a link to the changeset as a comment for the issue 

The <issue id> SHOULD be specified as #45, etc.