IETF Logo W3C Logo

Author: Joseph Reagle

Audience: LawTech'99, probably lawyers and legal practitioners

Question: What do lawyers and technologists mean when they speak of "agents?"

Description: As the deployment of computer agents that act on behalf of users grow, so do questions regarding the legitimacy and legal standing of computer based agreements. I note the use of the terms "agents" and "proxy" in the technical discipline and argue that a more explicit understanding of these terms is necessary to properly address the convergence of technical and legal issues related to electronic commerce.

References: Agent: I don’t think it means, what you think it means (19990524)

LawTech'99: Agents

Agent: I don’t think it means, what you think it means

Joseph M. Reagle Jr.
<reagle@w3.org>

Fellow Emeritus
Berkman Center for Internet & Society

Research Engineer
IETF/W3C XML Signatures Co-Chair
W3C/LCS/MIT

Agents: Context

Submitted this under the "Focus On New Legal Challenges: computer contracts" in the Call for Participation

This is the sister paper of a two part exposition on what it means to have agent mediated agreement:

  1. the syntactical and semantical representation of agreements in data formats (XML/RDF): Eskimo Snow and Scottish Rain: Legal Considerations of Schema Design.
  2. the role of computer agents in helping us come to agreement: Agent: I don’t think it means, what you think it means.

Agents: Goal

Unfortunately, much of the legal literature on the question of computer agency is preoccupied with concepts of intelligence, consideration, and intention within a computer program; this is because these concepts are found in law. However, these concepts are premature in a technical context -- regardless of hand-waiving about artificial intelligence.

My goal is to provide a simple description of the technical concepts of agency and proxy.

This examinatin also allows me to point out open questions and confusion, best described by a phrase from the movie The Princess Bride, "You keep using that word…I do not think it means, what you think it means." [local]

Gateways, Agents, and Proxies: Definitions

An agent acts on your behalf, a gateway converts between protocols, and a proxy emulates a service provided by a server that is not contacted directly by the client itself.

agent: In the client-server model, the part of the system that performs information preparation and exchange on behalf of a client or server. Especially in the phrase "intelligent agent" it implies some kind of automatic process which can communicate with other agents to perform some collective task on behalf of one or more humans. (1995-04-09)

gateway: 1. protocol converter....

proxy gateway: A computer and associated software which will pass on a request for a URL from a World-Wide Web browser such as Mosaic to an outside server and return the results. This provides clients that are sealed off from the Internet a trusted agent that can access the Internet on their behalf.

Vertical Abstraction: Layering and Services

papernet.gif (1184 bytes) NIC.gif (1304 bytes)

Lateral Abstraction: Proxies and Services

gateway.gif (2161 bytes) proxy.gif (2077 bytes)

Etymology of "Agent" and "Proxy": Periods

The technical use of the term agent can be characterized into three overlapping periods.

Etymology of "Agent" and "Proxy": IETF History

IETF (the Internet Engineering Task Force) creates Internet protocol specifications, particularly those related to TCP/IP protocols.

RFC (Request for Comment) is the designation for  the IETF's specifications/standards.

Etymology of "Agent" and "Proxy": RFC1095

The  terms, agent and proxy, received their fullest treatment in 1989 in RFC1095 (The Common Management Information Services and Protocol over TCP/IP)

There reside application processes called "agents" on managed systems.... Network management occurs when managers and agents conspire (via protocols and a shared conceptual schema) to exchange monitoring and control information useful to the management of a network and its components. [RFC1095]

Proxy is explicitly placed in a legal context.

Proxy is a term that originated in the legal community to indicate an entity empowered to perform actions on behalf of another. In our context, a proxy is a manager empowered to perform actions on behalf of another manager. ... the proxy assumes the agent role with respect to the requesting manager and the manager role with respect to the managed device.  [RFC1095]

Considerations and Questions about Agents and Proxies

  1. Users and Agents
  2. Agent Failures
  3. Agent or Service?
  4. Obligations of Network Proxies

Users and Agents

Consider a technology like P3P that permits users to set or borrow rules about the proposals she will accept from services. If the proposal is accepted by the rules, the service and user have an agreement!

In contrast, the revised UCC 2B draft (now UCITA) primarily concerns itself with permitting services to exercise the necessary formalities to bind users to agreements that the users cannot possible understand.

Instead, P3P captures the semantics of a privacy agreement in a machine readable and understandable data format. The agent can then help the user with information/proposal retrieval, parsing, and processing!

Agent Failures

Put aside complex legal considerations for the moment and ask two simple questions:

Why would users be dissatisfied?

  1. the user doesn't know what they want and are ambiguous in their preference expression,
  2. if the user knows what they want but the preferences are not captured well, or
  3. if the agent operated upon well expressed preferences with poor results. 

What are the possible modes of failure of the agent? Was the computer agreement based on:

  1. direct human involvement?
  2. a preconfigured rule set by the human?
  3. a preconfigured rule set by a trusted authority?

Should computer agreements include information on how involved the human actually was in making the agreement?

An Agent or a Service?

Numerous (and potentially ambigous) types of services out there:

Directory Service
This Web site places a user in a directory so that people can easily find their email address.
Certificate Server
This site collects directory and cryptographic certificate information from users and makes them available to third parties under the users' preferences. This organization could be considered an agent if it only releases information in the context of a privacy proposal, uses this information on behalf of the user under their preferences, and the user has complete control over the information. But what does it mean if they support themselves through Web advertising (banners)?
User Profile Server
This organization collects anonymous, user behavior information over multiple sites and shares it with multiple sites in anonymous form.
Web Privacy Agent
A privacy agent is located on an external Web proxy that allows users to maintain multiple pseudonyms on that proxy under P3P control. The proxy also provides cookie control and anonymity -- since sites cannot track the individual's IP address. This organization could arguably be described as a P3P agent.

Obligations of Network Proxies

For any communication to happen on the Internet, numerous intermediaries must be traversed in order to enable a seemingly "end-to-end" communication.

Web protocols do support the notion of expiration, content can be tagged requesting that proxies not keep information in cache, or that a newer version of the content be fetched at some point in the future.

However, there is no strict obligation for proxies to follow such requests. This can have a significant effect on the ability to form agreements on-line.

Proxies which do not expire old stock quotes, news stories, price lists, privacy proposals, and offers for digital contract can be detrimental to electronic commerce!

Conclusion

Agents act on your behalf and proxies act on someone else's behalf in order to render a service. An understanding of how the words are used in a technical and legal context may permit us to take the next step in asking the right questions.

Those questions will pertain to the responsibilities and roles of the providers of services anywhere within a network:

I believe the answers must focus on the users' ability to comprehend and exert control over agreements and how the failure of an agent is likely to affect the users.