Agreement Builder Capability

Introduction

We have previously introduced the ABA’s Information Sharing Agreement Builder Capability (ABC) here. To summarize again, the ABC enables ISE participants to leverage the Assertion-Based Architecture (ABA) to rapidly develop and execute machine-readable information sharing legal agreements with partner agencies. The ABC includes a suite of software tools and supporting infrastructure to enable authoring and sharing of bilateral and multilateral legal agreements between ISE participants, using the assertion-based trust model of the ABA. We cover the following topics on this page.

Definitions of ABC-Specific Terms

We introduce the following ABC-specific terms to describe various actors and components as part of the ABC concept. Terms are sequenced so that each term is defined prior to being used as part of the definition for other terms.

  • Party – An organization that intends to participate in the development and execution of an agreement.
  • Agreement – A structured document developed by two or more collaborating Parties for the purpose of meeting shared business objectives through legal execution. An Agreement contains the following parts:
    • Preamble and Exposition – Introductory material describing the purpose and spirit of the agreement, as well as the names of the Parties and the Role(s) that each Party will play.
    • Roles and Responsibilities – Well-defined functions to be filled by Parties within the context of the Agreement, and explicit sets of technical requirements for each function. TDs and TIPs define these requirements, and are formally bound into the structure of the Agreement accordingly.
    • Legal Clauses – Legally substantive terms and conditions that pertain to one or more Parties to the Agreement, and supplement the technical requirements of each Party.
    • Signatures – Section of the Agreement in which the Parties indicate their legal acceptance of and consent to the Agreement.
  • User – A person who accesses the ABC on behalf of a Party, for the purpose of developing or legally executing an Agreement. Types of users include the following:
    • Agreement Owner – A User that is capable of performing any type of modification to an Agreement, and granting privileges on the Agreement to other Users, on behalf of a Party to the Agreement. There should be at least one Agreement Owner per Party to any Agreement.
    • Agreement Collaborator – A User that has limited privileges to view or modify parts of an Agreement, but may not grant privileges on the Agreement to other Users.
  • Agreement Template – An abstracted form of an Agreement that specifies Roles, Responsibilities, Legal Clauses, and additional information that can be used to create a new Agreement. An Agreement can be “templatized” into an Agreement Template, and an Agreement Template can be “concretized” into an Agreement.

Primary ABC Use Cases

The following subsections highlight the three primary ABC use cases. For each primary use case, we also highlight the various sub-cases that comprise it.

Use Case #1: Develop and Execute an Agreement

The principal use case of the ABC is to facilitate the development and execution of Agreements between Parties that wish to collaborate. The ABC supports the following capabilities as part of this process.

  1. A User can create a new Agreement by selecting from a library of existing Agreement Templates, and choosing an Agreement Template to concretize. Alternatively, a User can create a new Agreement from scratch, without using an Agreement Template. In either case, the User that creates the Agreement becomes the Agreement Owner.
  2. An Agreement Owner can grant privileges on the Agreement to other Users as appropriate. Each new User becomes either an Agreement Collaborator or an Agreement Owner.
  3. Any User with privileges on an Agreement can view the Agreement at any time, and can also edit the Agreement, subject to a simple locking mechanism that prevents edit race conditions among Users. A User can view the Agreement’s current lock status and request release of the lock from the current lock holder if necessary.
  4. As part of the Agreement editing process:
    1. A User can specify a Preamble and Exposition for the Agreement, either by modifying existing language in an Agreement Template or creating new language from scratch. In defining this section of the Agreement, the User can also identify one or more Parties to the Agreement. Parties can be entered from scratch or through a search of a database of known Parties that have previously participated in Agreements.
    2. A User can search a database of Assertion Definitions (ADs) and Assertion Profiles (APs), populated primarily through a connection to APIs on the Assertion Authoring and Publishing Capability (AAPC), for ADs and APs that can be “plugged into” the Agreement. A User can also assemble a new AP from scratch, or clone and modify an existing AP from the database, as needed.
    3. A User can specify Roles and Responsibilities for the Agreement, either by modifying existing language in an Agreement Template or creating new language from scratch. Within this section of the Agreement, each Role consists of a Role Definition and one or more associated APs. The ABC supports pre-defined categories of ADs and APs, to facilitate selection and population of requirements for each Role. Categories include, but are not limited to, the following.
      • Security
      • Privacy
      • Identity Assurance
      • "Bona Fides"
    4. A User can search a database of Legal Clauses that can be “plugged into” the Agreement. A User can also draft a new Legal Clause from scratch, or clone and modify an existing Legal Clause from the database, as needed. The ABC supports pre-defined categories of Legal Clauses, to facilitate selection and population of Legal Clauses for each Agreement. Categories include, but are not limited to, the following.
      • Conditions for Termination of the Agreement
      • Restrictions on Assignment and/or Modification of the Agreement
      • Severability of Terms or Clauses in the Agreement
      • Stipulations on the Handling of Temporary Waivers Pursuant to the Agreement
      • Warrantees
      • Required Indemnifications and Limitations on Liability
      • Fees Associated with Services or Data
      • Choice of Legal Jurisdiction for the Agreement
      • Statue of Limitations for Legal Actions Pursuant to the Agreement
    5. To minimize the ABC learning curve for Users and minimize the User’s perceived complexity in developing an Agreement, the ABC also includes an “Agreement Builder Wizard” feature that guides the User through a step-by-step process for building various types of basic Agreement. The Wizard feature leverages the pre-defined categories of ADs, APs, and Legal Clauses as appropriate for this purpose.
  5. A User can export an Agreement out of the ABC, either as a PDF document or as a structured XML document, for signing and legal execution among the Parties. Subsequently, a User can re-import an executed version of the Agreement back into the ABC, for the purpose of “registering” and lifecycle-managing the Agreement. The ABC can also support in-app digital signatures of Agreements by Parties, for cases when "digital execution" of an Agreement is desirable.
  6. Throughout the entire sequence of steps from Agreement creation to Agreement execution, the ABC tracks all changes to the Agreement and other actions taken within the system, for auditing purposes.
  7. The ABC implements various usability and convenience features for the benefit of Users. These features include the ability of Users to attach comments on an Agreement (e.g., as in Microsoft Word), receive notification of changes to an Agreement (e.g., via email), etc.

Use Case #2: Templatize an Agreement

After a group of organizations has developed and executed an Agreement, it may want to contribute a templatized version of the Agreement for easy reuse by other groups of organizations that have similar needs. The ABC supports the following capabilities as part of this process.

  1. A User can create an Agreement Template from an Agreement in a structured, automated manner. The basic process of templatizing an Agreement involves removing all identifying data from the Agreement about the Parties. In general, this requires edits to the Agreement’s Preamble and Exposition, as well as removal of any signature information by the Parties.
  2. A User can contribute an Agreement Template for others to use, by saving it and marking it as “public” within the ABC.

Use Case #3: Lifecycle-Manage an Agreement

After a group of organizations has developed and executed an Agreement with the ABC, it may want to continue using the ABC to facilitate the ongoing process of lifecycle management for the Agreement. The ABC supports the following capabilities as part of this process.

  1. The ABC supports basic lifecycle management of Agreements for Agreement Owners, such as publishing, modifying and deleting an Agreement.
  2. An Agreement Owner can choose to make an Agreement “public,” meaning all ABC Users may view or “templatize” it. Or the Agreement can remain “private,” so that only the Users granted permissions on the Agreement can view it.
  3. When appropriate, the ABC can be configured to link specific Parties in an Agreement with service endpoints published pursuant to the Agreement. Through these links, the ABC can track the level of compliance of each Party to the Agreement, by monitoring the set of assertions attached to each service endpoint and computing whether the service endpoint upholds the Roles and Responsibilities called out in the Agreement.
  4. The ABC allows Agreement Owners to setup time-based reminders to review Agreements, such as expiration of the Agreement or modification of the Agreement.

Next: Legal Aspects of the ICIF