Abstract

This specification defines a standard for creating, negotiating, and managing electronic agreements in a human-centric manner, supporting the social web and Human Centric AI systems. It enables mutually agreed terms between parties, leveraging Semantic Web technologies (RDF, SHACL, JSON-LD) and cryptographic signatures to ensure interoperability, trust, and enforceability. The standard supports value credentials based on human rights instruments (e.g., UDHR, CRC), facilitates personal AI agents in managing relationships and data sharing, and accounts for temporal dynamics such as cooling-off periods and relationship changes.

Status of This Document

This is an unofficial draft produced by the W3C Human Centric AI Community Group. It is a work in progress and does not imply endorsement by the W3C Membership. Feedback is welcome via the GitHub repository or the public mailing list.

Introduction

Online agreements, such as terms of service, are typically imposed as mandates, limiting user agency and negotiation. This specification proposes a W3C Agreements Standard to support mutually agreed terms, enabling natural and legal persons to negotiate electronic contracts that reflect consensual relationships. The standard is designed for the social web, where personal AI agents assist in managing agreements and data sharing, ensuring alignment with human rights principles (e.g., [[UDHR]], [[CRC]]). It incorporates temporal considerations, such as cooling-off periods and evolving relationship dynamics, to adapt access rights and obligations over time.

The standard leverages W3C technologies, including RDF for machine-readable data, SHACL for data validation, and Verifiable Credentials for tamper-proof agreements. It builds on the Solid project ([[W3C-Solid]]) for decentralized data management and incorporates value credentials to encode ethical and legal frameworks, such as UN human rights instruments, into electronic agreements.

Goals

Terminology

Agreement
A shared understanding between parties defining terms and conditions of their interactions, formalized electronically using RDF and cryptographic signatures.
Asserted Agreement
An agreement imposed by one party upon another, e.g., terms of service.
Mutually Agreed Terms
Terms negotiated and consented to by all parties involved in an agreement.
Value Credential
A digital credential encoding ethical or legal principles (e.g., human rights) used to define agreement terms.
Personal AI Agent
Software acting on behalf of a user to manage agreements, data sharing, and interactions based on user-defined terms.
Solid Pod
A personal data store controlled by the user, as defined by the Solid project ([[W3C-Solid]]).
Cooling-Off Period
A defined timeframe during which a party may withdraw from an agreement without penalty.
Temporal Metadata
Data describing the validity, versioning, and historical context of an agreement, enabling dynamic adjustments over time.

Use Cases

The following use cases illustrate the application of the Agreements Standard, including temporal considerations.

Establishing Personal Relationships

Alice wants to connect with Bob online. Using a compatible service, she sends a connection request with proposed terms referencing value credentials based on [[UDHR]] and [[CRC]], including a 7-day cooling-off period. Bob reviews the terms, proposes modifications, and both parties cryptographically sign the final agreement. Their personal AI agents use the agreement to manage data sharing and interactions. Over time, their relationship evolves into a professional partnership, prompting a new agreement with updated terms, but historical shared media remains accessible under the original agreement’s terms.

The following diagram illustrates the negotiation process with a cooling-off period:

sequenceDiagram
  participant Alice
  participant Bob
  participant AliceAI as Alice's AI Agent
  participant BobAI as Bob's AI Agent
  Alice->>AliceAI: Compose connection request with terms
  AliceAI->>BobAI: Send request
  BobAI->>Bob: Notify and present terms
  Bob->>BobAI: Review and propose modifications
  BobAI->>AliceAI: Send modified terms
  AliceAI->>Alice: Notify and present modified terms
  Alice->>AliceAI: Approve terms
  AliceAI->>BobAI: Send signed agreement
  BobAI->>Bob: Notify agreement finalization
  Bob->>BobAI: Sign agreement
  BobAI->>AliceAI: Confirm signed agreement
  Note over Alice,Bob: Cooling-off period (7 days)
  opt Withdrawal
    Alice->>AliceAI: Request withdrawal
    AliceAI->>BobAI: Notify withdrawal
  end
  AliceAI->>Alice: Store in Solid Pod
  BobAI->>Bob: Store in Solid Pod
      

Data Sharing Agreements

A user agrees to share health data with a research institution under terms specifying data usage, security measures, duration, and a 14-day cooling-off period. The agreement is stored in the user’s Solid Pod. During an emergency, temporary terms grant broader access to medical data, reverting to original terms post-emergency. The AI agent enforces compliance with temporal terms.

Guardianship Agreements

A guardian establishes an agreement for a minor, defining access to educational resources with strict supervision. As the minor reaches adulthood, the agreement is updated to grant full autonomy, but historical data (e.g., school records) remains accessible under the original terms. The AI agent adjusts permissions dynamically based on temporal metadata.

Requirements

The Agreements Standard must meet the following functional and non-functional requirements:

Technical Design

The Agreements Standard is built on Semantic Web technologies and integrates with the Solid ecosystem for decentralized data management, with explicit support for temporal dynamics.

Data Model

Agreements are represented as RDF graphs serialized in formats such as JSON-LD, Turtle, or N3. The data model includes:

The following diagram illustrates the updated data model structure:

classDiagram

class Agreement {
  +string id
  +string created
  +string modified
  +string version
}

class Party {
  +string id
  +string type
  +string name
}

class Term {
  +string id
  +string description
  +string validFrom
  +string validUntil
}

class Signature {
  +string id
  +string signer
  +string signatureValue
}

class Constituency {
  +string id
  +string reference
}

class Credential {
  +string id
  +string type
  +string issuer
}

class TemporalMetadata {
  +string coolingOffEnd
  +string validityPeriods
}

class HistoricalAccess {
  +string resource
  +string applicableTerms
  +string accessPeriod
}

Agreement --> Party : hasParty
Agreement --> Term : hasTerm
Agreement --> Signature : hasSignature
Agreement --> Constituency : hasConstituency
Agreement --> TemporalMetadata : hasTemporal
Term --> Credential : references
TemporalMetadata --> HistoricalAccess : hasHistoricalAccess
      

Ontology

An RDF ontology defines classes and properties for agreements, extending existing ontologies (e.g., RDFS, OWL). Key concepts include:

Protocols

The standard defines protocols for:

The following diagram illustrates the interaction between personal AI agents and Solid Pods, including temporal adjustments:

sequenceDiagram
  participant User
  participant AI as Personal AI Agent
  participant Pod as Solid Pod
  participant Service as Compatible Service
  User->>AI: Request agreement creation
  AI->>Pod: Store draft agreement
  AI->>Service: Send agreement proposal
  Service->>AI: Return modified agreement
  AI->>User: Notify modifications
  User->>AI: Approve and sign agreement
  AI->>Pod: Store signed agreement
  AI->>Service: Send signed agreement
  Note over AI,Pod: Cooling-off period active
  AI->>Pod: Query agreement for compliance
  Pod->>AI: Return agreement data
  opt Relationship Change
    User->>AI: Request agreement variation
    AI->>Pod: Store updated agreement
    AI->>Service: Notify variation
    AI->>Pod: Retain historical access rights
  end
  AI->>User: Alert if conflict detected
      

Temporal Dynamics

Agreements evolve over time due to relationship changes, emergencies, or life-stage transitions. The following diagram illustrates how agreements and resource access adapt:

stateDiagram-v2
  [*] --> DraftAgreement
  DraftAgreement --> ActiveAgreement : Sign with cooling-off
  ActiveAgreement --> ActiveAgreement : Cooling-off period expires
  ActiveAgreement --> Terminated : Withdrawal during cooling-off
  ActiveAgreement --> VariedAgreement : Relationship change
  VariedAgreement --> ActiveAgreement : New terms signed
  ActiveAgreement --> Terminated : Agreement termination
  ActiveAgreement --> EmergencyAgreement : Emergency provisions
  EmergencyAgreement --> ActiveAgreement : Emergency resolved
  ActiveAgreement --> GuardianshipAgreement : Guardianship required
  GuardianshipAgreement --> ActiveAgreement : Guardianship ends
  note right of ActiveAgreement
    Historical resources accessible under past terms
  end note
      

Human Rights Integration

The standard supports encoding UN human rights instruments (e.g., [[UDHR]], [[CRC]], [[ITPC]]) as value credentials in RDF. These instruments are adapted to apply to natural and legal persons, replacing references to "states" with "parties" to enable peer-to-peer agreements. Temporal terms ensure compliance with human rights during relationship changes, e.g., prioritizing the best interests of the child ([[CRC]] Article 3) in guardianship agreements.

SHACL shapes and logical rules ensure that agreement terms align with these instruments, promoting human rights compliance.

Implementation Considerations

Implementations should include:

The standard is designed to be extensible, allowing integration with future W3C standards (e.g., CogAI) and legal frameworks.

Privacy and Security Considerations

The standard addresses privacy and security through:

Acknowledgments

This work is inspired by contributions from the W3C Human Centric AI Community Group, the Solid Community Group, and the W3C Credentials Community Group. Special thanks to contributors to the WebCivics repository and UN human rights frameworks.