Change:
requests, and is necessary for achieving the unforgeability requirement. <ins> 5.4. Some use-cases of the Privacy Pass protocol benefit from associating a limited amount of metadata with tokens that can be read by the Issuer when a token is redeemed.  Adding metadata to tokens can be used as a vector to segment the anonymity of the protocol Clients. Therefore, it is important that any metadata that is added is heavily limited. Any additional metadata that can be added to redemption tokens should be described in the specific protocol instantiation.  Note that any additional metadata will have to be justified in light of the privacy concerns raised above.  For more details on the impacts associated with segmenting user privacy, see draft-davidson-pp-architecture. Any metadata added to tokens will be considered either "public" or "private".  Public metadata corresponds to unmodifiable bits that a client can read.  Private metadata corresponds to unmodifiable private bits that should be obscured to the client. Note that the instantiation in voprf-protocol provides randomized redemption tokens with no additional metadata for an Issuer with a single key. </ins> 6. In this section, we show how to instantiate the functional API in pp-

Discussion:
Add allowances in protocol doc for redemption metadata Provide privacy analysis of including metadata to architecture doc Update privacy parametrizations cc NAME NAME NAME (I don't know everyone's github usernames, so feel free to add others who will be interested in reviewing).
LGTM
The main protocol document assumes that VOPRF is the main instantiation of PrivacyPass. It also has support for ciphersuites that augment this particular instantiation. It's not clear how we'd "extend" this protocol to support other features, such as public verifiability or the k-bits of metadata. These seem to be separate "modes" or "configurations" of PrivacyPass. (I don't think it makes sense to try and cast the metadata bit variant as a different ciphersuite for the main instantiation.) I propose we add some text describing different configurations. A configuration is an instantiation of the PrivacyPass API with certain properties. A configuration may (should?) also be extensible where applicable, e.g., in the ServerUpdate message or IssuanceRequest/Response messages. Interoperability across configurations would be unsupported, as they have would like have fundamentally different properties. Some initial configurations that come to mind are: PrivacyPass with no metadata bits (VOPRF construction) PrivacyPass with k metadata bits (Google's design) PrivacyPass with public verifiability (blind signatures?) cc NAME
Added some more information about supporting additional metadata in . As discussed elsewhere, I think the way to go here is for extensions to just specify new ciphersuites with associated privacy/security guarantees.
A number of applications expect the Servers to be able to add a small amount of metadata to the Privacy Pass protocol. We should add a discussion on how metadata should be added to tokens, and then describe the subsequent impact that this would have on the client's expected privacy budget. Generally speaking, adding a bit of metadata to tokens is likely to have a very similar impact to introducing an extra Issuer, and so this is something that will have to be covered in the general parametrization guidelines in the architecture document. Specific mechanisms for adding metadata to tokens are yet to be proposed, but may appear as alternative instantiations in the protocol document, or be specified separately as individual extensions.
LGTM. We’ll need to work through the extensibility support for the metadata bit variant next.