blob: 084a3b6a625b1baacfadce50704a028fe87dc132 [file] [log] [blame]
###########################################################################
# 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 100: Ledger ###############################
#####################################################################
# EncodingConfig(1, 100, 1)
#
# DEPRECATED: Please use EncodingConfig (1, 100, 2) instead.
#
# Name: Basic RAPPOR for Rare Event Occurrences
# Description: A Configuration of Basic RAPPOR with no privacy, with string
# category names, and with one category for each rare event.
######################################################################
element {
customer_id: 1
project_id: 100
id: 1
basic_rappor {
prob_0_becomes_1: 0.0
prob_1_stays_1: 1.0
string_categories: {
category: "Ledger-startup"
category: "Commits-received-out-of-order"
category: "Commits-merged"
category: "Merged-commits-merged"
category: "Commits-received-out-of-order-not-recovered"
}
}
}
#####################################################################
# EncodingConfig(1, 100, 2)
# Name: Basic RAPPOR for Rare Event Occurrences
# Description: A Configuration of Basic RAPPOR with no privacy, with 128
# indexed categories.
######################################################################
element {
customer_id: 1
project_id: 100
id: 2
basic_rappor {
prob_0_becomes_1: 0.0
prob_1_stays_1: 1.0
indexed_categories: {
num_categories: 128
}
}
}
##################### Project 101: Module Usage Tracking ######################
#####################################################################
# EncodingConfig(1, 101, 1)
# Name: Forculus with minimal privacy
# Description: We are using Forculus to collect arbitrary strings. We don't
# need privacy at this time so we use a threshold of 2 and
# an aggregation epoch of a month. This means that a string
# will be decoded as long as it as sent by at least two differnt
# devices in any given calendar month. At the time of this writing
# we have not yet implemented persistent device identity so
# every re-start of the Cobalt Client process on a Fuchsia
# system counts as a new device.
######################################################################
element {
customer_id: 1
project_id: 101
id: 1
forculus {
threshold: 2
epoch_type: MONTH
}
}
######################### Project 102: System Metrics ##########################
#####################################################################
# EncodingConfig(1, 102, 1)
# Name: NoOp encoding
# Description: Observations are sent unencoded.
######################################################################
element {
customer_id: 1
project_id: 102
id: 1
no_op_encoding {
}
}
################################################################################
# *** NOTICE: Below this line are testing-only projects. ***
#
# These project must all use project IDs less than 100.
################################################################################
## Project 1: End-to-End test
#### EncodingConfig(1, 1, 1)
element {
customer_id: 1
project_id: 1
id: 1
forculus {
threshold: 20
epoch_type: DAY
}
}
#### EncodingConfig(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
}
}
}
#### EncodingConfig(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"
}
}
}
#### EncodingConfig(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
}
}
}
#### EncodingConfig(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 {
}
}
## Project 2: Fuchsia Test App
#####################################################################
# EncodingConfig(1, 2, 1)
# Name: Basic RAPPOR for Daily Rare Event Counts
# Description: A Configuration of Basic RAPPOR with no privacy, with string
# category names, and with one category for each rare event.
######################################################################
element {
customer_id: 1
project_id: 2
id: 1
basic_rappor {
prob_0_becomes_1: 0.0
prob_1_stays_1: 1.0
string_categories: {
category: "Ledger-startup"
category: "Commits-received-out-of-order"
category: "Commits-merged"
category: "Merged-commits-merged"
}
}
}
#####################################################################
# EncodingConfig(1, 2, 2)
# Name: Forculus with minimal privacy
# Description: We are using Forculus to collect arbitrary strings. We don't
# need privacy at this time so we use a threshold of 2 and
# an aggregation epoch of a month. This means that a string
# will be decoded as long as it as sent by at least two differnt
# devices in any given calendar month. At the time of this writing
# we have not yet implemented persistent device identity so
# every re-start of the Cobalt Client process on a Fuchsia
# system counts as a new device.
######################################################################
element {
customer_id: 1
project_id: 2
id: 2
forculus {
threshold: 2
epoch_type: MONTH
}
}
#####################################################################
# EncodingConfig(1, 2, 3)
# Name: Basic RAPPOR for Rare Event Occurrences
# Description: A Configuration of Basic RAPPOR with no privacy, with 128
# indexed categories.
######################################################################
element {
customer_id: 1
project_id: 2
id: 3
basic_rappor {
prob_0_becomes_1: 0.0
prob_1_stays_1: 1.0
indexed_categories: {
num_categories: 128
}
}
}