blob: 501b07a1bd7917fc0b5d293cf73b8ed14199df0e [file] [log] [blame]
Markus Heintz2d864512019-02-07 10:59:091// Copyright 2019 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4//
5// Security Events used for recording security related events.
6
7// If you change or add any fields in this file, update proto_visitors.h and
8// potentially proto_enum_conversions.{h, cc}.
9
10syntax = "proto2";
11
Marc Treibf99ea292019-08-28 11:38:5912option java_multiple_files = true;
13option java_package = "org.chromium.components.sync.protocol";
14
Markus Heintz2d864512019-02-07 10:59:0915option optimize_for = LITE_RUNTIME;
16
17package sync_pb;
18
19// User reused their GAIA password on another website.
20message GaiaPasswordReuse {
21 // Logged when we detect a password re-use event on a non-GAIA site.
22 // If the user hasn’t enabled SafeBrowsing, this will be the last event.
23 message PasswordReuseDetected {
24 message SafeBrowsingStatus {
25 // Is SafeBrowsing enabled?
26 optional bool enabled = 1;
27 // If SafeBrowsing is enabled, is the user opted-in to extended
28 // reporting or Scout?
29 enum ReportingPopulation {
30 REPORTING_POPULATION_UNSPECIFIED = 0;
31 NONE = 1;
32 EXTENDED_REPORTING = 2;
33 SCOUT = 3;
34 }
35 optional ReportingPopulation safe_browsing_reporting_population = 2;
36 }
37 optional SafeBrowsingStatus status = 1;
38 }
39 optional PasswordReuseDetected reuse_detected = 1;
40
41 message PasswordReuseLookup {
42 enum LookupResult {
43 UNSPECIFIED = 0;
44 // URL did match the password reuse whitelist.
45 // No further action required related to this re-use event.
46 WHITELIST_HIT = 1;
47 // The URL exists in the client’s cache.
48 // No further action required related to this re-use event.
49 // This event also logs the ReputationVerdict.
50 CACHE_HIT = 2;
51 // A valid response received from the SafeBrowsing service.
52 // This event also logs the ReputationVerdict.
53 REQUEST_SUCCESS = 3;
54 // Unable to get a valid response from the SafeBrowsing service.
55 REQUEST_FAILURE = 4;
56 // We won't be able to compute reputation for the URL e.g. local IP
57 // address, localhost, not-yet-assigned by ICANN gTLD, etc.
58 URL_UNSUPPORTED = 5;
59 // URL did match enterprise whitelist.
60 // No further action required related to this re-use event.
61 ENTERPRISE_WHITELIST_HIT = 6;
62 // Password reuse lookup is turned off by enterprise policy.
63 // No further action required related to this re-use event.
64 TURNED_OFF_BY_POLICY = 7;
65 }
66 optional LookupResult lookup_result = 1;
67
68 // The following two are only present for CACHE_HIT and REQUEST_SUCCESS.
69 // The verdict received from the Reputation service. This is set only
70 // if the user has SafeBrowsing enabled and we fetch the verdict from the
71 // cache or by sending a verdict request.
72 enum ReputationVerdict {
73 VERDICT_UNSPECIFIED = 0;
74 SAFE = 1;
75 LOW_REPUTATION = 2;
76 PHISHING = 3;
77 }
78 optional ReputationVerdict verdict = 2;
79 // PhishGuard token that identifies the verdict on the server.
80 optional bytes verdict_token = 3;
81 }
82 // Logged when we try to detect whether the password was reused on a
83 // Phishing or a Low-reputation site.
84 optional PasswordReuseLookup reuse_lookup = 2;
85
86 // Logged when the user interacts with the warning UI shown to encourage
87 // password change if the site is Phishing or Low-reputation.
88 message PasswordReuseDialogInteraction {
89 enum InteractionResult {
90 UNSPECIFIED = 0;
91 // The user took the action suggested by the warning prompt.
92 WARNING_ACTION_TAKEN = 1;
93 // The user clicked ignore in the warning prompt.
94 WARNING_ACTION_IGNORED = 2;
95 // The warning UI was ignored, i.e. not interacted with by the user.
96 // This could happen if the user navigates away from the page.
97 WARNING_UI_IGNORED = 3;
98 // The user clicked "Change Password" on chrome://settings page.
99 WARNING_ACTION_TAKEN_ON_SETTINGS = 4;
100 }
101 optional InteractionResult interaction_result = 1;
102 }
103 optional PasswordReuseDialogInteraction dialog_interaction = 3;
104
105 // TODO(markusheintz): Remove
106 // DEPRECATED: DO NOT USE!
107 // Logged when the user logs into Google, and at least once per 28d.
108 message PasswordCaptured {
109 enum EventTrigger {
110 UNSPECIFIED = 0;
111 // Event added because user logged in.
112 USER_LOGGED_IN = 1;
113 // Event added because 28d timer fired.
114 EXPIRED_28D_TIMER = 2;
115 }
116 optional EventTrigger event_trigger = 1;
117 }
Victor Hugo Vianna Silva7de6023f2020-07-23 10:07:30118 optional PasswordCaptured password_captured = 4 [deprecated = true];
Markus Heintz2d864512019-02-07 10:59:09119}