W3CWD-P3P-19981109/basedata

 

P3P Base Data Set

W3C Working Draft 9-November-1998

 
This Version:
http://www.w3.org/TR/1998/WD-P3P-19981109/basedata
Latest Version: 
http://www.w3.org/TR/WD-P3P/basedata
Previous Version:
Within http://www.w3.org/TR/1998/WD-P3P10-syntax-19980702/
Editor:
Massimo Marchiori, W3C (massimo@w3.org)

Status of This Document

This is a subspecification of the P3P1.0 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 ©  1998 W3C (MIT, INRIA, Keio), All Rights Reserved. W3C liability, trademark, document use and software licensing rules apply.


Index

  1. Required Base Data Elements and Sets
  2. Data Types
  3. Abstract Elements
  4. The Data Schema

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. (An extensive set of system elements is provided in a white paper draft (W3C Member only) and are based on http://www.w3.org/TR/NOTE-agent-attributes.)

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.

 

The ID. data set includes elements used to uniquely identify a user to a single service.

ID. Category Type Short display name
PUID Unique Identifiers Number Pairwise or Site ID
TUID Unique Identifiers Number Temporary or Session ID
HTTP.Referrer Navigation and Click-stream Data URI Where the user were last

TUIDs are used for the purpose of retaining state for a given session. PUIDs are used to retain state over multiple sessions. Neither of these terms imply that users are personally identifiable nor that they are required to share a single unique identifier with multiple sites. Rather, each ID should be unique such that if both Jane's and Adam's user agents create an ID for interaction with the VeryCool.Com site, each of their IDs will be unique at VeryCool.Com .

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.

 

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
Info. User's Home Contact Information
Business. Physical Contact Information,
Online Contact Information, Demographic and  SocioEconomic Data 
Info. User's Business Contact Information
BillTo. Physical Contact Information,
Online Contact Information, Demographic and  SocioEconomic Data
Info. User's Billing Address
ShipTo. Physical Contact Information,
Online Contact Information, Demographic and  SocioEconomic Data
Info. 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

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.

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

 

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

 

The Info. 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.  

Info. 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

 
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

 

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

 

The Online. type is a structured type that specifies telecommunication 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

 
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".
UUID [UUID]
Country [ISO3166]
URI [URI

 

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
HTTP.Log_ Computer Information Boolean Server stores the HTTP Logs
StoreNegotiation_ Interactive Data Boolean Server stores the negotiation history
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 instance, 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.

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