
###########################################################################
# This file contains the source of truth for the set of EncodingConfigs
# that are registered in version 0.1 of Cobalt.
#
# This file is maintained by hand. To add a new EncodingConfig or change
# the definition of an EncodingConfig, manually edit this file and
# commit the change to the Cobalt repo.
#
# The format of this file is the textual representation of the
# RegisteredEncodings Protocol Buffer message, which is defined in
# encodings.proto
##########################################################################


#########################
# Customer 1 (Fuchsia)
########################

## Project 1

#### Encoding (1, 1, 1)
element {
  customer_id: 1
  project_id: 1
  id: 1
  forculus {
    threshold: 20
    epoch_type: DAY
  }
}

#### Encoding (1, 1, 2)
element {
  customer_id: 1
  project_id: 1
  id: 2
  basic_rappor {
    prob_0_becomes_1: 0.1
    prob_1_stays_1: 0.9
    int_range_categories: {
      first: 0
      last:  23
    }
  }
}

#### Encoding (1, 1, 3)
element {
  customer_id: 1
  project_id: 1
  id: 3
  basic_rappor {
    prob_0_becomes_1: 0.01
    prob_1_stays_1: 0.99
    string_categories: {
      category: "apple"
      category: "banana"
      category: "cantaloupe"
    }
  }
}

#### Encoding (1, 1, 4)
element {
  customer_id: 1
  project_id: 1
  id: 4
  basic_rappor {
    prob_0_becomes_1: 0.2
    prob_1_stays_1: 0.8
    int_range_categories: {
      first: 0
      last:  10
    }
  }
}

#### Encoding (1, 1, 5)
element {
  customer_id: 1
  project_id: 1
  id: 5
  basic_rappor {
    prob_0_becomes_1: 0.0
    prob_1_stays_1: 1.0
    indexed_categories: {
      num_categories: 100
    }
  }
}

# Encoding (1, 1, 6) is the No-Op encoding.
element {
  customer_id: 1
  project_id: 1
  id: 6
  no_op_encoding {
  }
}

#########################
# Customer 2 (Acme)
########################

## Project 1

#### Encoding (2, 1, 1)
element {
  customer_id: 2
  project_id: 1
  id: 1
  # Note that a candidate set for this RAPPOR encoding is specified
  # in ReportConfig (2, 1, 1)
  rappor {
    num_bloom_bits: 64
    num_hashes: 2
    num_cohorts: 100
    prob_0_becomes_1: 0.2
    prob_1_stays_1: 0.8
  }
}

#### Encoding (2, 1, 2)
element {
  customer_id: 2
  project_id: 1
  id: 2
  forculus {
    threshold: 50
  }
}

