blob: c542e0f00116675bc639b96cda71ccbe6ccab141 [file] [log] [blame]
syntax = "proto3";
package privacy.ppn;
import "quiche/blind_sign_auth/proto/timestamp.proto";
import "storage/datapol/annotations/proto/semantic_annotations.proto";
option java_multiple_files = true;
option cc_api_version = 2;
option (datapol.file_vetting_status) = "latest";
// Contains fields which will be cryptographically linked to a blinded token and
// visible to client, signer, and verifier. Clients should validate/set fields
// contained within such that the values are reasonable for the security and
// privacy constraints of the application.
message PublicMetadata {
// Contains desired exit IP address's declared location.
message Location {
// TODO(b/268354975): fix copybara regex to strip this line automatically
// All caps ISO 3166-1 alpha-2.
string country = 1;
// City region geo id if requested by the client.
string city_geo_id = 2;
}
Location exit_location = 1;
// Indicates which service this token is associated with.
string service_type = 2;
// When the token and metadata expire.
quiche.protobuf.Timestamp expiration = 3;
}
// Contains PublicMetadata and associated information. Only the public_metadata
// is cryptographically associated with the token.
message PublicMetadataInfo {
PublicMetadata public_metadata = 1;
// Earliest validation version that this public metadata conforms to.
int32 validation_version = 2;
}