ESP - Ethics search protocol



  • XSD Schema: implementation
  • Software: early planning


  • The imprint format will be factored out as an independent specification, e.g. for the dotBook format ( The goal is to disentangle different ideas in ESP so as not to create unnecessary package deals.
  • First submission to the IETF: no target date yet (supporting organizations or co-authors are welcome)

Project Pages

Personal Ethics Review

The personal ethics review is an independent project for personal ethics but is partly based on the specification of the ESP Project. The goal is to allow more freedom in the description of personal ethics and at the same time allow references to policies that categorize and describe personal ethics as well as the ethical policies desired in entities that use ESP.


Teaching ethics properly in school, while this is wise to do, is of limited use when people in their everyday lives do not get a chance to uphold ethical standards. It is easy to ignore or forget things that cannot be (easily) applied to your daily life. Many religious ethics offer examples for this kind of problem: Demands that are too difficult to apply and while they sound nice they somehow do not apply to your daily life.

Most of us are today surrounded by offers of unknown ethical quality. The verification of production standards is often impossible and where governmental or third party standards exist there is a strong tendency to undermine these standards by discount outlets. One problem is that consumers seldom get the chance to communicate ethical requirements because the proper communication channels do not exist and many producers prefer to measure consumer preferences with a one dimensional scale, the sales.

This project has the goal to offer an open source specification and implementation for that missing communication channel.


An ethics-enabled search engine can act as a complement to the well-known price search engines (a topic I have been working on earlier) and turn ethical considerations into an easily advertisable advantage. A search engine can store imprint and ethics of organizations that publish them and allow users to find organizations adhering to the desired ethics and also to verify these ethics or the public feedback of organizations or individuals that verify those ethics and an organization's adherance to its ethics in detail.

Users of this system can demand ethics and support non-government organization that try to uphold environmental, social or other ethics. Gathering data from user profiles is expected from search engines as users specify the ethics they are looking for and the policy providers, certification agents and verification agents they would like to see.

A search engine must return hits according to the quality of matching ethics, if no other criteria was specified to supercede this.

Unsatisfied users can post tickets in a well-defined format to policy providers or verification agents to remind policy implementors to adhere to the ethics they have published. Policy providers and verification agents can declare a published social contract document as (partially) invalid or revoke (self-) certifications. Users can also annotate policies or social contracts and inform others about their private opinion about the adherence or non-adherence of a policy implementor. Mediators should be used to mediate in case of dispute as legal steps are frowned upon (there is a base policy that disallows legal steps where mediation would be appropriate) and can increase the number of negative annotations.

Policies can extend policy schemes (inherting the structure of an empty policy) or extend another policy that has not been declared final. A final policy is not open to be extended. Extending a policy means that paragraphs can be overridden or appended. The implementation of a policy refers to the use of a policy in a social contract.

In an analogy to the Java language one could refer to policy schemes as interfaces and policies as classes but where Java nomenclatur would be to implement a scheme (instead of extending it), the term "implement" refers to what would be the instantiation of a policy in Java, because a policy implementation is the act of adding a policy to one's social contract. Such an "instance" of a policy is parametrized by a single argument, which is the implementation level. Further parametrization may be added in the future, when the search facilities for policy parameters are sufficiently standardized.

Policies should be structured to describe concisely what is required by a policy, not why it is required or how it is to be implemented. It should be considered good style to add links to external web pages describing the why and how to every paragraph that requires further explanations. Explanations should preferrably come in different degrees of verbosity and sophistication but aim to explain the connection to Kant's Categorical Imperative.


Policy Scheme Provider
A government agency or non-government organization providing a scheme for an ethics policy, that can be used by policy providers to follow a common structure and, possibly, common implementation levels but allows policy providers to place different demands on policy implementors. The structure of the policy scheme can be seen as a catalogue of questions that need to be answered by the policy provider.
Policy Provider
A government agency or non-government organization providing an ethics policy.
Policy Implementor
An organization adhering to a set of policies (a social contract) and advertising the implementation of these policies.
Certification Agent
An organizaton certifying the implementation of a policy. This can be the policy provider itself.
Verification Agent
An organization verifying complaints about failures to implement a policy. This can be the policy provider itself.
Search Engine, Yellow pages or Trade Register
An internet service that allows to search for organizations based on advertised ethics.
Annotation space operator or network
An annotation space is any storage that is accessible to search engines and stores annotations about entities with any type of registry number. One type of annotation can be another web page (B), linking to web page A by a meta tag that contains the URL of page A as its content. As this requires the publisher of the annotation to have a web page and page A to remain the page of the entity in question this is the least recommended type of annotation for social contracts.
The individual in search of ethics.
A mediator agency that acts as a mediator between any two parties that require mediation. Search engines or registries can act as mediators.

Application Scenarios

Regional economy

A regional economy (e.g. a
cooperative) based on a local currency can require certain ethics (for example something like this criteria catalog) to be implemented by all members. The local currency creates a closed, or, at least, more self-sufficient, economy and users of that economy are reminded by daily use of that currency to the ethics of their currency system. This scenario requires only one social contract file for the whole regional economy, as every member aims to implement the same ethics. Users of the currency do not require internet access but should be able to use the ticket system to complain about failures to comply with the ethics of the economy or to make suggestions and participate in democratic decisions of the regional economy.

Environmental or consumer protection interest group

An environmental or consumer protection interest group can publish policies it would like people to adhere to and recommend social contracts it would like to see implemented. To promote the application of its recommendation it can also publish search_profile.xml files or offer a search engine portal that explains the creation and use of proper search profiles. Search engine operators will gather information about ethics which are commonly requested and companies will aim to comply with as many policies as they consider necessary.

Possible examples

Certification policies

Certification organizations can offer their own certifications as policies. An organization, product or service would only meet the requirements of the policy if it was certified by the certification organization. A certification organization can also take the role of a search engine, yellow page service or trade register.

Hypothetical hierarchies of policies could look like this:

Global Ecolabelling Network
GEN Policy Scheme
European Union Eco-label
EU Policy extends GEN Policy Scheme
Blue Angel
Blue Angel extends EU Policy
EU Regulation Scheme
Bio-Siegel extends EU Regulation Scheme
European Vegetarian Label
V-Label extends Bio-Siegel (this relationship is hypothetical)

FLO Fairtrade Labelling Organizations International
FLO Fairtrade Scheme
Transfair Policy extends Fairtrade Scheme
Gepa (Social Contract) implements Transfair Policy
UN Global Compact
UN Global Compact Principles: (Example)
(hypothetical) Regulation Scheme that adds verifications and certifications
Certification Scheme extends UN Global Compact Principles
Company Social Contract
Social Contract implements Certification Scheme

The extension or implementation of widely known policies or schemes will allow more intelligent search and filtering strategies and will increase the visibility of the policy implementor to interested parties.

Base Policy

The following policy is suggested as a basic policy every search engine should demand and every customer should demand. Requiring this basic policy simplifies the life of those who try to verify and uphold more demanding ethics, which should be in your own best interest when you are using this system.


The implementor promises to report truthfully and to refrain from advertising lies. All information given by the implementor should be true to the best knowledge of the implementor.


The implementor promises to attempt mediation before any legal steps are taken in any case that concerns policy implementations or policy annotations. The implementor is generally willing to use mediation in all other cases before legal steps are taken.

Public Opinion

The implementor promises to refrain from legal steps against the authors of public annotations to the implementor's social contract, product descriptions or service descriptions. The implementor may post rectifications as annotations to annotations that are perceived as inaccurate. The implementor promises to refrain from annotating his own social contract, products or services and from requesting such annotations from third parties, except for certifications by independent certification organisations. In the latter case the annotation must contain the notice that the implementor is the applicant.

Employee Annotations

The implementor promises that employees of the implementor may make annotations to the implementor's social contract and report all perceived irregularities without any penalties by the implementor. The implementor may either counter such an annotation with a rectification or demand that the annotation is forwarded to an organisation or organisations that are willing to investigate the matter. The employee may forward the annotation as a ticket to any organization and still suffer no penalties.

Product Information

The implementor promises to release information about all products, product groups and services offered by the implementor in a format that can be publicly annotated, usually XML formatted product descriptions that are accessible as web pages and contain a product key, e.g.: "URN:EAN:(ean number)" or "URN:ISBN:(isbn number)", that can be used to reliably annotate the product.

Terms and Conditions

The implementor makes this policy a part of his terms and conditions. The terms and conditions exhibited on the web page of the implementor will either include the above policy or be an extended policy based on this policy. The terms and conditions will also refer to any further policies implemented by the implementor.

Example Complaint

A complaint about a failure to implement the above policy could, for example, contain a URL for a paragraph:,
the remark "The terms and conditions on the web page fail to refer to this policy".
and a severity rating "serious", because this would be a serious failure to adhere to the policy.

Detailed Usage Scenarios

Writing a social contract

A restaurant wants to publish its standards in a yellow pages entry that can be found with internet search engines and restaurant finders. A search of possible policies results in a vegetarian policy, a green energy policy, a fair trade policy, a regional and seasonal policy, a pay scale policy and a cleaning policy, which are applicable for the restaurant. The registry operator, who is going to publish the entry informs the restaurant that their envisioned contract already exists and instead of writing a new document the operator extends and signs an existing social contract for the restaurant. After publishing the entry the restaurant receives feedback from satisfied customers, criticism and suggestion for further policies. The energy provider of the restaurant is not fulfilling the demands of the policy used by the restaurant, use of solar power on the roof of the restaurant is suggested. An organic farming initiative suggests that they can provide the regional and seasonal foodstuffs better than the market halls. Several groups of environmentalists and social activists recommend to publish data sources, so the adherance to these standards can be verified. The social contract of the restaurant receives a negative evaluation, for as long as the energy policy is advertised but the energy provider is unsuitable. In reaction to these suggestions and the negative, publicly viewable feedback the restaurant changes the energy provider and its bank to companies with advertised ethics. The account used to buy products for the restaurant can now be displayed on a public web page and all products bought are shown in detail and with product numbers, where available. The new energy provider provides a certificate that the restaurant adheres to the given energy policy and itself publishes the required data sources. The energy provider also recommends to publish a heating policy for the building, which only requires minor changes to the isolation. As a result to the changes all negative feedback is withdrawn and the restaurant can be advertised as a high quality restaurant.

Verifying a social contract

Random user wants to build an ecologically friendly house and is looking for a building company that has the experience and can provide the required building materials. She is also looking for a company that can build a heating system with geothermic energy stores and solar collectors on the roof. She searches several yellow pages directories as well as the directory of the chamber of commerce. The directories use different service namespaces to classify services so she has to gather all possible service names beforehand. None of the services she uses certifies the participants, so she has to deal with self-certifications and has to do some verification herself. She finds that two companies offer public views of their bank accounts and balance sheets and also accept visitors to construction sites. Only one company has published a procurement policy that lists all companies it is buying matrials from as a data source and also makes guarantees about the social contracts of these companies. The company also offers insurance for the completion of any building projects. Random decides to verify the last company and quickly scans the list of deliverers, with a single web search she discovers that all companies have adequate social contracts published and little to no complaints pending. All companies are established for a longer time and have published their social contracts some time ago. All these contracts list the first company as a customer. She decides to visit a building site and get to know the people.

Complaining about a policy

A school needs a new computer room and decides to buy second hand systems from a local company selling refurbished systems. The principal knows the company but verifies their social contract anyway and finds it without fault and no serious complaints pending. The computers are delivered quickly but also expose quirks soon. After several attempts to repair the machines the situation has not improved much and the company is trying to sell a repair and maintenance contract. The problem is finally fixed by some pupils on an afternoon. The principal decides that it is her duty to write a complaint about the company and publishes a note describing the incident, rating it as a serious incident. The principal is contacted by the company and asked to withdraw the annotation but refuses to do so. A while later a mediator contacts the principal and explains the circumstances within the company and proposes to change the rating from "serious" to "noteworthy" and to expire the annotation after two years. The principal agrees to this and modifies her annotation accordingly.

Open Questions


There is a
mini-wiki at for discussions about the ESP protocol.

Technical Questions

Application Questions

Internet Draft

This is the draft of a memo that might be submitted to the IETF:

The internet draft is also available as a cross-referenced wiki page.

XML Examples

The examples are no longer in sync with the XSD Schema and are no longer maintained, they only serve as a basic model for the idea.
A compound document of the policies implemented by an organization. This example was modelled after an idea for a regional currency criteria catalog.
A policy document that allows to quickly navigate a well defined policy structure.
An XML format for imprints. (current format, follows the actual XSD Schema, another one can be found at the bottom of this page)
A search profile allowing to search by ethical preferences.
A search reply for the earlier search request.
A ticket format for feed-back to policy providers and policy implementors.

XSD Schemata

esp.xsd (v 1.84 2006/12/17)
An XML XSD Schema that specifies document and data formats for all ESP documents and data structures.

XML Data

regions.xml (v 1.16 2005/07/20)
An XML file with country and region codes. Country codes conform to ISO 3166-1 but region codes do not conform to ISO 3166-2 because ISO 3166-2 is not freely available.
annotation/2005.1 (v 1.3 2005/08/27)
The default namespace for annotation categories.
category/2005.1 (v 1.1 2005/08/27)
The default namespace for categories of namespaces.
community/2005.1 (v 1.3 2005/08/27)
The default namespace for community categories.
document/2005.1 (v 1.4 2005/08/27)
A namespace for information (document) categories.
key_signature/2005.1 (v 1.3 2005/08/27)
The default namespace for key signature categories.
meta/2005.1 (v 1.1 2005/08/27)
A namespace for information (HTML meta tag) categories.
policy_category/2005.1 (v 1.4 2005/08/27)
The default namespace for policy types/categories.
policy_structure/2005.1 (v 1.4 2005/08/27)
The default namespace for policy structure categories.
ticket_type/2005.1 (v 1.3 2005/08/27)
A namespace for ticket types/categories.
ticket_status/2005.1 (v 1.3 2005/08/27)
A namespace for ticket states.

Policy Types (by group)

The following structure has been moved to the default namespace for policy categories, mentioned aboved:
energy, regional, seasonal, recycling, packaging, diet, standardization, cleaning, construction, paper, water, computer, electronics, sustainability, pollution, certification.
fair trade, employment, workplace, education, animal care, animal rights.
animal testing, technological impact assessment, publication.
workers' participation, stock holder co-management, community co-management, public co-management.
consumer protection:
warranty, repair, MTBF, publicity, privacy.
economic transparency, regional economy, globalization.
public service:
non-profit, donation, development aid.
suitable for children, journalism, disclosure agreement, public, inspection.
intellectual property:
open source, patents, deep linking, copyright.
required ethics:
procurement requirements, required ethics of business partners, required ethics of business customers, required ethics of proprietors, required ethics of participations.


Existing namespaces can be found in
this directory. A mechanism for searching available namespaces worldwide will be added later.


PGP signature for this page Imprint (esp)