fresnel_service.proto 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. // Copyright 2021 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. syntax = "proto2";
  5. package ash.device_activity;
  6. import "private_membership_rlwe.proto";
  7. option optimize_for = LITE_RUNTIME;
  8. // This proto represents the data transmitted over network
  9. // requests while reporting Device Actives to Fresnel server.
  10. // The possible channels for ChromeOS installations.
  11. // See details in //components/version_info/channel.h
  12. enum Channel {
  13. CHANNEL_UNKNOWN = 0;
  14. CHANNEL_CANARY = 1;
  15. CHANNEL_DEV = 2;
  16. CHANNEL_BETA = 3;
  17. CHANNEL_STABLE = 4;
  18. }
  19. enum MarketSegment {
  20. // Default segment, should not be in this state.
  21. MARKET_SEGMENT_UNSPECIFIED = 0;
  22. // Device is not yet enrolled, owned or have market segment available.
  23. MARKET_SEGMENT_UNKNOWN = 1;
  24. // Device is locally owned as a consumer device.
  25. MARKET_SEGMENT_CONSUMER = 2;
  26. // Device is enterprise enrolled but does not have enterprise market segment.
  27. MARKET_SEGMENT_ENTERPRISE_ENROLLED_BUT_UNKNOWN = 3;
  28. // Device is enterprise enrolled and has enterprise market segment.
  29. MARKET_SEGMENT_ENTERPRISE = 4;
  30. // Device is enterprise enrolled and has education market segment.
  31. MARKET_SEGMENT_EDUCATION = 5;
  32. };
  33. // The Chrome OS device metadata which is sent in PSM import requests.
  34. // Each new field to this message requires privacy approval.
  35. // Next ID: 6
  36. message DeviceMetadata {
  37. // Chrome OS Hardware IDs (HWIDs) are strings that uniquely identify the
  38. // hardware configuration of a Chrome OS device.
  39. // See: go/gvc-g3/logs/chromeos-metrics.md
  40. optional string hardware_id = 1;
  41. // Represent the current release milestone of the ChromeOS device.
  42. // See chrome://version -> Google Chrome:
  43. // i.e. 96.0.4664.55 (Official Build) (x86_64) would set field as "96".
  44. optional string chromeos_version = 2;
  45. // Country code is represented by a 2-letter string (aka ISO 3166-1).
  46. // i.e. US for United States of America, CA for Canada.
  47. optional string country_code = 3;
  48. // Device market segment is one of the northstar breakout dimensions for
  49. // active device counting.
  50. optional MarketSegment market_segment = 4;
  51. // ChromeOS channel is used to determine the breakdown of devices that are
  52. // coming from canary, dev, beta, stable, or unknown channels.
  53. // This can be used with the ChromeOS version in order to determine
  54. // questions like, what percentage of devices are in the M100 stable channel.
  55. optional Channel chromeos_channel = 5;
  56. }
  57. // This proto will represent the data sent to Fresnel used to generate a PSM
  58. // import request on the server side.
  59. // Next ID: 5
  60. message ImportDataRequest {
  61. // The Device active ping window timestamp depending on the RlweUseCase.
  62. // This is the timestamp window of the unencrypted plaintext identifier.
  63. optional string window_identifier = 1;
  64. // Device active metadata sent along with active pings for counting purposes.
  65. optional DeviceMetadata device_metadata = 2;
  66. // The name of the use case associated with the plaintext_id.
  67. optional private_membership.rlwe.RlweUseCase use_case = 3;
  68. // The plaintext identifier.
  69. optional string plaintext_identifier = 4;
  70. }
  71. // The request of PsmRlweOprf sent by the client for checking PSM membership.
  72. // Next ID: 2
  73. message FresnelPsmRlweOprfRequest {
  74. optional private_membership.rlwe.PrivateMembershipRlweOprfRequest
  75. rlwe_oprf_request = 1;
  76. }
  77. // The response of PsmRlweOprf sent by the Fresnel Service for checking
  78. // PSM membership.
  79. // Next ID: 2
  80. message FresnelPsmRlweOprfResponse {
  81. optional private_membership.rlwe.PrivateMembershipRlweOprfResponse
  82. rlwe_oprf_response = 1;
  83. }
  84. // The request of PsmRlweQuery sent by the client for checking PSM membership.
  85. // Next ID: 2
  86. message FresnelPsmRlweQueryRequest {
  87. optional private_membership.rlwe.PrivateMembershipRlweQueryRequest
  88. rlwe_query_request = 1;
  89. }
  90. // The response of PsmRlweQuery sent by the Fresnel Service for checking
  91. // PSM membership.
  92. // Next ID: 2
  93. message FresnelPsmRlweQueryResponse {
  94. optional private_membership.rlwe.PrivateMembershipRlweQueryResponse
  95. rlwe_query_response = 1;
  96. }