| /* |
| * 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"; |
| |
| option java_package = "android"; |
| option java_multiple_files = true; |
| |
| import "google/protobuf/descriptor.proto"; |
| |
| package android; |
| |
| // TODO: It's better to track this by semantic types and set policy for those. |
| // Do this for now to bootstrap the tools. |
| 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, and if they are sent |
| // to another device that must be by the user, with a PII warning. (TBD) |
| DEST_LOCAL = 0; |
| |
| // Fields or messages annotated with DEST_EXPLICIT can be sent |
| // off the device with an explicit user action. |
| DEST_EXPLICIT = 1; |
| |
| // 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 = 2; |
| |
| // There is no more permissive option than DEST_AUTOMATIC. |
| } |
| |
| message PrivacyFlags { |
| optional Destination dest = 1 [ |
| default = DEST_EXPLICIT |
| ]; |
| |
| // regex to filter pii sensitive info from a string field type |
| repeated string patterns = 2; |
| } |
| |
| extend google.protobuf.FieldOptions { |
| // Flags for automatically filtering statistics |
| optional PrivacyFlags privacy = 102672883; |
| } |