---
title: Source Code
framework: Private Cloud Compute Security Guide
role: article
role_heading: Article
path: private-cloud-compute/sourcecode
---

# Source Code

Apple publishes source code for a subset of PCC’s security-critical components so researchers can independently verify their security and privacy.

## Overview

Overview The source code in the security-pcc repository includes components of PCC that implement security mechanisms and apply privacy policies. We provide this code under a limited-use license agreement to allow researchers and interested individuals to independently verify PCC’s security and privacy characteristics and functionality. The projects for which source code is available cover a range of PCC areas, including: The CloudAttestation project is responsible for constructing and validating an Apple silicon node’s attestations. The Thimble project includes the privatecloudcomputed daemon that runs on a user’s device and uses CloudAttestation to enforce Verifiable Transparency. The splunkloggingd daemon filters the logs that can be emitted from a PCC node to protect against accidental data disclosure. The libsecureconfig project contains secureconfigd and the SecureConfigDB framework that an Apple silicon node uses to read its secure-config configuration. The srd_tools project contains the Virtual Research Environment tooling, which shows how the VRE runs the PCC code. An Apple silicon node and a Google Cloud node meet the same requirements with different software, so the repository publishes a separate project for each component that differs: The CloudBoard-GoogleCloud project terminates and decrypts each request on a Google Cloud node. The CloudAttestation-GoogleCloud project constructs and validates a Google Cloud node’s attestations across its three hardware roots. The CPAgent project is the control-plane agent that mounts a node’s configuration, reports its health, and refreshes its identity certificates. The swift-google-cloud-configuration project provides the readers that separate a node’s Measured, unmeasured, and dynamic configuration from its unmeasured and dynamic configuration. The cloudassetdownloader-GoogleCloud project is the Google Cloud implementation of Cloud asset distribution. The aea-stream-downloader project streams and decrypts the Apple Encrypted Archives carrying a node’s Startup assets. Other projects serve both platforms: The EventHorizon project provides each platform’s security event monitor: securitymonitorlited on an Apple silicon node, lsecuritymonitorlited on a Google Cloud node. The EnsembleWarden project encrypts the cached conversation state that a multi-turn interaction reuses. Several components that run on a Google Cloud node, and that a researcher uses to verify its attestation, are open source projects maintained by Apple platform partners rather than parts of the security-pcc repository: The host-acos project provides the host environment that launches and isolates a node’s guest virtual machines. The confidential-space project holds Google’s attestation verification and firmware measurement tooling, along with a guide to building the operating systems from source. The key-protection-module project. The go-tpm-tools project.
