P3P Base Data Set

W3C Working Draft 7 April 1999

This Version 
Latest Version: 
Previous Version:
Massimo Marchiori, W3C, (massimo@w3.org)


This document, part of the P3P specification, specifies the names of base P3P data elements, sets, and their data types.

Status of This Document

This is a subspecification of the P3P specification for review by W3C members and other interested parties. This document has been produced as part of the P3P Activity, and will eventually be advanced toward W3C Recommendation status. It is inappropriate to use W3C Working Drafts as reference material or to cite them as other than "work in progress." The underlying concepts of the draft are fairly stable and we encourage the development of experimental implementations and prototypes so as to provide feedback on the specification. However, this Working Group will not allow early implementations to affect their ability to make changes to future versions of this document.

This draft document will be considered by W3C and its members according to W3C process. This document is made public for the purpose of receiving comments that inform the W3C membership and staff on issues likely to affect the implementation, acceptance, and adoption of P3P.

Send comments to www-p3p-public-comments@w3.org (archived at http://lists.w3.org/Archives/Public/www-p3p-public-comments/).


Copyright ©  1999 W3C (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.

Table of Contents

  1. Required Base Data Elements and Sets
    1. HTTP Fields
    2. User Data
  2. Data Types
    1. Dates
    2. Names
    3. Telephones
    4. Contact Information
      1. Postal
      2. Telecommunication
      3. Online
    5. Primitive Data Types
  3. Abstract Elements
  4. The Data Schema
  5. Appendix: References

1. Required (Base) Data Elements and Sets

The following are the base data elements and sets. These data elements and sets (as named) may not be modified or deleted by either the service or the user agent. However the user can provide any arbitrary value. For instance the agent may return no value or a value that differs depending on the active persona. We expect that in the future, there will be demand for the creation of other data sets and elements. Obvious applications include catalogue, payment, and agent/system attribute schemas.

Each table below specifies a set, the elements within the set, the category associated with the element, its type, and the display name shown to users. More than one category may be associated with an element. However, we have designed the base categories such that the base elements do no overlap or belong to more than one category when possible. We recommend that data schema designers do the same.

 1.1 HTTP Fields

The HTTP. data set includes elements from the HTTP protocol fields.

HTTP. Category Type Short display name
HTTP.Referrer Navigation and Click-stream Data URI Where the user were last

HTTP.Referrer is used by a service to request the HTTP referrer field. Note that HTTP agents could discontinue sending the Referrer in the HTTP headers, forcing services to specifically ask for it under P3P control. Note, this data element does not control what happens in the HTTP headers.

Note another element in the HTTP. data set is present (namely, HTTP.Log_). Being an abstract element, it is explained in Section 3.

1.2 User Data

The User. data set includes general information about the user. 

User. Category Type Short display name
Name. Physical Contact Information, Demographic and SocioEconomic Data PersonName. User's Name
Bdate. Demographic and  SocioEconomic Data  Date. User's Birth Date
Cert Unique Identifiers Text User's Identity Certificate
Gender  Demographic and SocioEconomic Data Gender User's Gender
Employer Demographic and SocioEconomic Data Text User's Employer
Department Demographic and SocioEconomic Data Text Department or division of organization where user is employed
JobTitle Demographic and SocioEconomic Data Text User's Job Title
Home. Physical Contact Information,
Online Contact Information, Demographic and  SocioEconomic Data
Contact. User's Home Contact Information
Business. Physical Contact Information,
Online Contact Information, Demographic and  SocioEconomic Data 
Contact. User's Business Contact Information
BillTo. Physical Contact Information,
Online Contact Information, Demographic and  SocioEconomic Data
Contact. User's Billing Address
ShipTo. Physical Contact Information,
Online Contact Information, Demographic and  SocioEconomic Data
Contact. User's Shipping Address

Note, that this data set includes elements that are actually sets of data themselves. These sets are defined in the data types subsection of this document. The short display name for an individual element contained within a data set is defined as the concatenation of the short display names that have been defined for the set and the element, separated by commas. For example, the short display name for User.Home.Postal.PostalCode would be "User's Home Contact Information, Postal Address Information, Postal Code". User agent implementations may prefer to develop their own short display names rather than using the concatenated names when prompting users for information.

2. Data Types

2.1 Dates

The Date. type is a structured type that specifies a date.

Date. Category Type Short display name
Year Demographic and SocioEconomic Data Number Year
Month Demographic and SocioEconomic Data Number Month
Day Demographic and SocioEconomic Data Number Day
Hour Demographic and SocioEconomic Data Number Hour
Minute Demographic and SocioEconomic Data Number Minute
Second Demographic and SocioEconomic Data Number Second
FractionSecond Demographic and SocioEconomic Data Number Fraction of Second
TimeZone Demographic and SocioEconomic Data Text Time Zone

 All the fields in the Date. type correspond to those in the most informative profile of the time standard ISO8601.

2.2 Names

The PersonName. type is a structured type that specifies information about the naming of a person.

PersonName. Category Type Short display name
Prefix Demographic and SocioEconomic Data Text Name Prefix
First Physical Contact Information Text  First Name
Last Physical Contact Information Text  Last Name
Middle Physical Contact Information Text  Middle Name
Suffix Demographic and SocioEconomic Data Text Name Suffix
Formatted Physical Contact Information, Demographic and SocioEconomic Data Text Formatted Name
Nickname Demographic and SocioEconomic Data Text Nickname

2.3 Telephones

The PhoneNum. type is a structured type that specifies the characteristics of a phone number.

PhoneNum. Category Type Short display name
IntCode Physical Contact Information Number International Phone Code
LocCode Physical Contact Information Number  Local Phone Area Code
Number Physical Contact Information Number  Phone Number
Ext Physical Contact Information Number Phone Extension
Comment Physical Contact Information Text  Phone Optional Comments

2.4 Contact Information

The Contact. type is a structured, redirected, type to other types. This is done so that requests for data need not collect information they do not need even if they wish to use the abbreviate set notation in a request.  

Contact. Category Type Short display name
Postal. Physical Contact Information, Demographic and SocioEconomic Data Postal. Postal Address Information
Telecom. Physical Contact Information Telecom. Telecommunications Information
Online. Online Contact Information Online. Online Address Information

2.4.1 Postal

The Postal. type is a structured type that specifies a postal mailing address.

Postal. Category Type Short display name
Name. Physical Contact Information, Demographic and SocioEconomic Data PersonName. Name
Street Physical Contact Information Text Street Address
City Physical Contact Information Text City
StateProv Physical Contact Information Text State or Province
PostalCode Demographic and SocioEconomic Data Text Postal Code
CountryCode Demographic and SocioEconomic Data Country Country Code
Country Demographic and SocioEconomic Data Text Country Name
Formatted Demographic and SocioEconomic Data Text Formatted Postal Address

2.4.2 Telecommunication 

The Telecom. type is a structured type that specifies telecommunication information about a person.

Telecom. Category Type Short display name
Phone Physical Contact Information  PhoneNum. Phone Number
Fax Physical Contact Information  PhoneNum. Fax Number
Mobile Physical Contact Information  PhoneNum. Mobile Phone Number
Pager Physical Contact Information  PhoneNum. Pager Number

 2.4.3 Online

The Online. type is a structured type that specifies online information about a person.  

Online. Category Type Short display name
Email Online Contact Information Text Email Address
URI Online Contact Information URI Home Page Address

2.5 Primitive Data Types

This specification uses the following primitive data element datatypes, we reference specifications in keeping with [XML1.0], [HTTP1.1], and [XML-Data] as ordered.

Primitive DataType Definition
Text [UTF-8]
Gender "M" or "F".
Boolean "0" or "1".
Binary Base64 per RFC-1531. [[MIME]]
Number Text composed with the digits "0", "1", "2", "3", "4", "5", "6", "7", "8", "9".
Country [ISO3166]


Abstract Elements

In some cases, there is a need to specify data elements that do not have associated data values (e.g., when a service wishes to declare it keeps HTTP logs) We call such special elements abstract. When abstract elements appear within the same statement as other elements, this asserts that non-enumerated data is collected in addition to the specified elements. Abstract elements are syntactically distinguished by the fact their name ends with an underscore "_".

The abstract elements below allow a service to declare the collection of data by means other than a request for a specific P3P data element and P3P transfer.

  Category Type Short display name
ClickStream.Client_ Navigation and Click-stream Data, * Boolean Click-stream collected on the client
ClickStream.Server_ Navigation and Click-stream Data, * Boolean Click-stream collected on the server
Cookies_ * Boolean Cookies are processed (read/write)
HTTP.Log_ Computer Information Boolean Server stores the HTTP Logs
Form.Data_ * Boolean Data entered through forms
Form.SearchText_ InteractiveData Boolean Search terms

The "*" in the category means multiple categories could apply. For instance, "Navigation and Click-stream Data, *" means that at least the "Navigational Data" category as defined by the Vocabulary applies, but perhaps other categories as well (for example, they use the information to derive a users' food preferences from browsing a Cookbook site.)

These elements are often implicit in navigation or Web interactions. They should be used with categories to describe the type of information collected through these methods. "Form.Data_" references information not enumerated with a specific data element by which are collected by the service, such as through HTML forms or Java(script) interfaces. (Note, this is different from the source attribute which states the way in which the user should be prompted.) "Form.SearchText_" is a specific type of form solicitation used for searching and indexing sites. Consequently, if the only form fields on a search engine page are search fields, it need only disclose that data element.

4. The Data Schema

In the following, we show the data schema corresponding to the P3P base data set.

<PROP xmlns="http://www.w3.org/TR/1999/WD-P3P-19990407/"
<DATA:REF name="Date.Year" type="Number" VOC:category="7" size="6" short="Year" template="1"/>
<DATA:REF name="Date.Month" type="Number" VOC:category="7" size="2" short="Month" template="1"/>
<DATA:REF name="Date.Day" type="Number" VOC:category="7" size="2" short="Day" template="1"/>
<DATA:REF name="Date.Hour" type="Number" VOC:category="7" size="2" short="Hour" template="1"/>
<DATA:REF name="Date.Minute" type="Number" VOC:category="7" size="2" short="Minutes" template="1"/>
<DATA:REF name="Date.Second" type="Number" VOC:category="7" size="2" short="Second" template="1"/>
<DATA:REF name="Date.FractionSecond" type="Number" VOC:category="7" size="6" short="Fraction of Second" template="1"/>
<DATA:REF name="Date.TimeZone" type="Text" VOC:category="7" size="10" short="Time Zone" template="1"/>
<DATA:REF name="PersonName.Prefix" type="Text" VOC:category="7" short="Name Prefix" template="1"/>
<DATA:REF name="PersonName.First" type="Text" VOC:category="0" short="First Name" template="1"/>
<DATA:REF name="PersonName.Last" type="Text" VOC:category="0" short="Last Name" template="1"/>
<DATA:REF name="PersonName.Middle" type="Text" VOC:category="0" short="Middle Name" template="1"/>
<DATA:REF name="PersonName.Suffix" type="Text" VOC:category="7" short="Name Suffix" template="1"/>
<DATA:REF name="PersonName.Formatted" type="Text" VOC:category="0,7" short="Formatted Name" template="1"/>
<DATA:REF name="PersonName.Nickname" type="Text" VOC:category="7" short="Nickname" template="1"/>
<DATA:REF name="PhoneNum.IntCode" type="Number" VOC:category="0" size="11" short="International Phone Code" template="1"/>
<DATA:REF name="PhoneNum.LocCode" type="Number" VOC:category="0" size="11" short="Local Phone Area Code" template="1"/>
<DATA:REF name="PhoneNum.Number" type="Number" VOC:category="0" size="30" short="Phone Number" template="1"/>
<DATA:REF name="PhoneNum.Ext" type="Number" VOC:category="0" size="11" short="Phone Extension" template="1"/>
<DATA:REF name="PhoneNum.Comment" type="Text" VOC:category="0" short="Phone Optional Comments" template="1"/>
<DATA:REF name="Contact.Postal." type="Postal." VOC:category="0,7" short="Postal Address Information" template="1"/>
<DATA:REF name="Contact.Telecom." type="Telecom." VOC:category="0" short="Telecommunications Information" template="1"/>
<DATA:REF name="Contact.Online." type="Online." VOC:category="1" short="Online Address Information" template="1"/>
<DATA:REF name="Postal.Name." type="PersonName." VOC:category="0,7" short="Name" template="1"/>
<DATA:REF name="Postal.Street" type="Text" VOC:category="0" short="Street Address" template="1"/>
<DATA:REF name="Postal.City" type="Text" VOC:category="0" short="City" template="1"/>
<DATA:REF name="Postal.StateProv" type="Text" VOC:category="0" short="State or Province" template="1"/>
<DATA:REF name="Postal.PostalCode" type="Text" VOC:category="7" short="Postal Code" template="1"/>
<DATA:REF name="Postal.Formatted" type="Text" VOC:category="0,7" short="Formatted Postal Address" template="1"/>
<DATA:REF name="Postal.Country" type="Text" VOC:category="7" short="Country Name" template="1"/>
<DATA:REF name="Postal.CountryCode" type="Country" VOC:category="7" size="2" short="Country Code" template="1"/>
<DATA:REF name="Telecom.Phone" type="PhoneNum." VOC:category="0" short="Phone Number" template="1"/>
<DATA:REF name="Telecom.Fax" type="PhoneNum." VOC:category="0" short="Fax Number" template="1"/>
<DATA:REF name="Telecom.Mobile" type="PhoneNum." VOC:category="0" short="Mobile Phone Number" template="1"/>
<DATA:REF name="Telecom.Pager" type="PhoneNum." VOC:category="0" short="Pagerg Number" template="1"/>
<DATA:REF name="Online.Email" type="Text" VOC:category="1 short="Email Address" template="1"/>
<DATA:REF name="Online.URI" type="URI" VOC:category="1" short="Home Page Address" template="1"/>
<DATA:REF name="ClickStream.Client_" type="Boolean" VOC:category="5" short="Click-stream collected on the client"/>
<DATA:REF name="ClickStream.Server_" type="Boolean" VOC:category="5" short="Click-stream collected on the server"/>
<DATA:REF name="Cookies_" type="Boolean" VOC:category="4" short="Cookies are processed (read/write)"/>
<DATA:REF name="HTTP.Log_" type="Boolean" VOC:category="4" short="Server stores the HTTP Logs"/>
<DATA:REF name="StoreNegotiation_" type="Boolean" VOC:category="6" short="Server stores the negotiation history"/>
<DATA:REF name="Form.Data_" type="Boolean" VOC:category="6" short="Data entered through forms"/>
<DATA:REF name="Form.SearchText_" type="Boolean" VOC:category="6" short="Search terms"/>
<DATA:REF name="HTTP.Referrer" type="URI" VOC:category="5" short="Where the user was last"/>
<DATA:REF name="User.Name." type="PersonName." VOC:category="0,7" short="User's Name"/>
<DATA:REF name="User.Bdate." type="Date." VOC:category="7" short="User's Birth Date"/>
<DATA:REF name="User.Cert" type="Text" VOC:category="2" short="User's Identity Certificate"/>
<DATA:REF name="User.Gender" type="Gender" VOC:category="7" short="User's Gender"/>
<DATA:REF name="User.JobTitle" type="Text" VOC:category="7" short="User's Job Title"/>
<DATA:REF name="User.Home." type="Contact." VOC:category="0,1,7" short="User's Home Contact Information"/>
<DATA:REF name="User.Business." type="Contact." VOC:category="0,1,7" short="User's Business Contact Information"/>
<DATA:REF name="User.BillTo." type="Contact." VOC:category="0,1,7" short="User's Billing Address"/>
<DATA:REF name="User.ShipTo." type="Contact." VOC:category="0,1,7" short="User's Shipping Address"/>
<DATA:REF name="User.Employer" type="Text" VOC:category="7" short="Name of User's Employer"/>
<DATA:REF name="User.Department" type="Text" VOC:category="7" short="Department or division of organization where user is employed"/>

5. Appendix: References (Normative).

R. Fielding, J. Gettys, J.C. Mogul, H. Frystyk, T. Berners-Lee, "RFC2068 -- Hypertext Transfer Protocol -- HTTP/1.1," UC Irvine, Digital Equipment Corporation, MIT.
"ISO3166: Codes for The Representation of Names of Countries." International Organization for Standardization.
N. Freed, N. Borenstein. "MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies." November 1996.
M. Marchiori (Ed.). "P3P Syntax Specification." World Wide Web Consortium, Working Draft. 8 Februay 1999.
T. Berners-Lee, R. Fielding, and L. Masinter. "Uniform Resource Identifiers (URI): Generic Syntax and Semantics." 1997. (Work in progress; see updates to RFC1738.)
F. Yergeau. "RFC2279 -- UTF-8, a transformation format of ISO 10646." January 1998.
"vCard - The Electronic Business Card Version 2.1." Internet Mail Consortium, September 18, 1996.
T. Bray, J. Paoli, C. M. Sperberg-McQueen. "Extensible Markup Language (XML) 1.0 Specification." World Wide Web Consortium, Recommendation. 10 February 1998.
A. Layman et al. "XML-Data." World Wide Web Consortium, Note. 05-January-1998.