# Copyright 2009 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.

# accessKey controls private access to the build server (i.e. to record new
# builds). It's tranmitted in the clear but, given the low value of the target,
# this should be sufficient.
accessKey = "this is not the real key"
