// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Contains information collected by the RAPPOR (Randomized Aggregatable
// Privacy-Preserving Ordinal Responses) system.
//
// For a full description of the rappor metrics, see
// http://www.chromium.org/developers/design-documents/rappor

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

package rappor;

// Next tag: 3
message RapporReports {
  // Which cohort these reports belong to.  The RAPPOR participants are
  // partioned into cohorts in different ways, to allow better statistics and
  // increased coverage.  In particular, the cohort will serve to choose the
  // hash functions used for Bloom-filter-based reports.  The cohort is
  // generated randomly by the client and is currently in the range [0,512).
  // Was in range [0,32) in chrome versions before M37.
  optional int32 cohort = 1;

  // Each Report contains the values generated by the RAPPOR process for one
  // metric.
  message Report {
    // The name of the metric, hashed (first 8 bytes of MD5 hash).
    optional fixed64 name_hash = 1;

    // The sequence of bits produced by random coin flips in
    // RapporMetric::GetReport().  For a complete description of RAPPOR
    // metrics, refer to the design document at:
    // http://www.chromium.org/developers/design-documents/rappor
    optional bytes bits = 2;
  }
  repeated Report report = 2;
}
