[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


To: ietf-provreg@cafax.se
From: Eric Brunner-Williams in Portland Maine <brunner@nic-naa.net>
Date: Wed, 11 Apr 2001 17:36:12 -0400
Sender: owner-ietf-provreg@cafax.se
Subject: Privacy: policy{access,statement{purpose,recipient,retention},expiry}

Introduction

In this memo I'll cover data collection considerations in detail.

The requirement to meet is: (draft-ietf-provreg-grrp-reqs-01.txt, bis) 

	provide services to identify data collection policies

The 25-word summary is a data collection policy vocabulary is specified
which identifies domain-name registration data collection policies. The
vocabulary is expressed in in ABNF (grammer representation of XML syntax)
and in XSD. The protocol transports these schema as it does any other, to
provide the required service. 

In the following, indentation is used to show relationships.

	Policy
		Access
		Statement
			Purpose
			Recipient
			Retention
		Expiry

There are seven sections that follow:
	policy {access, statement {purpose, recipient, retention}, expiry}

Each resembles the note I sent earlier this week on the ACCESS element, which
appears here again with corrections (thanks Scott), and as I remarked in the
earlier note, there are issues to resolve:

	1. does the set of <pick-an-element> attributes cover the R* problem
	   space discussed in the provreg WG list?

	2. is the XML right?

Motivational discussion can get flushed out in the list, here I'm just getting
the (I think) the functional requirement met, or getting significantly closer
to that goal.

Eric

BEGIN BEGIN BEGIN

X. The POLICY element

The POLICY element is defined as the container for data collection policy
statements.

The POLICY element MUST contain all of the following elements:
	<ACCESS/>	defined subsequent
	<STATEMENT/>	one or more, defined subsequent ("statement-blocks"),
	<EXPIRY/>	defined subsequent

// Policy ABNF (grammer representation of XML syntax)

	policy			=	"<POLICY>" 
					access
					*statement-block
					expiry
					"</POLICY>"

<!--
Policy XSD fragment
-->
   <element name='POLICY'>
      <complexType>
         <sequence>
            <element ref='abc:ACCESS'/>
            <element ref='abc:STATEMENT' minOccurs='0' maxOccurs='unbounded'/>
            <element ref='abc:EXPIRY'/>
         </sequence>
      </complexType>
   </element>

X.1. The ACCESS element

The ACCESS element is defined as the ability of registrant to view
registrant originated data and address questions or concerns to the
registration service provider. Registration service providers MUST
disclose one value for the access attribute. The method of access is
not specified.

The ACCESS element must contain one of the following elements:

	<social/>	access is provided to all social data only
	<technical/>	access is provided to all technical data only
	<all/>		access is provided to all technical and social data
	<noaccess/>	registrant data exists but access is not provided
	<null/>		registrant data is not persistent

// Access ABNF (grammer representation of XML syntax)

	access			=	"<ACCESS>"
					access_disclosure
					"</ACCESS>"

	access_disclosure	=	"<social/>"	| ; socal data only
					"<technical/>"	| ; technical data only
					"<all/>"	| ; all data
					"<noaccess/>"	| ; access not provided
					"<null/>"	| ; data not persistent

<!--
Access XSD fragment
-->
   <element name='ACCESS'>
      <complexType name="access-value">
         <sequence>
            <choice>
               <element name='social' type='abc:access-value'/>
               <element name='technical' type='abc:access-value'/>
               <element name='all' type='abc:access-value'/>
               <element name='noaccess' type='abc:access-value'/>
               <element name='null' type='abc:access-value'/>
            </choice>
         </sequence>
      </complexType>
   </element>

X.2 The STATEMENT element 

The STATEMENT element is defined as a container that groups together PURPOSE
element, RECIPIENT element, RETENTION element, and DATA-GROUP elements.


// Statement ABNF (grammer representation of XML syntax)

	statement-block		= 	"<STATEMENT>"
					purpose
					recipient
					retention
					1*data-group
					"</STATEMENT>"

<!--
Statement XSD fragment
-->

   <element name='STATEMENT'>
      <complexType>
         <sequence>
            <element ref='abc:PURPOSE'/>
            <element ref='abc:RECIPIENT'/>
            <element ref='abc:RETENTION'/>
            <element ref='abc:DATA-GROUP' maxOccurs='unbounded'/>
         </sequence>
      </complexType>
   </element>


X.2.1 The PURPOSE element 

Each STATEMENT element MUST contain a PURPOSE element that contains one
or more purposes of data collection or uses of data.

Registration service providers MUST classify their data practices into one
one or more of the purposes specified below.

The PURPOSE element MUST contain all that apply of the following:

	<dnreg/>	dn name registration (dnso)
	<tmreg/>	tm mark registration (trademark)
	<ipreg/>	ip address registration (aso)
	<contact/>	contacting registrants for marketing purposes
	<other-purpose>	something other than the above

// Access ABNF (grammer representation of XML syntax)

	purpose		=	"<PURPOSE>"
				1*purposevalue
				"</PURPOSE>"

	purposevalue	=	"<dnreg/>"
				"<tmreg/>"
				"<ipreg/>"
				"<contact/>"
				"<other-purpose/>"

<!--
Purpose XSD fragment
-->
   <element name='PURPOSE'>
      <complexType>
         <sequence>
            <choice maxOccurs='unbounded'>
               <element name='dnreg' type='abc:purpose-value'/>
               <element name='tmreg' type='abc:purpose-value'/>
               <element name='ipreg' type='abc:purpose-value'/>
               <element name='contact' type='abc:purpose-value'/>
               <element name='other-purpose'>
                  <complexType mixed='true'>
                     <attribute name='required' use='optional'
                     	type='abc:required-value'/>
                  </complexType>
               </element>
             </choice>
          </sequence>
      </complexType>
   </element>


X.2.2 The RECIPIENT element 

Each STATEMENT element MUST contain a RECIPIENT element that contains one
or more recipients of the collected data.

Registration service providers MUST classify their recipients into one or
more of the recipients specified below.

The RECIPIENT element MUST contain all that apply of the following:

	<ours/>		ourselves and/or our agents and/or us as agents
	<same/>		legal entities following our practices
	<other-recipient/>
			legal entities following unknown practices
	<unrelated/>	unrelated third parties
	<public>	public fora

// Recipient ABNF (grammer representation of XML syntax)

	recipient	=	"<RECIPIENT>"
				1*recipientvalue
				"</RECIPIENT>"

	recipientvalue	=	"<ours/>"
				"<same/>"
				"<other-recipient/>"
				"<unrelated/>"
				"<public/>"

<!--
Recipient XSD fragment
-->
   <element name='RECIPIENT'>
      <complexType>
         <sequence>
            <choice maxOccurs='unbounded'>
               <element name='ours' type='abc:recipient-value'/>
               <element name='same' type='abc:recipient-value'/>
               <element name='other-recipient' type='abc:recipient-value'/>
               <element name='unrelated' type='abc:recipient-value'/>
               <element name='public' type='abc:recipient-value'/>
             </choice>
          </sequence>
      </complexType>
   </element>



X.2.3 The RETENTION element 

Each STATEMENT element MUST contain a RETENTION element that contains one
of the following:

The RETENTION element MUST contain one of the following:

	<no-retention/>		data is not persistent
	<stated-purpose/>	data is persistent (functional requirement)
	<legal-requirement/>	data is persistent (legal requirement)
	<business-practices/>	data is persistent (non-functional requirement)
	<indefinitely>		data is persistent (indefinitely)

// Retention ABNF (grammer representation of XML syntax)

	retention	=	"<RETENTION>"
				1*retentionvalue
				"</RETENTION>"

	recipientvalue	=	"<no-retention/>"
				"<stated-purpose/>"
				"<legal-requirement/>"
				"<business-practices/>"
				"<indefinitely/>"

<!--
Recipient XSD fragment
-->
   <element name='RETENTION'>
      <complexType>
         <sequence>
            <choice maxOccurs='unbounded'>
               <element name='no-retention' type='abc:retention-value'/>
               <element name='stated-purpose' type='abc:retention-value'/>
               <element name='legal-requirement' type='abc:retention-value'/>
               <element name='business-practices' type='abc:retention-value'/>
               <element name='indefinitely' type='abc:retention-value'/>
             </choice>
          </sequence>
      </complexType>
   </element>



X.3 The Expiry element

The EXPIRY element is defined as the temporal scope of a policy. The expiry
is given as either an absolute expiry time, or a relative expiry time.

An absolute expiry time is a dateTime, at which the policy is no longer valid.
The lexical representation for dateTime is the [ISO 8601] extended format
CCYY-MM-DDThh:mm:ssZ, where "CC" represents the century, "YY" the year, "MM"
the month and "DD" the day. The letter "T" is the date/time separator and
"hh", "mm", "ss" represent hour, minute and second respectively. The letter
"Z" indicates Coordinated Universal Time (UTC) (canonical representation for
dateTime).

A relative expiry time gives a duration until the policy is no longer valid.
The lexical representation for duration is the [ISO 8601] extended format
PnYn MnDTnH nMnS, where nY represents the number of years, nM the number of
months, nD the number of days, 'T' is the date/time separator, nH the number
of hours, nM the number of minutes and nS the number of seconds.

// Expiry ABNF (grammer representation of XML syntax)

	expiry		 	=	"<EXPIRY>
					absolute = `date="` dateTime `"`
					relative = `time="` timeDuration `"`
					</EXPIRY>

<!--
Expiry XSD fragment
-->
   <element name='EXPIRY'>
      <complexType>
	 <choice>
	    <attribute name='date' type='dateTime' use='optional'/>
            <attribute name='time' type='timeDuration' use='optional'/>
	 </choice>
      </complexType>
    </element>

END END END

Home | Date list | Subject list