/* * Copyright (C) 2016 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ syntax = "proto2"; package perfetto.protos; import "google/protobuf/descriptor.proto"; enum Destination { // Fields or messages annotated with DEST_LOCAL must never be // extracted from the device automatically. They can be accessed // by tools on the developer's workstation or test lab devices. DEST_LOCAL = 0; // Fields or messages annotated with DEST_EXPLICIT can be sent // off the device with an explicit user action. DEST_EXPLICIT = 100; // Fields or messages annotated with DEST_AUTOMATIC can be sent by // automatic means, without per-sending user consent. The user // still must have previously accepted a consent to share this // information. DEST_AUTOMATIC = 200; // This is the default value, which could be overridden by other values. // The reason to pick 255 is it fits into one byte. UNSET fields are treated // as EXPLICIT. DEST_UNSET = 255; // Currently use 0, 100, 200 and 255, values in between are reserved for futures. } message PrivacyFlags { optional Destination dest = 1 [ default = DEST_UNSET ]; // regex to filter pii sensitive info from a string field type. repeated string patterns = 2; } extend google.protobuf.FieldOptions { // Flags used to annotate a field with right privacy level. optional PrivacyFlags privacy = 102672883; } extend google.protobuf.MessageOptions { // Flags used to annotate a message which all its unset primitive fields inhert this tag. optional PrivacyFlags msg_privacy = 102672883; }