syntax = "proto2";
package masked_domain_list;
option optimize_for = LITE_RUNTIME;
// Resource that is used in a 3rd party context.
message Resource {
reserved 2;
enum Experiment {
EXPERIMENT_UNKNOWN = 0;
EXPERIMENT_AFP = 1;
}
optional string domain = 1;
repeated Experiment experiments = 3 [packed = true];
// If true, clients not part of an experiment group will ignore this Resource.
optional bool exclude_default_group = 4;
// Non-zero IDs of experiment groups that include this Resource.
repeated int64 experiment_group_ids = 5;
}
// Contains ownership information about resources that are used in a 3rd party
// context and domains that should treat those resources as 1st party.
message ResourceOwner {
// Required.
optional string owner_name = 1;
// Sites that are all under the same ownership.
// Requests to this owner's resources from pages on these sites will
// not go through the Privacy Proxy.
repeated string owned_properties = 2;
// Resources that are used in a 3rd party context.
repeated Resource owned_resources = 3;
}
// Contains information to create rules based on the Public Suffix List.
message PublicSuffixListRule {
// Privately-owned domain listed on the PSL.
optional string private_domain = 1;
}
message MaskedDomainList {
repeated ResourceOwner resource_owners = 1;
// Public Suffix List rules that modify the MDL.
repeated PublicSuffixListRule public_suffix_list_rules = 2;
}